Skip to content
Crusha K. Rool edited this page Feb 16, 2019 · 1 revision

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.

Table of Contents

Introduction

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.


Documentation

An in-depth documentation of each individual class of this system.

GUIMenuScene

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

GUIComponent

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

GUIComponentModifier

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

GUIContainerComponent

Groups several components into a container, so changes to the position or visibility of the container will also affect each of it's components.

See: GUIContainerComponent

GUIPage

Introduces a concept of stack-based menu rendering. Acts like a container in any other relation.

See: GUIPage

GUILabelComponent

Responsible for drawing of plain text in the menu. Not more, not less. Text can be localized.

See: GUILabelComponent

GUIVisualComponent

Base class for all components that draw textures or materials on the screen. Can be used to display plain background images itself.

See: GUIVisualComponent

GUIButtonComponent

Adds functionality to react on mouse inputs by default and allows to draw a caption on the background texture.

See: GUIButtonComponent

GUIBaseSliderComponent

Base class for creating a slider, using GUISliderButtonComponent

See: GUIBaseSliderComponent

GUICheckButtonComponent

Adds toggling to the GUIButtonComponent, can be used to display boolean values on the HUD.

See: GUICheckButtonComponent

GUIScrollBoxButtonComponent

Part of the GUIScrollBoxComponent, mainly used as Next and Previous buttons to scroll through the GUIScrollBoxComponent's list.

See: GUIScrollBoxButtonComponent

GUIScrollBoxComponent

Adds scrolling through a list of items, localized or not. Scrolling can be done with key input or using the GUIScrollBoxButtonComponent class.

See: GUIScrollBoxComponent

GUISliderButtonComponent

Part of the GUIBaseSliderComponent, used to set the progress value for the slider.

See: GUISliderButtonComponent

GUITextBox

Adds character input, and displays the typed characters in the component.

See: GUITextBox

GUISliderManager

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

GUICompatibleGameInfo

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.

GUICompatibleHUD

Holds the menu scene and some important properties that it accesses. Causes the scene to render in every !PostRender() update.

See: GUICompatibleHUD

GUICompatiblePlayerController

Handles mouse input and passes it to the menu scene. It also sets a GUICompatiblePlayerInput-derived one as it's !PlayerInput.

See: GUICompatiblePlayerController

GUICompatiblePlayerInput

Converts mouse movement to screen coordinates for the cursor and passes key input to the menu scene.

See: GUICompatiblePlayerInput


Examples

The menu at the beginning of this video is entirely done with this framework: https://www.youtube.com/watch?v=EcTfV5vdYtM

Screenshots

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