Merge branch 'main' into new-editors
This commit is contained in:
@@ -19,89 +19,134 @@ class Script extends FlxBasic implements IFlxDestroyable {
|
||||
public static function getDefaultVariables(?script:Script):Map<String, Dynamic> {
|
||||
return [
|
||||
// Haxe related stuff
|
||||
"Std" => Std,
|
||||
"Math" => Math,
|
||||
"Reflect" => Reflect,
|
||||
"StringTools" => StringTools,
|
||||
"Json" => haxe.Json,
|
||||
"Std" => Std,
|
||||
"Math" => Math,
|
||||
"Reflect" => Reflect,
|
||||
"StringTools" => StringTools,
|
||||
"Json" => haxe.Json,
|
||||
|
||||
// OpenFL & Lime related stuff
|
||||
"Assets" => openfl.utils.Assets,
|
||||
"Application" => lime.app.Application,
|
||||
"Application" => lime.app.Application,
|
||||
"Main" => funkin.backend.system.Main,
|
||||
"window" => lime.app.Application.current.window,
|
||||
|
||||
// Flixel related stuff
|
||||
"FlxG" => flixel.FlxG,
|
||||
"FlxSprite" => flixel.FlxSprite,
|
||||
"FlxBasic" => flixel.FlxBasic,
|
||||
"FlxCamera" => flixel.FlxCamera,
|
||||
"state" => flixel.FlxG.state,
|
||||
"FlxEase" => flixel.tweens.FlxEase,
|
||||
"FlxTween" => flixel.tweens.FlxTween,
|
||||
"FlxSound" => flixel.sound.FlxSound,
|
||||
"FlxAssets" => flixel.system.FlxAssets,
|
||||
"FlxMath" => flixel.math.FlxMath,
|
||||
"FlxGroup" => flixel.group.FlxGroup,
|
||||
"FlxTypedGroup" => flixel.group.FlxGroup.FlxTypedGroup,
|
||||
"state" => flixel.FlxG.state,
|
||||
"FlxG" => flixel.FlxG,
|
||||
"FlxSprite" => flixel.FlxSprite,
|
||||
"FlxBasic" => flixel.FlxBasic,
|
||||
"FlxCamera" => flixel.FlxCamera,
|
||||
"FlxEase" => flixel.tweens.FlxEase,
|
||||
"FlxTween" => flixel.tweens.FlxTween,
|
||||
"FlxSound" => flixel.sound.FlxSound,
|
||||
"FlxAssets" => flixel.system.FlxAssets,
|
||||
"FlxMath" => flixel.math.FlxMath,
|
||||
"FlxGroup" => flixel.group.FlxGroup,
|
||||
"FlxTypedGroup" => flixel.group.FlxGroup.FlxTypedGroup,
|
||||
"FlxSpriteGroup" => flixel.group.FlxSpriteGroup,
|
||||
"FlxTypeText" => flixel.addons.text.FlxTypeText,
|
||||
"FlxText" => flixel.text.FlxText,
|
||||
"FlxTimer" => flixel.util.FlxTimer,
|
||||
"FlxPoint" => CoolUtil.getMacroAbstractClass("flixel.math.FlxPoint"),
|
||||
"FlxAxes" => CoolUtil.getMacroAbstractClass("flixel.util.FlxAxes"),
|
||||
"FlxColor" => CoolUtil.getMacroAbstractClass("flixel.util.FlxColor"),
|
||||
"FlxTypeText" => flixel.addons.text.FlxTypeText,
|
||||
"FlxText" => flixel.text.FlxText,
|
||||
"FlxTimer" => flixel.util.FlxTimer,
|
||||
"FlxPoint" => CoolUtil.getMacroAbstractClass("flixel.math.FlxPoint"),
|
||||
"FlxAxes" => CoolUtil.getMacroAbstractClass("flixel.util.FlxAxes"),
|
||||
"FlxColor" => CoolUtil.getMacroAbstractClass("flixel.util.FlxColor"),
|
||||
|
||||
// Engine related stuff
|
||||
"engine" => {
|
||||
commit: funkin.backend.system.macros.GitCommitMacro.commitNumber,
|
||||
hash: funkin.backend.system.macros.GitCommitMacro.commitHash,
|
||||
commit: Flags.COMMIT_NUMBER,
|
||||
hash: Flags.COMMIT_HASH,
|
||||
build: 2675, // 2675 being the last build num before it was removed
|
||||
name: "Codename Engine"
|
||||
},
|
||||
"ModState" => funkin.backend.scripting.ModState,
|
||||
"ModSubState" => funkin.backend.scripting.ModSubState,
|
||||
"PlayState" => funkin.game.PlayState,
|
||||
"GameOverSubstate" => funkin.game.GameOverSubstate,
|
||||
"ModState" => funkin.backend.scripting.ModState,
|
||||
"ModSubState" => funkin.backend.scripting.ModSubState,
|
||||
"PlayState" => funkin.game.PlayState,
|
||||
"GameOverSubstate" => funkin.game.GameOverSubstate,
|
||||
"HealthIcon" => funkin.game.HealthIcon,
|
||||
"HudCamera" => funkin.game.HudCamera,
|
||||
"Note" => funkin.game.Note,
|
||||
"Strum" => funkin.game.Strum,
|
||||
"StrumLine" => funkin.game.StrumLine,
|
||||
"Character" => funkin.game.Character,
|
||||
"Boyfriend" => funkin.game.Character, // for compatibility
|
||||
"PauseSubstate" => funkin.menus.PauseSubState,
|
||||
"FreeplayState" => funkin.menus.FreeplayState,
|
||||
"MainMenuState" => funkin.menus.MainMenuState,
|
||||
"PauseSubState" => funkin.menus.PauseSubState,
|
||||
"HudCamera" => funkin.game.HudCamera,
|
||||
"Note" => funkin.game.Note,
|
||||
"Strum" => funkin.game.Strum,
|
||||
"StrumLine" => funkin.game.StrumLine,
|
||||
"Character" => funkin.game.Character,
|
||||
"Boyfriend" => funkin.game.Character, // for compatibility
|
||||
"PauseSubstate" => funkin.menus.PauseSubState,
|
||||
"FreeplayState" => funkin.menus.FreeplayState,
|
||||
"MainMenuState" => funkin.menus.MainMenuState,
|
||||
"PauseSubState" => funkin.menus.PauseSubState,
|
||||
"StoryMenuState" => funkin.menus.StoryMenuState,
|
||||
"TitleState" => funkin.menus.TitleState,
|
||||
"Options" => funkin.options.Options,
|
||||
"Paths" => funkin.backend.assets.Paths,
|
||||
"Conductor" => funkin.backend.system.Conductor,
|
||||
"FunkinShader" => funkin.backend.shaders.FunkinShader,
|
||||
"CustomShader" => funkin.backend.shaders.CustomShader,
|
||||
"Options" => funkin.options.Options,
|
||||
"Paths" => funkin.backend.assets.Paths,
|
||||
"Conductor" => funkin.backend.system.Conductor,
|
||||
"FunkinShader" => funkin.backend.shaders.FunkinShader,
|
||||
"CustomShader" => funkin.backend.shaders.CustomShader,
|
||||
"FunkinText" => funkin.backend.FunkinText,
|
||||
"FlxAnimate" => funkin.backend.FlxAnimate,
|
||||
"FunkinSprite" => funkin.backend.FunkinSprite,
|
||||
"Alphabet" => funkin.menus.ui.Alphabet,
|
||||
"Alphabet" => funkin.menus.ui.Alphabet,
|
||||
|
||||
"CoolUtil" => funkin.backend.utils.CoolUtil,
|
||||
"IniUtil" => funkin.backend.utils.IniUtil,
|
||||
"XMLUtil" => funkin.backend.utils.XMLUtil,
|
||||
#if sys "ZipUtil" => funkin.backend.utils.ZipUtil, #end
|
||||
"MarkdownUtil" => funkin.backend.utils.MarkdownUtil,
|
||||
"CoolUtil" => funkin.backend.utils.CoolUtil,
|
||||
"IniUtil" => funkin.backend.utils.IniUtil,
|
||||
"XMLUtil" => funkin.backend.utils.XMLUtil,
|
||||
#if sys "ZipUtil" => funkin.backend.utils.ZipUtil, #end
|
||||
"MarkdownUtil" => funkin.backend.utils.MarkdownUtil,
|
||||
"EngineUtil" => funkin.backend.utils.EngineUtil,
|
||||
"MemoryUtil" => funkin.backend.utils.MemoryUtil,
|
||||
"BitmapUtil" => funkin.backend.utils.BitmapUtil,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Used internally to keep backwards compatibility with old scripts.
|
||||
* This gets set on `hscript.Interp.importRedirects`,
|
||||
* if you wanna modify it, please edit `hscript.Interp.importRedirects` directly.
|
||||
**/
|
||||
public static function getDefaultImportRedirects():Map<String, String> {
|
||||
var redirects:Map<String, String> = [
|
||||
"funkin.savedata.FunkinSave" => "funkin.backend.utils.FunkinSave"
|
||||
];
|
||||
|
||||
final events = "funkin.backend.scripting.events.";
|
||||
redirects[events + "CharacterNodeEvent"] = events + "character.CharacterNodeEvent";
|
||||
redirects[events + "CharacterXMLEvent"] = events + "character.CharacterXMLEvent";
|
||||
redirects[events + "DanceEvent"] = events + "character.DanceEvent";
|
||||
redirects[events + "DirectionAnimEvent"] = events + "character.DirectionAnimEvent";
|
||||
redirects[events + "DiscordPresenceUpdateEvent"] = events + "discord.DiscordPresenceUpdateEvent";
|
||||
redirects[events + "GameOverCreationEvent"] = events + "gameover.GameOverCreationEvent";
|
||||
redirects[events + "CamMoveEvent"] = events + "gameplay.CamMoveEvent";
|
||||
redirects[events + "CountdownEvent"] = events + "gameplay.CountdownEvent";
|
||||
redirects[events + "EventGameEvent"] = events + "gameplay.EventGameEvent";
|
||||
redirects[events + "GameOverEvent"] = events + "gameplay.GameOverEvent";
|
||||
redirects[events + "RatingUpdateEvent"] = events + "gameplay.RatingUpdateEvent";
|
||||
redirects[events + "HealthIconChangeEvent"] = events + "healthicon.HealthIconChangeEvent";
|
||||
redirects[events + "FreeplayAlphaUpdateEvent"] = events + "menu.freeplay.FreeplayAlphaUpdateEvent";
|
||||
redirects[events + "FreeplaySongSelectEvent"] = events + "menu.freeplay.FreeplaySongSelectEvent";
|
||||
redirects[events + "MenuChangeEvent"] = events + "menu.MenuChangeEvent";
|
||||
redirects[events + "PauseCreationEvent"] = events + "menu.pause.PauseCreationEvent";
|
||||
redirects[events + "WeekSelectEvent"] = events + "menu.storymenu.WeekSelectEvent";
|
||||
redirects[events + "InputSystemEvent"] = events + "note.InputSystemEvent";
|
||||
redirects[events + "NoteCreationEvent"] = events + "note.NoteCreationEvent";
|
||||
redirects[events + "NoteHitEvent"] = events + "note.NoteHitEvent";
|
||||
redirects[events + "NoteMissEvent"] = events + "note.NoteMissEvent";
|
||||
redirects[events + "NoteUpdateEvent"] = events + "note.NoteUpdateEvent";
|
||||
redirects[events + "SimpleNoteEvent"] = events + "note.SimpleNoteEvent";
|
||||
redirects[events + "StrumCreationEvent"] = events + "note.StrumCreationEvent";
|
||||
redirects[events + "SplashShowEvent"] = events + "splash.SplashShowEvent";
|
||||
redirects[events + "PlayAnimContext"] = events + "sprite.PlayAnimContext";
|
||||
redirects[events + "PlayAnimEvent"] = events + "sprite.PlayAnimEvent";
|
||||
redirects[events + "StageNodeEvent"] = events + "stage.StageNodeEvent";
|
||||
redirects[events + "StageXMLEvent"] = events + "stage.StageXMLEvent";
|
||||
|
||||
return redirects;
|
||||
}
|
||||
|
||||
public static function getDefaultPreprocessors():Map<String, Dynamic> {
|
||||
var defines = funkin.backend.system.macros.DefinesMacro.defines;
|
||||
defines.set("CODENAME_ENGINE", true);
|
||||
defines.set("CODENAME_VER", Application.current.meta.get('version'));
|
||||
defines.set("CODENAME_BUILD", 2675); // 2675 being the last build num before it was removed
|
||||
defines.set("CODENAME_COMMIT", funkin.backend.system.macros.GitCommitMacro.commitNumber);
|
||||
defines.set("CODENAME_COMMIT", Flags.COMMIT_NUMBER);
|
||||
return defines;
|
||||
}
|
||||
/**
|
||||
|
||||
@@ -5,9 +5,4 @@ final class AmountEvent extends CancellableEvent {
|
||||
* Amount
|
||||
*/
|
||||
public var amount:Null<Int>;
|
||||
|
||||
/**
|
||||
* Shows whether or not psych users complained about this class
|
||||
*/
|
||||
public var psychUsersComplained:Bool = true;
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
package funkin.backend.scripting.events;
|
||||
|
||||
final class DrawEvent extends CancellableEvent {
|
||||
// temp empty for now - Nex
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
## NOTE
|
||||
Keep in mind that a certain criteria was used to place events in their corresponding folders which is simply what the events themselves are mostly related to.
|
||||
|
||||
For example:
|
||||
|
||||
- `GameOverEvent` inside of the `gameplay` folder instead of the `gameover` folder since it gets called in the `PlayState` class (that owns the `gameplay` folder) instead of the `GameOverSubstate` class itself;
|
||||
- `NoteHitEvent` gets indeed called by the `PlayState` class but it's also used in the `StrumLine` (For those who didn't really know, Strumlines are the Input Notes) class and since the event's name itself starts with the word `Note` it was more accurate to place it in the `note` folder instead of the `gameplay` folder that `PlayState` owns.
|
||||
@@ -4,7 +4,7 @@ import flixel.FlxState;
|
||||
|
||||
final class StateEvent extends CancellableEvent {
|
||||
/**
|
||||
* Substate that is about to be opened/closed
|
||||
* Substate or State that is about to be opened/closed
|
||||
*/
|
||||
public var substate:FlxState;
|
||||
public var substate:FlxState; // WHY is it named substate :sob: - Nex
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.character;
|
||||
|
||||
import funkin.game.Character;
|
||||
import haxe.xml.Access;
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.character;
|
||||
|
||||
import funkin.game.Character;
|
||||
import haxe.xml.Access;
|
||||
@@ -7,7 +7,7 @@ final class CharacterXMLEvent extends CancellableEvent {
|
||||
/**
|
||||
* The character instance
|
||||
*/
|
||||
public var character:Character;
|
||||
public var character:Character;
|
||||
|
||||
/**
|
||||
* The xml
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.character;
|
||||
|
||||
final class DanceEvent extends CancellableEvent {
|
||||
public var danced:Bool;
|
||||
+3
-1
@@ -1,4 +1,6 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.character;
|
||||
|
||||
import funkin.backend.scripting.events.sprite.PlayAnimContext;
|
||||
|
||||
final class DirectionAnimEvent extends CancellableEvent {
|
||||
/**
|
||||
@@ -0,0 +1,14 @@
|
||||
package funkin.backend.scripting.events.dialogue;
|
||||
|
||||
/**
|
||||
* CANCEL this event to prevent continuing with the next dialogue.
|
||||
*
|
||||
* **NOTE**: To access the current, past or next lines, use `curLine`, `lastLine` or also `dialogueLines` in the `DialogueCutscene` class (they're globals and can be accessed at any time as long as the Dialogue Cutscene is active)!
|
||||
*/
|
||||
final class DialogueNextLineEvent extends CancellableEvent
|
||||
{
|
||||
/**
|
||||
* If the dialogue has just been opened.
|
||||
*/
|
||||
public var playFirst:Bool = false;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.discord;
|
||||
|
||||
final class DiscordPresenceUpdateEvent extends CancellableEvent {
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.gameover;
|
||||
|
||||
/**
|
||||
* CANCEL this event to prevent default behaviour!
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.gameplay;
|
||||
|
||||
import flixel.math.FlxPoint;
|
||||
import funkin.game.StrumLine;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.gameplay;
|
||||
|
||||
import flixel.sound.FlxSound;
|
||||
import flixel.tweens.FlxTween;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.gameplay;
|
||||
|
||||
import funkin.backend.chart.ChartData;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.gameplay;
|
||||
|
||||
import funkin.game.Character;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.gameplay;
|
||||
|
||||
final class RatingUpdateEvent extends CancellableEvent {
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.healthicon;
|
||||
|
||||
final class HealthIconChangeEvent extends CancellableEvent {
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.menu;
|
||||
|
||||
final class MenuChangeEvent extends CancellableEvent {
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.menu.freeplay;
|
||||
|
||||
final class FreeplayAlphaUpdateEvent extends CancellableEvent {
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.menu.freeplay;
|
||||
|
||||
final class FreeplaySongSelectEvent extends CancellableEvent {
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.menu.pause;
|
||||
|
||||
/**
|
||||
* CANCEL this event to prevent default behaviour!
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.menu.storymenu;
|
||||
|
||||
import funkin.menus.StoryMenuState.WeekData;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.note;
|
||||
|
||||
import funkin.game.StrumLine;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.note;
|
||||
|
||||
import funkin.game.Note;
|
||||
|
||||
+19
-2
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.note;
|
||||
|
||||
import funkin.game.Character;
|
||||
import funkin.game.Note;
|
||||
@@ -24,9 +24,19 @@ final class NoteHitEvent extends CancellableEvent {
|
||||
*/
|
||||
public var countScore:Bool = true;
|
||||
/**
|
||||
* Whenever ratings should be shown or not.
|
||||
* Whenever ratings (Rating sprite, Digits sprites and Combo sprite) should be shown or not.
|
||||
*
|
||||
* NOTE: Whether it's `true` use `displayRating` and `displayCombo` (plus `minDigitDisplay` in the PlayState class) to change what's going to pop up!
|
||||
*/
|
||||
public var showRating:Null<Bool> = null;
|
||||
/**
|
||||
* Whenever the Rating sprites should be shown or not.
|
||||
*/
|
||||
public var displayRating:Bool;
|
||||
/**
|
||||
* Whenever the Combo sprite should be shown or not (like old Week 7 patches).
|
||||
*/
|
||||
public var displayCombo:Bool;
|
||||
/**
|
||||
* Note that has been pressed
|
||||
*/
|
||||
@@ -123,6 +133,13 @@ final class NoteHitEvent extends CancellableEvent {
|
||||
@:dox(hide)
|
||||
public function cancelDeletion() {preventDeletion();}
|
||||
|
||||
/**
|
||||
* Forces the note to be deleted.
|
||||
**/
|
||||
public function forceDeletion() {
|
||||
deleteNote = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevents the vocals volume from being set to 1 after pressing the note.
|
||||
*/
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.note;
|
||||
|
||||
import funkin.game.Character;
|
||||
import funkin.game.Note;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.note;
|
||||
|
||||
import funkin.game.Note;
|
||||
import funkin.game.Strum;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.note;
|
||||
|
||||
import funkin.game.Note;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.note;
|
||||
|
||||
import funkin.game.Strum;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package funkin.backend.scripting.events.shader;
|
||||
|
||||
final class ShaderProcessEvent extends CancellableEvent
|
||||
{
|
||||
public var source:String;
|
||||
|
||||
public var storageType:String;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package funkin.backend.scripting.events.soundtray;
|
||||
|
||||
final class SoundTrayShowEvent extends CancellableEvent
|
||||
{
|
||||
public var up:Bool;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package funkin.backend.scripting.events.soundtray;
|
||||
|
||||
final class SoundTrayTextEvent extends CancellableEvent
|
||||
{
|
||||
public var checkIfNull:Bool;
|
||||
|
||||
public var reloadDefaultTextFormat:Bool;
|
||||
|
||||
public var displayTxt:String;
|
||||
|
||||
public var y:Float;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.splash;
|
||||
|
||||
import funkin.game.SplashGroup;
|
||||
import funkin.game.Strum;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.sprite;
|
||||
|
||||
/**
|
||||
Contains all contexts possible for `PlayAnimEvent`.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.sprite;
|
||||
|
||||
final class PlayAnimEvent extends CancellableEvent {
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.stage;
|
||||
|
||||
import funkin.game.Stage;
|
||||
import haxe.xml.Access;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package funkin.backend.scripting.events;
|
||||
package funkin.backend.scripting.events.stage;
|
||||
|
||||
import funkin.game.Stage;
|
||||
import haxe.xml.Access;
|
||||
Reference in New Issue
Block a user