Fix Freeplay -> Chart Editor debug key not being processed properly
This commit is contained in:
@@ -1531,6 +1531,7 @@ class FreeplayState extends MusicBeatSubState
|
||||
}
|
||||
|
||||
handleDifficultySwitch();
|
||||
handleDebugKeys();
|
||||
|
||||
#if FEATURE_TOUCH_CONTROLS
|
||||
if (TouchUtil.justReleased)
|
||||
@@ -1617,6 +1618,51 @@ class FreeplayState extends MusicBeatSubState
|
||||
}
|
||||
}
|
||||
|
||||
function handleDebugKeys():Void
|
||||
{
|
||||
#if FEATURE_CHART_EDITOR
|
||||
if (controls.DEBUG_CHART && !busy)
|
||||
{
|
||||
busy = true;
|
||||
var targetSongID = grpCapsules.members[curSelected]?.freeplayData?.data.id ?? 'unknown';
|
||||
if (targetSongID == 'unknown')
|
||||
{
|
||||
trace('CHART RANDOM SONG');
|
||||
letterSort.inputEnabled = false;
|
||||
|
||||
var availableSongCapsules:Array<SongMenuItem> = grpCapsules.members.filter(function(cap:SongMenuItem) {
|
||||
// Dead capsules are ones which were removed from the list when changing filters.
|
||||
return cap.alive && cap.freeplayData != null;
|
||||
});
|
||||
|
||||
trace('Available songs: ${availableSongCapsules.map(function(cap) {
|
||||
return cap?.freeplayData?.data.songName;
|
||||
})}');
|
||||
|
||||
if (availableSongCapsules.length == 0)
|
||||
{
|
||||
trace('No songs available!');
|
||||
busy = false;
|
||||
letterSort.inputEnabled = true;
|
||||
FunkinSound.playOnce(Paths.sound('cancelMenu'));
|
||||
return;
|
||||
}
|
||||
|
||||
var targetSong:SongMenuItem = FlxG.random.getObject(availableSongCapsules);
|
||||
|
||||
// Seeing if I can do an animation...
|
||||
curSelected = grpCapsules.members.indexOf(targetSong);
|
||||
changeSelection(0);
|
||||
targetSongID = grpCapsules.members[curSelected]?.freeplayData?.data.id ?? 'unknown';
|
||||
}
|
||||
FlxG.switchState(() -> new ChartEditorState(
|
||||
{
|
||||
targetSongId: targetSongID,
|
||||
}));
|
||||
}
|
||||
#end
|
||||
}
|
||||
|
||||
#if FEATURE_TOUCH_CONTROLS
|
||||
private function handleTouchCapsuleClick():Void
|
||||
{
|
||||
@@ -1852,48 +1898,6 @@ class FreeplayState extends MusicBeatSubState
|
||||
freeplayTxtBg.x = FullScreenScaleMode.gameNotchSize.x;
|
||||
_pressedOnFreeplay = false;
|
||||
}
|
||||
|
||||
#if FEATURE_CHART_EDITOR
|
||||
if (controls.DEBUG_CHART && !busy)
|
||||
{
|
||||
busy = true;
|
||||
var targetSongID = grpCapsules.members[curSelected]?.freeplayData?.data.id ?? 'unknown';
|
||||
if (targetSongID == 'unknown')
|
||||
{
|
||||
trace('CHART RANDOM SONG');
|
||||
letterSort.inputEnabled = false;
|
||||
|
||||
var availableSongCapsules:Array<SongMenuItem> = grpCapsules.members.filter(function(cap:SongMenuItem) {
|
||||
// Dead capsules are ones which were removed from the list when changing filters.
|
||||
return cap.alive && cap.freeplayData != null;
|
||||
});
|
||||
|
||||
trace('Available songs: ${availableSongCapsules.map(function(cap) {
|
||||
return cap?.freeplayData?.data.songName;
|
||||
})}');
|
||||
|
||||
if (availableSongCapsules.length == 0)
|
||||
{
|
||||
trace('No songs available!');
|
||||
busy = false;
|
||||
letterSort.inputEnabled = true;
|
||||
FunkinSound.playOnce(Paths.sound('cancelMenu'));
|
||||
return;
|
||||
}
|
||||
|
||||
var targetSong:SongMenuItem = FlxG.random.getObject(availableSongCapsules);
|
||||
|
||||
// Seeing if I can do an animation...
|
||||
curSelected = grpCapsules.members.indexOf(targetSong);
|
||||
changeSelection(0);
|
||||
targetSongID = grpCapsules.members[curSelected]?.freeplayData?.data.id ?? 'unknown';
|
||||
}
|
||||
FlxG.switchState(() -> new ChartEditorState(
|
||||
{
|
||||
targetSongId: targetSongID,
|
||||
}));
|
||||
}
|
||||
#end
|
||||
}
|
||||
#end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user