StateScripts
| Kind | class |
| Package | psychlua |
| Full name | psychlua.StateScripts |
| Source | source/psychlua/StateScripts.hx |
Discovers and runs HScript files at data/states/<StateName>.hx.
Overlay: every MusicBeatState / MusicBeatSubstate loads scripts named
after its class (e.g. data/states/FreeplayState.hx).
Replacement: ModState / ModSubState are blank hosts for a named script.
Public fields
| Name | Type | Static | Default | Notes |
|---|---|---|---|---|
Function_Stop | String | yes | "##PSYCHLUA_FUNCTIONSTOP" | — |
Function_Continue | String | yes | "##PSYCHLUA_FUNCTIONCONTINUE" | — |
SCRIPT_EXTENSIONS | Array<String> | yes | ['hx', 'hscript', 'hxs'] | final |
scripts | Array<HaxeScript> | no | [] | — |
scriptName | String | no | '' | — |
parent | Dynamic | no | null | — |
Public methods
new (constructor)
function new(?parent:Dynamic, ?scriptName:String)
| Parameter | Type | Default |
|---|---|---|
parent (optional) | Dynamic | — |
scriptName (optional) | String | — |
hasScripts
inline function hasScripts():Bool
classScriptName
static function classScriptName(instance:Dynamic):String
| Parameter | Type | Default |
|---|---|---|
instance | Dynamic | — |
sanitizeName
static function sanitizeName(name:String):String
Reject .., empty names, and Windows drive prefixes so a script name
cannot escape data/states/.
| Parameter | Type | Default |
|---|---|---|
name | String | — |
resolveName
static function resolveName(instance:Dynamic, ?overrideName:String):String
| Parameter | Type | Default |
|---|---|---|
instance | Dynamic | — |
overrideName (optional) | String | — |
collectFiles
static function collectFiles(scriptName:String):Array<String>
| Parameter | Type | Default |
|---|---|---|
scriptName | String | — |
exists
static function exists(scriptName:String):Bool
| Parameter | Type | Default |
|---|---|---|
scriptName | String | — |
readFile
static function readFile(path:String):String
| Parameter | Type | Default |
|---|---|---|
path | String | — |
loadFor
static function loadFor(instance:Dynamic, ?overrideName:String):StateScripts
| Parameter | Type | Default |
|---|---|---|
instance | Dynamic | — |
overrideName (optional) | String | — |
load
function load():Void
call
function call(name:String, ?args:Array<Dynamic>):Dynamic
| Parameter | Type | Default |
|---|---|---|
name | String | — |
args (optional) | Array<Dynamic> | — |
set
function set(name:String, value:Dynamic):Void
| Parameter | Type | Default |
|---|---|---|
name | String | — |
value | Dynamic | — |
destroy
function destroy():Void
switchState
static function switchState(name:String, ?data:Dynamic, skipTransition:Bool = false):Bool
Switch to a fully scripted ModState named data/states/<name>.hx.
| Parameter | Type | Default |
|---|---|---|
name | String | — |
data (optional) | Dynamic | — |
skipTransition (optional) | Bool | false |
openSubState
static function openSubState(name:String, ?data:Dynamic):Bool
Open a fully scripted ModSubState named data/states/<name>.hx.
| Parameter | Type | Default |
|---|---|---|
name | String | — |
data (optional) | Dynamic | — |
Internals
Private / internal members
| Method |
|---|
static function fileExists(path:String):Bool |