Merge different gui elements from Radiance and Birb #56
Labels
No labels
0. Imported
1. Bug
1. Clean-up
1. Feature
1. Improvement
2. Deliverable
2. Epic
3. Duplicate
3. Invalid
3. Need investigation
4. Assets
4. Birb Core
4. Debug
4. Dependencies
4. Inputs
4. Lang
4. Scenes
4. Screen
4. World
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: epervier/epervier-old#56
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
For the moment, the whole GUI story on Birb is all over the place. Basically, we have :
All that could be simplified a lot with a global GUI system that would handle all these case, using a generic "gui object" that would be derivated into menus and stuff.
The idea would be to create a gui system inspired a bit by the current menu system, that would be extended to have layer support. At the top level, the core.gui object would be a set of layers.
Each layer would have a unique name, would be global or local (meaning "be destroyed when the scene change", handling 9.) would have a depth variable and a visible boolean. The depth could be relative to the transition, with 0 being just under the transition (it would be the default value, handling 10.), and lower (bigger depth) layer would be covered by the higher.
In layers would be a list of guiElements. This list would be ordered by creationId, but would use global naming (in order to ensure compability with current gui system). These elements would be drawn.
The cases 1. and 2. would NOT be handled, HUD support in world object would be dropped, replaced by guiElements that are linked to a variable of an objects (which could either directly change the shown variable on change, or would interpolate the change according to some criteria).
Menus would be guiElements, and the current menumanager would add them to the gui. This would handle everything but the "screen" system concept.
Will be part of the "big merge".