-
-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes and improvements #183
base: master
Are you sure you want to change the base?
Conversation
…S'es) IDE support should still work for them on solution open as ActiveCfg entries were not removed
Except for threading, for performance reasons
Oh and, those changes are actually tested by me and my colleagues for some time, the reason commits marked as new is because i did a bit of clean up today before making this PR and basically rewritten commit history in my fork. |
I have no great desire to rewrite all my systems classes constructors to manually define false useBuffer parameter. Wiki clearly states rules how to work with entities within basic system ancestors Update method. See no reason to use worse performance case as default behavior. If I need safe context, then I set useBuffer manually. But that's my personal opinion. |
The thing with no |
Debugging ECS is really painful, totally agree on this. But buffering systems updates isn't only thing that matters. We're developed a bunch of instruments for debugging, and each time we're forced to think out something new(eg. last time I wrote wrapper for ReanOnlySpan which I return from EntitySet::GetEntities() and which tracks changes made to EntitySet while ReadOnlySpan is enumerated - that solves all my problems with incorrect Updates within my systems). |
@Doraku So, any response? |
On the debug stuff, I'll probably opt for a debug package or the nuget containing both release and debug dll and reference one or the other based on the configuration 🤔 I like the idea of better error reporting during development. On the buffer default, I think it should be possible to keep it to false while still checking for incorrect usage in debug with extra code executing in the system so people are clearly notified of what they did wrong instead of just guessing like currently. |
Basically what i already described in #178 plus readme update.