158 lines
3.8 KiB
Plaintext
158 lines
3.8 KiB
Plaintext
|
scriptname SKI_ActiveEffectsWidget extends SKI_WidgetBase
|
||
|
|
||
|
; SCRIPT VERSION ----------------------------------------------------------------------------------
|
||
|
;
|
||
|
; History
|
||
|
;
|
||
|
; 1: - Initial version
|
||
|
;
|
||
|
; 2: - Updated hudModes
|
||
|
;
|
||
|
; 3: - Added MinimumTimeLeft
|
||
|
|
||
|
int function GetVersion()
|
||
|
return 3
|
||
|
endFunction
|
||
|
|
||
|
; PRIVATE VARIABLES -------------------------------------------------------------------------------
|
||
|
|
||
|
; -- Version 1 --
|
||
|
|
||
|
; Make sure defaults match those in ConfigMenuInstance
|
||
|
bool _enabled = false
|
||
|
float _effectSize = 48.0
|
||
|
int _groupEffectCount = 8
|
||
|
string _orientation = "vertical"
|
||
|
|
||
|
; -- Version 3 --
|
||
|
|
||
|
int _minimumTimeLeft = 180
|
||
|
|
||
|
; PROPERTIES --------------------------------------------------------------------------------------
|
||
|
|
||
|
bool Property Enabled
|
||
|
{Whether the active effects are displayed or not}
|
||
|
bool function get()
|
||
|
return _enabled
|
||
|
endFunction
|
||
|
|
||
|
function set(bool a_val)
|
||
|
_enabled = a_val
|
||
|
if (Ready)
|
||
|
UI.InvokeBool(HUD_MENU, WidgetRoot + ".setEnabled", _enabled)
|
||
|
endIf
|
||
|
endFunction
|
||
|
endProperty
|
||
|
|
||
|
float property EffectSize
|
||
|
{Size of each effect icon in pixels at a resolution of 1280x720}
|
||
|
float function get()
|
||
|
return _effectSize
|
||
|
endFunction
|
||
|
|
||
|
function set(float a_val)
|
||
|
_effectSize = a_val
|
||
|
if (Ready)
|
||
|
UI.InvokeFloat(HUD_MENU, WidgetRoot + ".setEffectSize", _effectSize)
|
||
|
endIf
|
||
|
endFunction
|
||
|
endProperty
|
||
|
|
||
|
int property GroupEffectCount
|
||
|
{Maximum number of widgets displayed until a new group (column, or row) is created}
|
||
|
int function get()
|
||
|
return _groupEffectCount
|
||
|
endFunction
|
||
|
|
||
|
function set(int a_val)
|
||
|
_groupEffectCount = a_val
|
||
|
if (Ready)
|
||
|
UI.InvokeInt(HUD_MENU, WidgetRoot + ".setGroupEffectCount", _groupEffectCount)
|
||
|
endIf
|
||
|
endFunction
|
||
|
endProperty
|
||
|
|
||
|
string property Orientation
|
||
|
{The axis in which new effects will be added to after the total number of effects > GroupEffectCount}
|
||
|
string function get()
|
||
|
return _orientation
|
||
|
endFunction
|
||
|
|
||
|
function set(string a_val)
|
||
|
_orientation = a_val
|
||
|
if (Ready)
|
||
|
UI.InvokeString(HUD_MENU, WidgetRoot + ".setOrientation", _orientation)
|
||
|
endIf
|
||
|
endFunction
|
||
|
endProperty
|
||
|
|
||
|
int property MinimumTimeLeft
|
||
|
{The minimum time left for an effect to be displayed}
|
||
|
int function get()
|
||
|
return _minimumTimeLeft
|
||
|
endFunction
|
||
|
|
||
|
function set(int a_val)
|
||
|
_minimumTimeLeft = a_val
|
||
|
if (Ready)
|
||
|
UI.InvokeInt(HUD_MENU, WidgetRoot + ".setMinTimeLeft", _minimumTimeLeft)
|
||
|
endIf
|
||
|
endFunction
|
||
|
endProperty
|
||
|
|
||
|
; INITIALIZATION ----------------------------------------------------------------------------------
|
||
|
|
||
|
; @implements SKI_QuestBase
|
||
|
event OnVersionUpdate(int a_version)
|
||
|
|
||
|
; Version 2
|
||
|
if (a_version >= 2 && CurrentVersion < 2)
|
||
|
Debug.Trace(self + ": Updating to script version 2")
|
||
|
|
||
|
string[] hudModes = new string[6]
|
||
|
hudModes[0] = "All"
|
||
|
hudModes[1] = "StealthMode"
|
||
|
hudModes[2] = "Favor"
|
||
|
hudModes[3] = "Swimming"
|
||
|
hudModes[4] = "HorseMode"
|
||
|
hudModes[5] = "WarHorseMode"
|
||
|
|
||
|
Modes = hudModes
|
||
|
endIf
|
||
|
endEvent
|
||
|
|
||
|
; EVENTS ------------------------------------------------------------------------------------------
|
||
|
|
||
|
; @override SKI_WidgetBase
|
||
|
event OnWidgetReset()
|
||
|
parent.OnWidgetReset()
|
||
|
|
||
|
; Init numbers
|
||
|
float[] numberArgs = new float[4]
|
||
|
numberArgs[0] = _enabled as float
|
||
|
numberArgs[1] = _effectSize
|
||
|
numberArgs[2] = _groupEffectCount as float
|
||
|
numberArgs[3] = _minimumTimeLeft as float
|
||
|
UI.InvokeFloatA(HUD_MENU, WidgetRoot + ".initNumbers", numberArgs)
|
||
|
|
||
|
; Init strings
|
||
|
string[] stringArgs = new string[1]
|
||
|
stringArgs[0] = _orientation
|
||
|
UI.InvokeStringA(HUD_MENU, WidgetRoot + ".initStrings", stringArgs)
|
||
|
|
||
|
; Init commit
|
||
|
UI.Invoke(HUD_MENU, WidgetRoot + ".initCommit")
|
||
|
endEvent
|
||
|
|
||
|
|
||
|
; FUNCTIONS ---------------------------------------------------------------------------------------
|
||
|
|
||
|
; @overrides SKI_WidgetBase
|
||
|
string function GetWidgetSource()
|
||
|
return "skyui/activeeffects.swf"
|
||
|
endFunction
|
||
|
|
||
|
; @overrides SKI_WidgetBase
|
||
|
string function GetWidgetType()
|
||
|
return "SKI_ActiveEffectsWidget"
|
||
|
endFunction
|