artemis_CSharp
artemis_CSharp copied to clipboard
Adds visual debugging functionality identical to Entitas
Early version of ArtemisUnity visual debugging.
does not modify or tamper with original artemis code (nor is any code added to foundation; this is a unity editor layer for Artemis Unity), uses systems to manage visual debugging.
At the moment you can display entities and their components, delete an entity from inspector and remove components from inspector as well as edit component properties (supports fields but not yet included in search)
Features example:
Wow, this is very cool! Can you share your experience replacing the standard Unity component system with Artemis?
I came across Entitas by Wooga a while back when i wanted to organise my code better and make it more modular but i didn't like the code generation feature. Artemis is awesome but didn't have any visual debugging features like Entitas did; so I thought i'd bridge the gap. some of the design such as the type drawer was inspired by Entitas. https://github.com/sschmid/Entitas-CSharp
One of the things i didn't want to do was modify or have to change any of the original artemis code but just provide an editor layer using Systems (which are automatically added to layer 0 through attributes) and the framework itself. i really value code reuse; took about two weeks to study both entitas and artemis.
I currently have the following features which i plan to implement into Artemis Visual Debugging for unity
- be able to delete multiple entities [COMPLETE]
- be able to reset components to their original state when they were first added (or when they were deemed 'ready') [COMPLETE]
- be able to bulk add components to selected entities (using a query which matches values in component properties - optional) and bulk delete them[COMPLETE]
- be able to add components to entities from component pool
- be able to add components to entities and search for components in entities[COMPLETE]
- be able to add entities from entity templates
- being able to add multiple entities using a window with search feature (checkbox for multi select)
- being able to add multiple systems using a window with search feature (checkbox for multi select)
- be able to edit exposed systems settings, remove systems and activate/deactivate them
- add entity link class which can be added to prefabs and view gameobjects so that when one is created an artemis entity will be created as well with all the components specified in the entity link along with the view (using an optional entity template as serialized object). This makes the artemis unity workflow completely invisible and allows unity to be used as you'd normally use it... like artemis was never there.
- add entity template serialized object
Looks awesome! Thanks for contributing.
Updates:
Latest feature (adding components & more type drawers & component search)
Added 'x' reset to default value button In case you just want to reset a specific property/field to its default value (reinitialize value - uses default())
Add multiple components to more than one entity at once