{"repo":"EcsRx/EcsR3","free":true,"listed":false,"github":"https://github.com/EcsRx/EcsR3","clone":"git clone https://github.com/EcsRx/EcsR3.git","description":"Evolution of EcsRx using R3 rather than Rx","language":"C#","stars":26,"topics":["csharp","design-patterns","ecs","ecsrx","game-development","godot","monogame","r3","unity3d"],"license":"MIT","category":"game-templates","readme_excerpt":"EcsR3 EcsR3 is a reactive take on the common ECS pattern with a well separated design using R3 and adhering to IoC and other sensible design patterns. [![Build Status][build-status-image]][build-status-url] [![Code Quality Status][codacy-image]][codacy-url] [![License][license-image]][license-url] [![Nuget Version][nuget-image]][nuget-url] [![Join Discord Chat][discord-image]][discord-url] [![Documentation][gitbook-image]][gitbook-url] This is basically EcsRx but natively using R3 rather than Rx Features - Simple ECS interfaces and implementations to use/extend - Fully reactive architecture - Favours composition over inheritance - Adheres to inversion of control - Lightweight codebase - Built in support for events (raise your own and react to them) - Built in Dependency Injection abstraction layer - Built in support for plugins (wrap up your own components/systems/events and share them with others) Quick Start It is advised to look at the setup docs, this covers the 2 avenues to setup the application using it without the helper libraries, or with the helper libraries which offer you dependency injection and other benefits. If you haven't used an ECS system before there are 3 main parts: - Entity - Has components applied to them and acts as a handle to access them - Components - Stores actual state/data and is used in driving logic in Systems - Systems - Runs logic against entities and their components Its also worth noting we have the notion of Groups which are a contractual ","default_branch":null,"files":null,"tree":[],"storefront":"/r/EcsRx","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/EcsRx/EcsR3/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}