keybindings and other shit

This commit is contained in:
Kade M
2021-06-04 15:56:12 -07:00
parent af3e47be07
commit 4226f95baf
7 changed files with 378 additions and 105 deletions

View File

@ -11,7 +11,7 @@ import flixel.input.gamepad.FlxGamepadButton;
import flixel.input.gamepad.FlxGamepadInputID;
import flixel.input.keyboard.FlxKey;
#if (haxe >= "4.1.0")
#if (haxe >= "4.0.0")
enum abstract Action(String) to String from String
{
var UP = "up";
@ -489,7 +489,9 @@ class Controls extends FlxActionSet
public function setKeyboardScheme(scheme:KeyboardScheme, reset = true)
{
if (reset)
loadKeyBinds();
/*if (reset)
removeKeyboard();
keyboardScheme = scheme;
@ -498,21 +500,22 @@ class Controls extends FlxActionSet
switch (scheme)
{
case Solo:
inline bindKeys(Control.UP, [J, FlxKey.UP]);
inline bindKeys(Control.DOWN, [F, FlxKey.DOWN]);
inline bindKeys(Control.LEFT, [D, FlxKey.LEFT]);
inline bindKeys(Control.RIGHT, [K, FlxKey.RIGHT]);
inline bindKeys(Control.UP, [FlxKey.fromString("W"), FlxKey.UP]);
inline bindKeys(Control.DOWN, [FlxKey.fromString("S"), FlxKey.DOWN]);
inline bindKeys(Control.LEFT, [FlxKey.fromString("A"), FlxKey.LEFT]);
inline bindKeys(Control.RIGHT, [FlxKey.fromString("D"), FlxKey.RIGHT]);
inline bindKeys(Control.ACCEPT, [Z, SPACE, ENTER]);
inline bindKeys(Control.BACK, [BACKSPACE, ESCAPE]);
inline bindKeys(Control.PAUSE, [P, ENTER, ESCAPE]);
inline bindKeys(Control.RESET, [R]);
inline bindKeys(Control.RESET, [FlxKey.fromString("R")]);
case Duo(true):
inline bindKeys(Control.UP, [W, FlxKey.UP]);
inline bindKeys(Control.DOWN, [S, FlxKey.DOWN]);
inline bindKeys(Control.LEFT, [A, FlxKey.LEFT]);
inline bindKeys(Control.RIGHT, [D, FlxKey.RIGHT]);
inline bindKeys(Control.ACCEPT, [G, Z, SPACE, ENTER]);
inline bindKeys(Control.BACK, [BACKSPACE, ESCAPE]);
inline bindKeys(Control.UP, [W, K]);
inline bindKeys(Control.DOWN, [S, J]);
inline bindKeys(Control.LEFT, [A, H]);
inline bindKeys(Control.RIGHT, [D, L]);
inline bindKeys(Control.ACCEPT, [Z]);
inline bindKeys(Control.BACK, [X]);
inline bindKeys(Control.PAUSE, [ONE]);
inline bindKeys(Control.RESET, [R]);
case Duo(false):
inline bindKeys(Control.UP, [FlxKey.UP]);
@ -530,21 +533,21 @@ class Controls extends FlxActionSet
switch (scheme)
{
case Solo:
bindKeys(Control.UP, [W, FlxKey.UP]);
bindKeys(Control.DOWN, [S, FlxKey.DOWN]);
bindKeys(Control.LEFT, [A, FlxKey.LEFT]);
bindKeys(Control.RIGHT, [D, FlxKey.RIGHT]);
bindKeys(Control.UP, [W, K, FlxKey.UP]);
bindKeys(Control.DOWN, [S, J, FlxKey.DOWN]);
bindKeys(Control.LEFT, [A, H, FlxKey.LEFT]);
bindKeys(Control.RIGHT, [D, L, FlxKey.RIGHT]);
bindKeys(Control.ACCEPT, [Z, SPACE, ENTER]);
bindKeys(Control.BACK, [BACKSPACE, ESCAPE]);
bindKeys(Control.PAUSE, [P, ENTER, ESCAPE]);
bindKeys(Control.RESET, [R]);
case Duo(true):
bindKeys(Control.UP, [W]);
bindKeys(Control.DOWN, [S]);
bindKeys(Control.LEFT, [A]);
bindKeys(Control.RIGHT, [D]);
bindKeys(Control.ACCEPT, [G, Z]);
bindKeys(Control.BACK, [H, X]);
bindKeys(Control.UP, [W, K]);
bindKeys(Control.DOWN, [S, J]);
bindKeys(Control.LEFT, [A, H]);
bindKeys(Control.RIGHT, [D, L]);
bindKeys(Control.ACCEPT, [Z]);
bindKeys(Control.BACK, [X]);
bindKeys(Control.PAUSE, [ONE]);
bindKeys(Control.RESET, [R]);
case Duo(false):
@ -559,7 +562,24 @@ class Controls extends FlxActionSet
case None: // nothing
case Custom: // nothing
}
#end
#end*/
}
public function loadKeyBinds()
{
//trace(FlxKey.fromString(FlxG.save.data.upBind));
removeKeyboard();
inline bindKeys(Control.UP, [FlxKey.fromString(FlxG.save.data.upBind), FlxKey.UP]);
inline bindKeys(Control.DOWN, [FlxKey.fromString(FlxG.save.data.downBind), FlxKey.DOWN]);
inline bindKeys(Control.LEFT, [FlxKey.fromString(FlxG.save.data.leftBind), FlxKey.LEFT]);
inline bindKeys(Control.RIGHT, [FlxKey.fromString(FlxG.save.data.rightBind), FlxKey.RIGHT]);
inline bindKeys(Control.ACCEPT, [Z, SPACE, ENTER]);
inline bindKeys(Control.BACK, [BACKSPACE, ESCAPE]);
inline bindKeys(Control.PAUSE, [P, ENTER, ESCAPE]);
inline bindKeys(Control.RESET, [FlxKey.fromString(FlxG.save.data.killBind)]);
}
function removeKeyboard()