UI File Modification
UI files control the layout of a specific element in the game - including level backgrounds.
Objects
Every object should have it's type and an optional label, with 3 spaces as indentation:
uiFrame theLabel
{
uiSprite theLabel
{
}
}
uiFrame
A uiFrame is a container, usually used for dialog boxes. uiFrames can be adjusted with a uiFlowLayout.
uiScrollFrame
A uiScrollFrame is just like a uiFrame. However, overflow content is clipped and scrollbars appear.
uiContainer
A uiContainer is usually used for adding props, or as an anchor for OFX files.
uiInputFrame
A uiInputFrame is a container usually used for buttons or controls to change it's contents or icon depending on the active input device, such as a mouse or a controller.
uiDialog
A uiDialog is the root of either a dialog box, or a dialog screen.
uiSpectrumFrame
⚠️ Luxor Evolved-specific.
A uiSpectrumFrame is a container for uiSpectrumChannels. However, it is not a direct replacement for a uiFrame. A uiSpectrumFrame still needs to be wrapped in a uiFrame.
uiFlowLayout
A uiFlowLayout controls the layout of a uiFrame. This can be used to create grids, for example.
objEffectMap
-
Effect
<Path>
The OFX file to use.
An objEffectMap applies an OFX file to an object. It takes the object label as the event.
Example:
objEffectMap Idle
{
Effect = ~data/maps/town/idle.ofx
}
Valid labels are:
-
TransIn
-
TransOut
-
Idle
-
ShowMap
-
ShowMap_Bonus
-
HideMap
-
HideMap_Bonus
-
ContinueIn
-
NewLife
-
Announce_PU_<powerup>
- LXE specific,<powerup>
must be a powerup ID -
Milestone_Combo_<n>
- LXE specific,<n>
must be of:6
,9
,12
uiBackground
A uiBackground defines the background of an object. It can be a fixed size or a 9-slice background.
uiTextWidget
A uiTextWidget inserts text into a container.
uiButton
uiProgressBar
A uiProgressBar represents a progress bar, usually used in the level HUD to indicate a rough amount of spheres left to destroy, or in the splash screen to indicate loading progress.
uiSprite
A uiSprite adds a sprite to a container.