Would it be possible to either add public 'setter' functions to all UI components or otherwise allow the getter function to return components by reference rather than copy? It seems like it is currently incredibly difficult to make mods that in any way alter existing UI components.
For example, I am working on a mod with the goal of replacing the existing vertical Vitals bars with horizontal bars like those scene in Skyrim and ESO. Unfortunately the DaggerfallHUD class only has the following two public methods pertaining to HUDVItals:
Code: Select all
public HUDVitals HUDVitals
{
get { return vitals; }
}
public bool ShowVitals { get; set; }
So it appears that currently a mod could deactivate the display of the default Vitals, but there is not way to easily implement a custom layout for Vitals. I'd love to be able to do something as simple as
Code: Select all
GameObject.Find("DaggerfallUI").GetComponent<DaggerfallUI>().DaggerfallHUD.HUDVitals = new NewHUDVitals();
where NewHUDVitals inherits from HUDVitals.cs but allows me to change the scale, layout, rotation, etc. of Vitals bars.