artemis_CSharp icon indicating copy to clipboard operation
artemis_CSharp copied to clipboard

Adds visual debugging functionality identical to Entitas

Open T2RKUS opened this issue 8 years ago • 9 comments

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)

T2RKUS avatar May 06 '16 15:05 T2RKUS

Features example: screen shot 2016-05-06 at 17 05 00 screen shot 2016-05-06 at 17 05 04 screen shot 2016-05-06 at 17 05 13

ghost avatar May 06 '16 16:05 ghost

Wow, this is very cool! Can you share your experience replacing the standard Unity component system with Artemis?

thelinuxlich avatar May 06 '16 16:05 thelinuxlich

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.

ghost avatar May 06 '16 16:05 ghost

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

ghost avatar May 06 '16 23:05 ghost

Looks awesome! Thanks for contributing.

KellanHiggins avatar May 07 '16 06:05 KellanHiggins

Updates: screen shot 2016-05-07 at 18 26 15 screen shot 2016-05-07 at 18 26 25 screen shot 2016-05-07 at 18 26 30

ghost avatar May 07 '16 17:05 ghost

Latest feature (adding components & more type drawers & component search) screen shot 2016-05-09 at 18 53 08 screen shot 2016-05-09 at 18 53 11 screen shot 2016-05-09 at 18 53 17 screen shot 2016-05-09 at 18 57 24 screen shot 2016-05-09 at 19 00 30

ghost avatar May 09 '16 17:05 ghost

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()) screen shot 2016-05-09 at 19 44 47

ghost avatar May 09 '16 18:05 ghost

Add multiple components to more than one entity at once screen shot 2016-05-09 at 21 25 50

ghost avatar May 09 '16 20:05 ghost