1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2025-03-22 18:09:33 +00:00

WIP on refactoring some classes related to controls

This commit is contained in:
EliteMasterEric 2023-10-31 15:30:47 -04:00
parent 0a4e0861cc
commit b9b1461ab5
19 changed files with 36 additions and 30 deletions

View file

@ -1,5 +1,6 @@
package funkin;
import funkin.input.Controls;
import funkin.play.song.Song;
import flash.text.TextField;
import flixel.addons.display.FlxGridOverlay;
@ -23,7 +24,7 @@ import flixel.tweens.FlxTween;
import flixel.util.FlxColor;
import flixel.util.FlxSpriteUtil;
import flixel.util.FlxTimer;
import funkin.Controls.Control;
import funkin.input.Controls.Control;
import funkin.data.level.LevelRegistry;
import funkin.data.song.SongRegistry;
import funkin.freeplayStuff.BGScrollingText;

View file

@ -10,7 +10,7 @@ import flixel.math.FlxRect;
import flixel.FlxSprite;
import flixel.system.debug.log.LogStyle;
import flixel.util.FlxColor;
import funkin.ui.PreferencesMenu;
import funkin.ui.options.PreferencesMenu;
import funkin.util.macro.MacroUtil;
import funkin.util.WindowUtil;
import funkin.play.PlayStatePlaylist;

View file

@ -1,6 +1,6 @@
package funkin;
import funkin.Controls;
import funkin.input.Controls;
import flixel.input.gamepad.FlxGamepad;
import flixel.input.gamepad.FlxGamepadInputID;
import flixel.input.keyboard.FlxKey;

View file

@ -108,7 +108,7 @@ class MainMenuState extends MusicBeatState
#end
createMenuItem('options', 'mainmenu/options', function() {
startExitState(new funkin.ui.OptionsState());
startExitState(new funkin.ui.options.OptionsState());
});
// Reset position of menu items.

View file

@ -11,6 +11,7 @@ import funkin.modding.PolymodHandler;
import funkin.modding.events.ScriptEvent;
import funkin.modding.module.ModuleHandler;
import funkin.util.SortUtil;
import funkin.input.Controls;
/**
* MusicBeatState actually represents the core utility FlxState of the game.

View file

@ -10,6 +10,7 @@ import funkin.modding.module.ModuleHandler;
import funkin.modding.PolymodHandler;
import funkin.util.SortUtil;
import flixel.util.FlxSort;
import funkin.input.Controls;
/**
* MusicBeatSubState reincorporates the functionality of MusicBeatState into an FlxSubState.

View file

@ -1,6 +0,0 @@
package funkin;
class Options
{
public static var masterVolume:Float = 1;
}

View file

@ -1,7 +1,7 @@
package funkin;
import funkin.save.Save;
import funkin.Controls;
import funkin.input.Controls;
import flixel.FlxCamera;
import funkin.input.PreciseInputManager;
import flixel.input.actions.FlxActionInput;

View file

@ -1,5 +1,4 @@
package funkin;
package funkin.input;
import flixel.input.gamepad.FlxGamepad;
import flixel.util.FlxDirectionFlags;

View file

@ -51,7 +51,7 @@ import funkin.data.song.SongData.SongCharacterData;
import funkin.play.stage.Stage;
import funkin.play.stage.StageData.StageDataParser;
import funkin.ui.PopUpStuff;
import funkin.ui.PreferencesMenu;
import funkin.ui.options.PreferencesMenu;
import funkin.ui.stageBuildShit.StageOffsetSubState;
import funkin.ui.story.StoryMenuState;
import funkin.util.SerializerUtil;

View file

@ -12,7 +12,7 @@ import funkin.play.notes.NoteSplash;
import funkin.play.notes.NoteSprite;
import funkin.play.notes.SustainTrail;
import funkin.data.song.SongData.SongNoteData;
import funkin.ui.PreferencesMenu;
import funkin.ui.options.PreferencesMenu;
import funkin.util.SortUtil;
/**

View file

@ -8,7 +8,7 @@ import flixel.FlxSprite;
import flixel.graphics.FlxGraphic;
import flixel.graphics.tile.FlxDrawTrianglesItem;
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

View file

@ -3,7 +3,7 @@ package funkin.save;
import flixel.util.FlxSave;
import funkin.save.migrator.SaveDataMigrator;
import thx.semver.Version;
import funkin.Controls.Device;
import funkin.input.Controls.Device;
import funkin.save.migrator.RawSaveData_v1_0_0;
@:nullSafety

View file

@ -1,4 +1,4 @@
package funkin;
package funkin.ui.options;
import flixel.FlxSubState;

View file

@ -1,11 +1,11 @@
package funkin.ui;
package funkin.ui.options;
import funkin.data.notestyle.NoteStyleRegistry;
import flixel.addons.effects.chainable.FlxEffectSprite;
import flixel.addons.effects.chainable.FlxOutlineEffect;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.util.FlxColor;
import funkin.ui.OptionsState.Page;
import funkin.ui.options.OptionsState.Page;
import funkin.play.notes.NoteSprite;
class ColorsMenu extends Page

View file

@ -1,4 +1,4 @@
package funkin.ui;
package funkin.ui.options;
import flixel.FlxCamera;
import flixel.FlxObject;
@ -7,12 +7,12 @@ import flixel.group.FlxGroup;
import flixel.input.actions.FlxActionInput;
import flixel.input.gamepad.FlxGamepadInputID;
import flixel.input.keyboard.FlxKey;
import funkin.Controls;
import funkin.input.Controls;
import funkin.ui.AtlasText;
import funkin.ui.MenuList;
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;
static var controlList = Control.createAll();

View file

@ -1,11 +1,11 @@
package funkin.ui;
package funkin.ui.options;
import funkin.modding.PolymodHandler;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.text.FlxText;
import flixel.util.FlxColor;
import polymod.Polymod;
import funkin.ui.OptionsState.Page;
import funkin.ui.options.OptionsState.Page;
class ModMenu extends Page
{

View file

@ -1,4 +1,4 @@
package funkin.ui;
package funkin.ui.options;
import flixel.FlxSprite;
import flixel.FlxSubState;
@ -6,6 +6,7 @@ import flixel.addons.transition.FlxTransitionableState;
import flixel.group.FlxGroup;
import flixel.util.FlxSignal;
import funkin.util.WindowUtil;
import funkin.input.Controls;
class OptionsState extends MusicBeatState
{
@ -33,7 +34,7 @@ class OptionsState extends MusicBeatState
if (options.hasMultipleOptions())
{
options.onExit.add(exitToMainMenu);
controls.onExit.add(switchPage.bind(Options));
controls.onExit.add(exitControls);
preferences.onExit.add(switchPage.bind(Options));
}
else
@ -83,10 +84,19 @@ class OptionsState extends MusicBeatState
function switchPage(name:PageName)
{
// Todo animate?
// TODO: Animate this transition?
setPage(name);
}
function exitControls():Void
{
// Apply any changes to the controls.
PlayerSettings.reset();
PlayerSettings.init();
switchPage(Options);
}
function exitToMainMenu()
{
currentPage.enabled = false;

View file

@ -1,11 +1,11 @@
package funkin.ui;
package funkin.ui.options;
import flixel.FlxCamera;
import flixel.FlxObject;
import flixel.FlxSprite;
import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup;
import funkin.ui.AtlasText.AtlasFont;
import funkin.ui.OptionsState.Page;
import funkin.ui.options.OptionsState.Page;
import funkin.ui.TextMenuList.TextMenuItem;
class PreferencesMenu extends Page