Skip to main content

StateScripts

Kindclass
Packagepsychlua
Full namepsychlua.StateScripts
Sourcesource/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​

NameTypeStaticDefaultNotes
Function_StopStringyes"##PSYCHLUA_FUNCTIONSTOP"—
Function_ContinueStringyes"##PSYCHLUA_FUNCTIONCONTINUE"—
SCRIPT_EXTENSIONSArray<String>yes['hx', 'hscript', 'hxs']final
scriptsArray<HaxeScript>no[]—
scriptNameStringno''—
parentDynamicnonull—

Public methods​

new (constructor)​

function new(?parent:Dynamic, ?scriptName:String)
ParameterTypeDefault
parent (optional)Dynamic—
scriptName (optional)String—

View source

hasScripts​

inline function hasScripts():Bool

View source

classScriptName​

static function classScriptName(instance:Dynamic):String
ParameterTypeDefault
instanceDynamic—

View source

sanitizeName​

static function sanitizeName(name:String):String

Reject .., empty names, and Windows drive prefixes so a script name cannot escape data/states/.

ParameterTypeDefault
nameString—

View source

resolveName​

static function resolveName(instance:Dynamic, ?overrideName:String):String
ParameterTypeDefault
instanceDynamic—
overrideName (optional)String—

View source

collectFiles​

static function collectFiles(scriptName:String):Array<String>
ParameterTypeDefault
scriptNameString—

View source

exists​

static function exists(scriptName:String):Bool
ParameterTypeDefault
scriptNameString—

View source

readFile​

static function readFile(path:String):String
ParameterTypeDefault
pathString—

View source

loadFor​

static function loadFor(instance:Dynamic, ?overrideName:String):StateScripts
ParameterTypeDefault
instanceDynamic—
overrideName (optional)String—

View source

load​

function load():Void

View source

call​

function call(name:String, ?args:Array<Dynamic>):Dynamic
ParameterTypeDefault
nameString—
args (optional)Array<Dynamic>—

View source

set​

function set(name:String, value:Dynamic):Void
ParameterTypeDefault
nameString—
valueDynamic—

View source

destroy​

function destroy():Void

View source

switchState​

static function switchState(name:String, ?data:Dynamic, skipTransition:Bool = false):Bool

Switch to a fully scripted ModState named data/states/&lt;name&gt;.hx.

ParameterTypeDefault
nameString—
data (optional)Dynamic—
skipTransition (optional)Boolfalse

View source

openSubState​

static function openSubState(name:String, ?data:Dynamic):Bool

Open a fully scripted ModSubState named data/states/&lt;name&gt;.hx.

ParameterTypeDefault
nameString—
data (optional)Dynamic—

View source

Internals​

Private / internal members
Method
static function fileExists(path:String):Bool