mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2025-03-25 11:29:28 +00:00
WIP on refactoring some classes related to controls
This commit is contained in:
parent
0a4e0861cc
commit
b9b1461ab5
|
@ -1,5 +1,6 @@
|
||||||
package funkin;
|
package funkin;
|
||||||
|
|
||||||
|
import funkin.input.Controls;
|
||||||
import funkin.play.song.Song;
|
import funkin.play.song.Song;
|
||||||
import flash.text.TextField;
|
import flash.text.TextField;
|
||||||
import flixel.addons.display.FlxGridOverlay;
|
import flixel.addons.display.FlxGridOverlay;
|
||||||
|
@ -23,7 +24,7 @@ import flixel.tweens.FlxTween;
|
||||||
import flixel.util.FlxColor;
|
import flixel.util.FlxColor;
|
||||||
import flixel.util.FlxSpriteUtil;
|
import flixel.util.FlxSpriteUtil;
|
||||||
import flixel.util.FlxTimer;
|
import flixel.util.FlxTimer;
|
||||||
import funkin.Controls.Control;
|
import funkin.input.Controls.Control;
|
||||||
import funkin.data.level.LevelRegistry;
|
import funkin.data.level.LevelRegistry;
|
||||||
import funkin.data.song.SongRegistry;
|
import funkin.data.song.SongRegistry;
|
||||||
import funkin.freeplayStuff.BGScrollingText;
|
import funkin.freeplayStuff.BGScrollingText;
|
||||||
|
|
|
@ -10,7 +10,7 @@ import flixel.math.FlxRect;
|
||||||
import flixel.FlxSprite;
|
import flixel.FlxSprite;
|
||||||
import flixel.system.debug.log.LogStyle;
|
import flixel.system.debug.log.LogStyle;
|
||||||
import flixel.util.FlxColor;
|
import flixel.util.FlxColor;
|
||||||
import funkin.ui.PreferencesMenu;
|
import funkin.ui.options.PreferencesMenu;
|
||||||
import funkin.util.macro.MacroUtil;
|
import funkin.util.macro.MacroUtil;
|
||||||
import funkin.util.WindowUtil;
|
import funkin.util.WindowUtil;
|
||||||
import funkin.play.PlayStatePlaylist;
|
import funkin.play.PlayStatePlaylist;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package funkin;
|
package funkin;
|
||||||
|
|
||||||
import funkin.Controls;
|
import funkin.input.Controls;
|
||||||
import flixel.input.gamepad.FlxGamepad;
|
import flixel.input.gamepad.FlxGamepad;
|
||||||
import flixel.input.gamepad.FlxGamepadInputID;
|
import flixel.input.gamepad.FlxGamepadInputID;
|
||||||
import flixel.input.keyboard.FlxKey;
|
import flixel.input.keyboard.FlxKey;
|
||||||
|
|
|
@ -108,7 +108,7 @@ class MainMenuState extends MusicBeatState
|
||||||
#end
|
#end
|
||||||
|
|
||||||
createMenuItem('options', 'mainmenu/options', function() {
|
createMenuItem('options', 'mainmenu/options', function() {
|
||||||
startExitState(new funkin.ui.OptionsState());
|
startExitState(new funkin.ui.options.OptionsState());
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset position of menu items.
|
// Reset position of menu items.
|
||||||
|
|
|
@ -11,6 +11,7 @@ import funkin.modding.PolymodHandler;
|
||||||
import funkin.modding.events.ScriptEvent;
|
import funkin.modding.events.ScriptEvent;
|
||||||
import funkin.modding.module.ModuleHandler;
|
import funkin.modding.module.ModuleHandler;
|
||||||
import funkin.util.SortUtil;
|
import funkin.util.SortUtil;
|
||||||
|
import funkin.input.Controls;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MusicBeatState actually represents the core utility FlxState of the game.
|
* MusicBeatState actually represents the core utility FlxState of the game.
|
||||||
|
|
|
@ -10,6 +10,7 @@ import funkin.modding.module.ModuleHandler;
|
||||||
import funkin.modding.PolymodHandler;
|
import funkin.modding.PolymodHandler;
|
||||||
import funkin.util.SortUtil;
|
import funkin.util.SortUtil;
|
||||||
import flixel.util.FlxSort;
|
import flixel.util.FlxSort;
|
||||||
|
import funkin.input.Controls;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MusicBeatSubState reincorporates the functionality of MusicBeatState into an FlxSubState.
|
* MusicBeatSubState reincorporates the functionality of MusicBeatState into an FlxSubState.
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
package funkin;
|
|
||||||
|
|
||||||
class Options
|
|
||||||
{
|
|
||||||
public static var masterVolume:Float = 1;
|
|
||||||
}
|
|
|
@ -1,7 +1,7 @@
|
||||||
package funkin;
|
package funkin;
|
||||||
|
|
||||||
import funkin.save.Save;
|
import funkin.save.Save;
|
||||||
import funkin.Controls;
|
import funkin.input.Controls;
|
||||||
import flixel.FlxCamera;
|
import flixel.FlxCamera;
|
||||||
import funkin.input.PreciseInputManager;
|
import funkin.input.PreciseInputManager;
|
||||||
import flixel.input.actions.FlxActionInput;
|
import flixel.input.actions.FlxActionInput;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
|
package funkin.input;
|
||||||
package funkin;
|
|
||||||
|
|
||||||
import flixel.input.gamepad.FlxGamepad;
|
import flixel.input.gamepad.FlxGamepad;
|
||||||
import flixel.util.FlxDirectionFlags;
|
import flixel.util.FlxDirectionFlags;
|
|
@ -51,7 +51,7 @@ import funkin.data.song.SongData.SongCharacterData;
|
||||||
import funkin.play.stage.Stage;
|
import funkin.play.stage.Stage;
|
||||||
import funkin.play.stage.StageData.StageDataParser;
|
import funkin.play.stage.StageData.StageDataParser;
|
||||||
import funkin.ui.PopUpStuff;
|
import funkin.ui.PopUpStuff;
|
||||||
import funkin.ui.PreferencesMenu;
|
import funkin.ui.options.PreferencesMenu;
|
||||||
import funkin.ui.stageBuildShit.StageOffsetSubState;
|
import funkin.ui.stageBuildShit.StageOffsetSubState;
|
||||||
import funkin.ui.story.StoryMenuState;
|
import funkin.ui.story.StoryMenuState;
|
||||||
import funkin.util.SerializerUtil;
|
import funkin.util.SerializerUtil;
|
||||||
|
|
|
@ -12,7 +12,7 @@ import funkin.play.notes.NoteSplash;
|
||||||
import funkin.play.notes.NoteSprite;
|
import funkin.play.notes.NoteSprite;
|
||||||
import funkin.play.notes.SustainTrail;
|
import funkin.play.notes.SustainTrail;
|
||||||
import funkin.data.song.SongData.SongNoteData;
|
import funkin.data.song.SongData.SongNoteData;
|
||||||
import funkin.ui.PreferencesMenu;
|
import funkin.ui.options.PreferencesMenu;
|
||||||
import funkin.util.SortUtil;
|
import funkin.util.SortUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -8,7 +8,7 @@ import flixel.FlxSprite;
|
||||||
import flixel.graphics.FlxGraphic;
|
import flixel.graphics.FlxGraphic;
|
||||||
import flixel.graphics.tile.FlxDrawTrianglesItem;
|
import flixel.graphics.tile.FlxDrawTrianglesItem;
|
||||||
import flixel.math.FlxMath;
|
import flixel.math.FlxMath;
|
||||||
import funkin.ui.PreferencesMenu;
|
import funkin.ui.options.PreferencesMenu;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is based heavily on the `FlxStrip` class. It uses `drawTriangles()` to clip a sustain note
|
* This is based heavily on the `FlxStrip` class. It uses `drawTriangles()` to clip a sustain note
|
||||||
|
|
|
@ -3,7 +3,7 @@ package funkin.save;
|
||||||
import flixel.util.FlxSave;
|
import flixel.util.FlxSave;
|
||||||
import funkin.save.migrator.SaveDataMigrator;
|
import funkin.save.migrator.SaveDataMigrator;
|
||||||
import thx.semver.Version;
|
import thx.semver.Version;
|
||||||
import funkin.Controls.Device;
|
import funkin.input.Controls.Device;
|
||||||
import funkin.save.migrator.RawSaveData_v1_0_0;
|
import funkin.save.migrator.RawSaveData_v1_0_0;
|
||||||
|
|
||||||
@:nullSafety
|
@:nullSafety
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package funkin;
|
package funkin.ui.options;
|
||||||
|
|
||||||
import flixel.FlxSubState;
|
import flixel.FlxSubState;
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package funkin.ui;
|
package funkin.ui.options;
|
||||||
|
|
||||||
import funkin.data.notestyle.NoteStyleRegistry;
|
import funkin.data.notestyle.NoteStyleRegistry;
|
||||||
import flixel.addons.effects.chainable.FlxEffectSprite;
|
import flixel.addons.effects.chainable.FlxEffectSprite;
|
||||||
import flixel.addons.effects.chainable.FlxOutlineEffect;
|
import flixel.addons.effects.chainable.FlxOutlineEffect;
|
||||||
import flixel.group.FlxGroup.FlxTypedGroup;
|
import flixel.group.FlxGroup.FlxTypedGroup;
|
||||||
import flixel.util.FlxColor;
|
import flixel.util.FlxColor;
|
||||||
import funkin.ui.OptionsState.Page;
|
import funkin.ui.options.OptionsState.Page;
|
||||||
import funkin.play.notes.NoteSprite;
|
import funkin.play.notes.NoteSprite;
|
||||||
|
|
||||||
class ColorsMenu extends Page
|
class ColorsMenu extends Page
|
|
@ -1,4 +1,4 @@
|
||||||
package funkin.ui;
|
package funkin.ui.options;
|
||||||
|
|
||||||
import flixel.FlxCamera;
|
import flixel.FlxCamera;
|
||||||
import flixel.FlxObject;
|
import flixel.FlxObject;
|
||||||
|
@ -7,12 +7,12 @@ import flixel.group.FlxGroup;
|
||||||
import flixel.input.actions.FlxActionInput;
|
import flixel.input.actions.FlxActionInput;
|
||||||
import flixel.input.gamepad.FlxGamepadInputID;
|
import flixel.input.gamepad.FlxGamepadInputID;
|
||||||
import flixel.input.keyboard.FlxKey;
|
import flixel.input.keyboard.FlxKey;
|
||||||
import funkin.Controls;
|
import funkin.input.Controls;
|
||||||
import funkin.ui.AtlasText;
|
import funkin.ui.AtlasText;
|
||||||
import funkin.ui.MenuList;
|
import funkin.ui.MenuList;
|
||||||
import funkin.ui.TextMenuList;
|
import funkin.ui.TextMenuList;
|
||||||
|
|
||||||
class ControlsMenu extends funkin.ui.OptionsState.Page
|
class ControlsMenu extends funkin.ui.options.OptionsState.Page
|
||||||
{
|
{
|
||||||
public static inline final COLUMNS = 2;
|
public static inline final COLUMNS = 2;
|
||||||
static var controlList = Control.createAll();
|
static var controlList = Control.createAll();
|
|
@ -1,11 +1,11 @@
|
||||||
package funkin.ui;
|
package funkin.ui.options;
|
||||||
|
|
||||||
import funkin.modding.PolymodHandler;
|
import funkin.modding.PolymodHandler;
|
||||||
import flixel.group.FlxGroup.FlxTypedGroup;
|
import flixel.group.FlxGroup.FlxTypedGroup;
|
||||||
import flixel.text.FlxText;
|
import flixel.text.FlxText;
|
||||||
import flixel.util.FlxColor;
|
import flixel.util.FlxColor;
|
||||||
import polymod.Polymod;
|
import polymod.Polymod;
|
||||||
import funkin.ui.OptionsState.Page;
|
import funkin.ui.options.OptionsState.Page;
|
||||||
|
|
||||||
class ModMenu extends Page
|
class ModMenu extends Page
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
package funkin.ui;
|
package funkin.ui.options;
|
||||||
|
|
||||||
import flixel.FlxSprite;
|
import flixel.FlxSprite;
|
||||||
import flixel.FlxSubState;
|
import flixel.FlxSubState;
|
||||||
|
@ -6,6 +6,7 @@ import flixel.addons.transition.FlxTransitionableState;
|
||||||
import flixel.group.FlxGroup;
|
import flixel.group.FlxGroup;
|
||||||
import flixel.util.FlxSignal;
|
import flixel.util.FlxSignal;
|
||||||
import funkin.util.WindowUtil;
|
import funkin.util.WindowUtil;
|
||||||
|
import funkin.input.Controls;
|
||||||
|
|
||||||
class OptionsState extends MusicBeatState
|
class OptionsState extends MusicBeatState
|
||||||
{
|
{
|
||||||
|
@ -33,7 +34,7 @@ class OptionsState extends MusicBeatState
|
||||||
if (options.hasMultipleOptions())
|
if (options.hasMultipleOptions())
|
||||||
{
|
{
|
||||||
options.onExit.add(exitToMainMenu);
|
options.onExit.add(exitToMainMenu);
|
||||||
controls.onExit.add(switchPage.bind(Options));
|
controls.onExit.add(exitControls);
|
||||||
preferences.onExit.add(switchPage.bind(Options));
|
preferences.onExit.add(switchPage.bind(Options));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -83,10 +84,19 @@ class OptionsState extends MusicBeatState
|
||||||
|
|
||||||
function switchPage(name:PageName)
|
function switchPage(name:PageName)
|
||||||
{
|
{
|
||||||
// Todo animate?
|
// TODO: Animate this transition?
|
||||||
setPage(name);
|
setPage(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function exitControls():Void
|
||||||
|
{
|
||||||
|
// Apply any changes to the controls.
|
||||||
|
PlayerSettings.reset();
|
||||||
|
PlayerSettings.init();
|
||||||
|
|
||||||
|
switchPage(Options);
|
||||||
|
}
|
||||||
|
|
||||||
function exitToMainMenu()
|
function exitToMainMenu()
|
||||||
{
|
{
|
||||||
currentPage.enabled = false;
|
currentPage.enabled = false;
|
|
@ -1,11 +1,11 @@
|
||||||
package funkin.ui;
|
package funkin.ui.options;
|
||||||
|
|
||||||
import flixel.FlxCamera;
|
import flixel.FlxCamera;
|
||||||
import flixel.FlxObject;
|
import flixel.FlxObject;
|
||||||
import flixel.FlxSprite;
|
import flixel.FlxSprite;
|
||||||
import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup;
|
import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup;
|
||||||
import funkin.ui.AtlasText.AtlasFont;
|
import funkin.ui.AtlasText.AtlasFont;
|
||||||
import funkin.ui.OptionsState.Page;
|
import funkin.ui.options.OptionsState.Page;
|
||||||
import funkin.ui.TextMenuList.TextMenuItem;
|
import funkin.ui.TextMenuList.TextMenuItem;
|
||||||
|
|
||||||
class PreferencesMenu extends Page
|
class PreferencesMenu extends Page
|
Loading…
Reference in a new issue