By "soon", I mean within the next month or so... probably by the end of the year.
I got back in to EEGUI when I was using it as a way to test XNA, and I noticed a few things about it that make me unhappy...
1) The use of a separate "color" class where you can define solid color GUI elements if you don't have a texture enabled. This is going away, and will likely be merged with the GUITexture class. GUITexture already has a "color" component to it anyway, because of alpha, and the ability to "tint" your control.
2) Prebuilt complex windows will be removed from the DLL. These highly specific implementations of things like a "complex window with a title bar handle that can be used to move the window, a resizer on the bottom right corner, and a top right corner button to close the window" are far too complex and specialized (and clunky) to be included in the GUI system. I have already deleted them out, but I may go in to a code backup and get them again to provide them as sample code for how I build derived classes to implement the GUI's functionality.
3) I am considering making the GUI a "multi UI" type of system, with the ability to have multiple "trees" of parent-child hierarchy structures, with their own rendersurfaces. You can technically do it now by making multiple instances of the GUICore class and handling/updating them all separately... I'm not sure if this is something I should implement internally to make it easier or not. I'm open to suggestions, though.
The big benefit of this is you can make your main UI window that is static (so it doesn't have to ever be redrawn), and make animated windows a whole different UI implementation, which will speed up rendering/updating of the GUI. Once the main non-updating UI is set up and rendered to the RS, it never has to be updated again...
You could create different aspects of your UI... like, each individual window that you would open and close... basically the only problem I could see would be input handling between UIs, like drag/drop for example. In an MMO type of game, you could put all of the different interface windows in different UI implementations, but put the inventory management stuff in its own... just as an example.
Anyway... I'm also open to other recommendations.
OH YEAH! I am trying to figure out how to go about making an editor! YAY!
Although, with the ability to extend the GUI with your own custom classes, this maaaaay be problematic.
