[Feature Request]: Expand tags to be used everywhere, similar to the Resource Manager
lucasstarsz opened this issue · comments
Andrew Dey commented
Origins of the Feature
Similar to #113, FastJ would greatly benefit from a centralized tagging system.
The New Feature Idea(s)
A centralized tagging system would allow easy support for tags in different systems as needed, such as for the following:
Animations- Drawables
- Audio
and many others.
With this enhancement, we could further control actions depending on what tags some object has.
- With animations,
it makes sense to group sequences by tags. A sprite sheet could be separated into"Idle"
,"Attack"
,"Die"
, and so on. These could even be associated with indexes for the animation sets in an array of images (the sprite sheet's representation in code).
This has been covered in #108 and resolved in #207. - As seen already,
Drawable
s can be given tags to differentiate what type ofDrawable
they are -- a"player"
,"enemy"
, and so on. This is already used in collisions, and can be further expanded upon. - Audio could be grouped and have its settings automatically changed through assignment of tags. For example, audio with the tag
"sound effect"
could be muted when the player mutes sound effects in a game's settings.
These are the tasks to be completed:
- Add base tag manager classes to allow creation of tag managers for specific types
- Add tag manager classes for the following types:
Sprite2D Animation (A customSpriteAnimation
class may be developed in tandem for this)-
Drawable
-
Audio
Progress of this issue will be tracked alongside #108.
Alternatives
No response
Code of Conduct
- I agree to follow this project's Code of Conduct