GUI In Action
The reason for all the radio buttons is because the GUI supports two types, vertical and horizontal layouts. I should note that the gui isn't a browser window or anything, it's using the map to render it's graphics. Also, it's using pixel coordinates and can be of any dimension. The GUI isn't completed yet, there's still more I wish to add, but it's getting close to a final version. My inspiration this entire time too has been Acheron's Awakening gui system, it looks amazing and for those who haven't seen it you should really check it out here: Acheron's Awakening
I also thought I'd provide some code to show you how simple it is to make GUI windows using the SoulReaper engine. (Sorry if my code looks weird...)
/** * This class is a Test window with GUI elements. * * @author: Victor Holt * @date: 3/05/2009 */ SoulReaper/Object/GUI/Template/TestWindow var/SoulReaper/Object/GUI/Element/Window/wnd = null var/SoulReaper/Object/GUI/Element/Window/Button/closeBtn = null var/SoulReaper/Object/GUI/Element/Window/Edit/strEditBox = null var/SoulReaper/Object/GUI/Element/Static/strText = null var/SoulReaper/Object/GUI/Element/Static/spinnerText = null var/SoulReaper/Object/GUI/Element/Static/imageText = null var/SoulReaper/Object/GUI/Element/Image/testImage = null var/SoulReaper/Object/GUI/Element/Window/CheckBox/testCb = null var/SoulReaper/Object/GUI/Element/Window/CheckBox/testCb2 = null var/SoulReaper/Object/GUI/Element/RadioGroup/rG = null var/SoulReaper/Object/GUI/Element/RadioGroup/rG2 = null var/SoulReaper/Object/GUI/Element/Spinner/spinner = null /** * The constructor. */ New() wnd = new() closeBtn = new() strText = new() spinnerText = new() imageText = new() strEditBox = new() ... wnd.create( CHARACTER_VIEW, "GUI Test", 250, 300 ) closeBtn.create( 2, "Close", 80, 30, null, wnd ) strText.create( 3, "Strength:", 5, 260, null, wnd ) ... rG.create( 6, GUI_VERT_STYLE, wnd ) rG2.create( 7, GUI_HORIZONTAL_STYLE, wnd ) spinner.create( 8, 20, 30, wnd ) rG.addOption( "Male" ) rG.addOption( "Female" ) rG2.addOption( "One" ) rG2.addOption( "Two" ) rG2.addOption( "Three" ) ... GUIServices.register( wnd ) ..() /** * The destructor */ Del() GUIServices.unregister( CHARACTER_VIEW ) ... ..() /** * This method renders the gui template. */ render() GUIServices.render( CHARACTER_VIEW ) /** * This method does a listen event. */ onListen( var/userGuid ) ... ..()