I'm currently on the way of entering the dungeon of ingame configs. A task I never undertook before.
Thus I'm probably going to need some help and ask some questions here.
I attached an image that shows the config layout I'm currently thinking of.
To bring in some light...why the config?
I want a config that allows ingame editing of orb settings. The orb is nothing else but a modified statusbar. It could be your health, power or whatever.
By default an orb consists of the following parts:
- background texture
- filling texture
- animation frame (model or galaxy)
- highlight texture
Background and highlight texture should not be changed via ingame config.
That leaves filling texture and animation frame on the table.
The filling texture is the texture that get's cropped via SetTexCoord on value change. Example: If the orb is my health orb and I have 50% hp then the orb filling texture will be cut in half.
The animation frame sits on top of the filling.
Currently there are 3 different types of animations:
- None
- Fluid (Animation models called via SetDisplayId(id))
- Galaxy (Textures set to blend on endless loop rotating via AnimationGroup)
Currently all the values can be changed. But only via hardcoding in the config file. What I want to add is a templating engine.
Since my GUI experience is near zero I'm currently unsure if all my ideas can be brought to life.
So here is my current concept:
A player can have numerous orb objects. The config will be called for one of those objects so there is a reference to the orb that is using the config values later.
There will be a number of preset templates. Basically just a bunch of preset settings. If a player changes the template it will update the current config values with data from the used template.
I'm currently planning on using EasyMenu for the template display. I tried that aready and it was pretty straight forward. Once you click the load template button the menu will pop up.
New templates can be saved. The template config values will be saved in the SavedVariables per Account.
Once any config value is changed there will be an update of the SavedVariable per character. Thus the current orb config data is always saved per character. On value change 3 things will update:
- SavedVariables per character
- The temporary orb in the config
- The orb that is actually using the config data
That's basically the concept I'm having right now....
Is there any light framework that could help me building the GUI?
If you got anything to add please share your thoughts.