Ability to suspend Systems
- Dominant language
- Rust
- Stars
- 250
- Forks
- 65
- PR merge metrics
- No merged PRs in 30d
Description
From what I've seen, there doesn't seem to be the ability to suspend `System`s? Basically, after exploring through `amethyst` and `specs`, I ended up concluding that `shred` would presumably be where this functionality would go. Feel free to direct me in the right place if that's not the case.
Right now, I know that `amethyst` supports a `Pausable` wrapper which simply checks a condition every time the system is run; this is okay, but it would be nice to be able to suspend a system (making it no longer dispatched) and be able to later signal it to be added back to the queue. Presumably, this would help make it easier to interface with `Generator`s and the like later on.
Alternatively, you could argue that the best case for this is to have multiple `Dispatcher`s and use the right one depending on the state of the system. This might be better for cases where the set of currently running systems is swapped, e.g. a pause menu in a game, rather than the generic case which might be better for I/O. If this is the route that seems best, then I can move this issue to `specs` and discuss that there.
Anyway, I didn't see a discussion on this, so, I figured I'd start one.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.