{"repo":"AlexWargon/EZS","free":true,"listed":false,"github":"https://github.com/AlexWargon/EZS","clone":"git clone https://github.com/AlexWargon/EZS.git","description":"C# Entity Component System Framework","language":"C#","stars":36,"topics":["ecs","entity-component-system","unity"],"license":"MIT","category":"game-templates","readme_excerpt":"EZS C# Entity Component System (ECS) based on struct components Inspired by Entities How install: Just copy source folder in assets folder of your game How it works: Init World and Systems Call update of systems in your update loop Work with entities Components: Components are just struct or class with public fields\\ (better use structs, most likely in the future framework will support only structs) Examples: Systems : 1. Update systems 2. Init systems 3. Destroy systems System Loops: Each, Jobs, Without: 1. entities.Each((..........)= {....}); 2. Jobs 3. You can filter entities not only by including components, but also by excluding 4. WithOwner How systems filter entities: Each entity has its own archetype. As many components as an entity has, there are as many components in an archetype. When we add/remove component form entity or change it's owner, the entity changes its archetype and marking as dirty. After execution of system it will be placed in matching queries, and removed from that are not matching. Unity Integration: Entity Wrapper Systems Example project Turn Base Game","default_branch":null,"files":null,"tree":[],"storefront":"/r/AlexWargon","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/AlexWargon/EZS/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."}