-
Notifications
You must be signed in to change notification settings - Fork 3
Home
This is the Wiki for this GUIFramework. It gives you more in-depth explanation of the features and examples how to put the framework to work.
This framework is written entirely in UnrealScript and provides a free alternative to Scaleform, which requires proprietary Adobe Flash software.
It is released under the Apache license, so you are free to utilize it in commercial and non-commercial products alike as long as you give appropriate credit to us.
See http://www.apache.org/licenses/LICENSE-2.0 for more details.
An in-depth documentation of each individual class of this system.
The menu scene is the heart of this system. It contains all other components, provides information to them, causes them to render and interprets player input.
See: GUIMenuScene
The GUI Component is the base for all GUI objects that you may add to your Menu Scene. It defines delegate events for player interaction, the basic shape of the object and it's basic abilities.
See: GUIComponent
This handles changes in the GUIComponent it's linked to. Currently the only change is the position of the component. You specify the goal value and the transition time and this thing does the rest.
See: GUIComponentModifier
Groups several components into a container, so changes to the position or visibility of the container will also affect each of it's components.
Introduces a concept of stack-based menu rendering. Acts like a container in any other relation.
See: GUIPage
Responsible for drawing of plain text in the menu. Not more, not less. Text can be localized.
See: GUILabelComponent
Base class for all components that draw textures or materials on the screen. Can be used to display plain background images itself.
See: GUIVisualComponent
Adds functionality to react on mouse inputs by default and allows to draw a caption on the background texture.
See: GUIButtonComponent
Base class for creating a slider, using GUISliderButtonComponent
Adds toggling to the GUIButtonComponent, can be used to display boolean values on the HUD.
Part of the GUIScrollBoxComponent, mainly used as Next and Previous buttons to scroll through the GUIScrollBoxComponent's list.
See: GUIScrollBoxButtonComponent
Adds scrolling through a list of items, localized or not. Scrolling can be done with key input or using the GUIScrollBoxButtonComponent class.
Part of the GUIBaseSliderComponent, used to set the progress value for the slider.
Adds character input, and displays the typed characters in the component.
See: GUITextBox
Handles component movement based on the Sliders' progress. Can be used to display a list that is bigger than the screen.
WIP, not yet available.
See: GUISliderManager
Sets some required DefaultProperties for our system, but you will likely want to just set them in your own GameInfo class.
* bUseClassicHUD must be True for this system to work. * HUDType must be set to a HUD class that derives from GUICompatibleHUD. * PlayerControllerClass must be set to a PlayerController class that extends GUICompatiblePlayerController.
Holds the menu scene and some important properties that it accesses. Causes the scene to render in every !PostRender() update.
See: GUICompatibleHUD
Handles mouse input and passes it to the menu scene. It also sets a GUICompatiblePlayerInput-derived one as it's !PlayerInput.
See: GUICompatiblePlayerController
Converts mouse movement to screen coordinates for the cursor and passes key input to the menu scene.
The menu at the beginning of this video is entirely done with this framework: https://www.youtube.com/watch?v=EcTfV5vdYtM
These are some images from the AdvancedExampleMenuScene. Note that the textures for all UI elements are just examples that are based on screenshots of Windows components. They are provided in the upk package that comes in the Examples folder. You can (and should) replace them with proper textures that match your game when using the framework.
Starting page http://i.imgur.com/UlczZ6E.png
Page showing off all available components (except GUIComboBox) http://i.imgur.com/MxEW2cl.png
Page showing the basic options screen http://i.imgur.com/V0nWARX.png
and proof that it works http://i.imgur.com/yZfBz6e.png