Access registered systems.
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## What problem does this solve or what need does it fill?
Systems part of `Schedule` can be accessed and "inspected". That is you can get some info of the system from `System` trait.
But registered systems are opaque because their storage is private. They exist as entities and are stored inside `RegisteredSystem` component.
## What solution would you like?
Make the `RegisteredSystem` component `pub` (and re-export it ?) and add method to borrow stored system `pub fn system_ref(&self) -> &BoxedSystem;` or `pub fn system_ref(&self) -> &dyn System;`
## What alternative(s) have you considered?
EDIT:
If users should have same rights as bevy then I think it should be pub and it's members too. Then there would be no need to system getter.
Or maybe add method which converts `RegisteredSystem` to `RemovedSystem` ? `pub fn remove(self) -> RemovedSystem;`
Which one ?
## Additional context
None.
Contributor guide
Research direction
Start by locating the public `RegisteredSystem` component and the `System` trait in the Bevy source, then inspect how registered systems are stored and exposed. Review the issue discussion before choosing an API for borrowing, making fields public, or converting to `RemovedSystem`; done means the chosen access path is clearly defined and supported by appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100