-
-
Notifications
You must be signed in to change notification settings - Fork 4
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
[Feature] Better systems managing #31
base: master
Are you sure you want to change the base?
Conversation
Oh wow! Nice work! I'm still kind of going through it. but just from my first pass I do have a few concerns.
The way I was thinking of going with this is somewhat similar to how Bevy does it. Of course some of Go's language "quirks" make this more difficult:
Obviously my idea has a lot of problems based on the current code base:
One thing to keep in mind also is that the amount of time it takes to do all of this preparation work doesn't matter, because It's only going to happen at app launch time, so we would want to precalculate and pre-cache as many queries as we can. All that said, great work on this. It looks like a great start. This is obviously a very challenging problem to solve. |
Implemented:
Added Example with collision detection (multiple systems with ordering running in parallel). Here is screenshot from example:
![result](https://private-user-images.githubusercontent.com/34212339/277853569-4cd70a95-4e72-4828-b98b-7350848ffc5e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTM3MTIsIm5iZiI6MTczOTU5MzQxMiwicGF0aCI6Ii8zNDIxMjMzOS8yNzc4NTM1NjktNGNkNzBhOTUtNGU3Mi00ODI4LWI5OGItNzM1MDg0OGZmYzVlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0MjMzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWExOTIxNWRjOWYyNDQ2YWM4YWJmY2NkZGJlMDMyOTZkNDk5MGM5NDU5MjBiMmQ1OGIzNDFlMTE5YjY4YmE2OTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.TYSORZnFXowfmrldbdPmoTlXaQDpCHT08KhCrcX_99w)
If you don't like this approach, please let me know.