41 lines
1.6 KiB
Haxe
41 lines
1.6 KiB
Haxe
package funkin.backend.scripting.events.menu.freeplay;
|
|
|
|
import funkin.menus.FreeplayState.FreeplayGameMode;
|
|
|
|
final class FreeplaySongSelectEvent extends CancellableEvent {
|
|
/**
|
|
* Song name that is about to be played
|
|
*/
|
|
public var song:String;
|
|
/**
|
|
* Difficulty name
|
|
*/
|
|
public var difficulty:String;
|
|
/**
|
|
* Variation Name
|
|
*/
|
|
public var variant:String;
|
|
/**
|
|
* Used game mode's data.
|
|
*/
|
|
public var gameMode:FreeplayGameMode;
|
|
|
|
|
|
// Backwards compat
|
|
@:noCompletion public var opponentMode(get, set):Bool;
|
|
@:noCompletion private function get_opponentMode() return gameMode.modeID == "codename.opponent" || gameMode.modeID == "codename.coop-opponent";
|
|
@:noCompletion private function set_opponentMode(val:Bool) {
|
|
gameMode = coopMode ?
|
|
(val ? new FreeplayGameMode("Co-Op Mode (Switched)", "codename.coop-opponent", ["coop-switched", "opponent", "coop"]) : new FreeplayGameMode("Opponent Mode", "codename.opponent", ["opponent"])) :
|
|
(val ? new FreeplayGameMode("Opponent Mode", "codename.opponent", ["opponent"]) : null);
|
|
return val;
|
|
}
|
|
@:noCompletion public var coopMode(get, set):Bool;
|
|
@:noCompletion private function get_coopMode() return gameMode.modeID == "codename.coop" || gameMode.modeID == "codename.coop-opponent";
|
|
@:noCompletion private function set_coopMode(val:Bool) {
|
|
gameMode = opponentMode ?
|
|
(val ? new FreeplayGameMode("Co-Op Mode (Switched)", "codename.coop-opponent", ["coop-switched", "opponent", "coop"]) : new FreeplayGameMode("Co-Op Mode", "codename.coop", ["coop"])) :
|
|
(val ? new FreeplayGameMode("Co-Op Mode", "codename.coop", ["coop"]) : null);
|
|
return val;
|
|
}
|
|
} |