Post by Admin on Jul 16, 2016 4:32:24 GMT
Andreas Wilcox @svdvorak Oct 10 2015 01:22
Excellent work on updating Entitas, I've been lurking in here but there's been a lot of great info. I have two things I've had in my mind recently though:
It would be nice to see what systems are using an entity in the editor; as my system count has started growing I've found it harder to know exactly what systems are operating on an entity during runtime (would be most useful when systems are colliding). I implemented a basic thing for the EntityEditor that goes through all Reactive Systems and filters out those that use the components in the entity. This does not include ISetPool-systems and direct Observer usage though, I'm finding that this would be hard to implement without doing quite a bit of redesign. How have you handled keeping track of how entities are used by systems in your larger projects?
What's the best way to handle external systems? For example, I'm using Unity physics and now I have to read physics values at frame start and then update at frame end; it's giving me some trouble with a few systems as well. I guess it just comes down to the problem with order of systems as usual in ECS.
Simon Schmid @sschmid Oct 10 2015 05:37
@svdvorak
I think @mzaks has some ideas or even plans to visualize the usage of components. We were talking about doing that with a xamarin extension.
My personal rule of thumb for external logic is: have a system that reads the results of that logic and syncs it back to Entitas. In case of physics, I'd probably have a systems that executes OnFixedUpdate and reads the desired values from the gameObjects and MonoBehaviours and updates entities and components.
Maxim Zaks @mzaks Oct 10 2015 21:57
Hi @svdvorak ,
I had some plans to do some visualisation tools for Entitas using Xamarin internal Parser. I made some progress with it but at some point I become to busy and now I switch to Visual Studio Code which has Reference Information feature (https://code.visualstudio.com/Docs/editor/editingevolved)
It's not the best way to understand the code dependencies of systems but it is a start. I just go to GeneratedExtension of the component I am interested in and check which system it is referenced from.
Visual Studio Code uses OmniSharp internally so I will stop all my efforts based on Xamarin and look into OmniSharp and Roslin.
If you are interested I can open source the stuff that I started on in Xamarin Studio. Or I can describe what I am planning in depth and maybe someone here might want to get involved.
Excellent work on updating Entitas, I've been lurking in here but there's been a lot of great info. I have two things I've had in my mind recently though:
It would be nice to see what systems are using an entity in the editor; as my system count has started growing I've found it harder to know exactly what systems are operating on an entity during runtime (would be most useful when systems are colliding). I implemented a basic thing for the EntityEditor that goes through all Reactive Systems and filters out those that use the components in the entity. This does not include ISetPool-systems and direct Observer usage though, I'm finding that this would be hard to implement without doing quite a bit of redesign. How have you handled keeping track of how entities are used by systems in your larger projects?
What's the best way to handle external systems? For example, I'm using Unity physics and now I have to read physics values at frame start and then update at frame end; it's giving me some trouble with a few systems as well. I guess it just comes down to the problem with order of systems as usual in ECS.
Simon Schmid @sschmid Oct 10 2015 05:37
@svdvorak
I think @mzaks has some ideas or even plans to visualize the usage of components. We were talking about doing that with a xamarin extension.
My personal rule of thumb for external logic is: have a system that reads the results of that logic and syncs it back to Entitas. In case of physics, I'd probably have a systems that executes OnFixedUpdate and reads the desired values from the gameObjects and MonoBehaviours and updates entities and components.
Maxim Zaks @mzaks Oct 10 2015 21:57
Hi @svdvorak ,
I had some plans to do some visualisation tools for Entitas using Xamarin internal Parser. I made some progress with it but at some point I become to busy and now I switch to Visual Studio Code which has Reference Information feature (https://code.visualstudio.com/Docs/editor/editingevolved)
It's not the best way to understand the code dependencies of systems but it is a start. I just go to GeneratedExtension of the component I am interested in and check which system it is referenced from.
Visual Studio Code uses OmniSharp internally so I will stop all my efforts based on Xamarin and look into OmniSharp and Roslin.
If you are interested I can open source the stuff that I started on in Xamarin Studio. Or I can describe what I am planning in depth and maybe someone here might want to get involved.