34 lines
761 B
Haxe
34 lines
761 B
Haxe
package funkin.options.keybinds;
|
|
|
|
import flixel.input.keyboard.FlxKey;
|
|
|
|
class ChangeKeybindSubState extends MusicBeatSubstate {
|
|
var callback:FlxKey->Void;
|
|
var cancelCallback:Void->Void;
|
|
|
|
var stillPressed:Bool = true;
|
|
public override function new(callback:FlxKey->Void, cancelCallback:Void->Void) {
|
|
this.callback = callback;
|
|
this.cancelCallback = cancelCallback;
|
|
super();
|
|
}
|
|
|
|
public override function update(elapsed:Float) {
|
|
super.update(elapsed);
|
|
if (stillPressed && controls.ACCEPT)
|
|
return;
|
|
stillPressed = false;
|
|
|
|
var key:FlxKey = FlxG.keys.firstJustPressed();
|
|
if (cast(key, Int) <= 0) return;
|
|
|
|
if (key == ESCAPE && !FlxG.keys.pressed.SHIFT) {
|
|
close();
|
|
cancelCallback();
|
|
return;
|
|
}
|
|
close();
|
|
callback(key);
|
|
return;
|
|
}
|
|
} |