Added optional Extra Data support to ModState/ModSubState (#374)

* Added Optional JSON Data to ModStates/ModSubState

* Formatting fixes

* Wanted changes

* small little comment

* Enhanced Comments

* Duplicated null

* Undo delete null setter - sorry

* some changes

Co-Authored-By: Ne_Eo <NeeEoo@users.noreply.github.com>

* merp

---------

Co-authored-by: Ne_Eo <NeeEoo@users.noreply.github.com>
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
This commit is contained in:
ニコラス★
2024-08-31 18:46:51 +02:00
committed by GitHub
co-authored by Ne_Eo ⍚~Nex
parent 3e5dc6f79f
commit e749a0e7e3
2 changed files with 62 additions and 6 deletions
+31 -3
View File
@@ -1,10 +1,38 @@
package funkin.backend.scripting;
class ModState extends MusicBeatState {
/**
* Name of HScript file in assets/data/states.
*/
public static var lastName:String = null;
public function new(stateName:String) {
if (stateName != null)
lastName = stateName;
/**
* Last Optional extra data.
*/
public static var lastData:Dynamic = null;
/**
* Optional extra data.
*/
public var data:Dynamic = null;
/**
* ModState Constructor.
* Inherits from MusicBeatState and allows the execution of an HScript from assets/data/states passed via parameters.
*
* @param _stateName Name or path to a HScript file from assets/data/states.
* @param _data Optional extra Dynamic data passed from a previous state (JSON suggested).
*/
public function new(_stateName:String, ?_data:Dynamic) {
if(_stateName != null && _stateName != lastName) {
lastName = _stateName;
lastData = null;
}
if(_data != null)
lastData = _data;
data = lastData;
super(true, lastName);
}
}
+31 -3
View File
@@ -1,10 +1,38 @@
package funkin.backend.scripting;
class ModSubState extends MusicBeatSubstate {
/**
* Name of HScript file in assets/data/states.
*/
public static var lastName:String = null;
public function new(stateName:String) {
if (stateName != null)
lastName = stateName;
/**
* Last Optional extra data.
*/
public static var lastData:Dynamic = null;
/**
* Optional extra data.
*/
public var data:Dynamic = null;
/**
* ModSubState Constructor.
* Inherits from MusicBeatSubstate and allows the execution of an HScript from assets/data/states passed via parameters.
*
* @param _stateName Name or path to a HScript file from assets/data/states.
* @param _data Optional extra Dynamic data passed from a previous state (JSON suggested).
*/
public function new(_stateName:String, ?_data:Dynamic) {
if(_stateName != null && _stateName != lastName) {
lastName = _stateName;
lastData = null;
}
if(_data != null)
lastData = _data;
data = lastData;
super(true, lastName);
}
}