Merge branch 'new-editors' into zoro-charterstuffs

This commit is contained in:
TheZoroForce240
2024-09-12 21:14:06 +01:00
24 changed files with 427 additions and 76 deletions
@@ -14,8 +14,9 @@ final class EventManager {
var index = eventKeys.indexOf(c);
if (index < 0) {
eventKeys.push(c);
eventValues.push(Type.createInstance(c, []));
return cast eventValues.last();
var ret;
eventValues.push(ret = Type.createInstance(c, []));
return cast ret;
}
return cast eventValues[index];
+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);
}
}