mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2025-02-17 04:11:23 -05:00
FlxAction/Controls.hx accomodations for Android keys
This commit is contained in:
parent
4d97591e30
commit
f40b3a8fe3
1 changed files with 39 additions and 4 deletions
|
@ -7,6 +7,9 @@ import flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDra
|
||||||
import flixel.input.actions.FlxActionInputDigital;
|
import flixel.input.actions.FlxActionInputDigital;
|
||||||
import flixel.input.actions.FlxActionManager;
|
import flixel.input.actions.FlxActionManager;
|
||||||
import flixel.input.actions.FlxActionSet;
|
import flixel.input.actions.FlxActionSet;
|
||||||
|
import flixel.input.android.FlxAndroidKey;
|
||||||
|
import flixel.input.android.FlxAndroidKeyList;
|
||||||
|
import flixel.input.android.FlxAndroidKeys;
|
||||||
import flixel.input.gamepad.FlxGamepadButton;
|
import flixel.input.gamepad.FlxGamepadButton;
|
||||||
import flixel.input.gamepad.FlxGamepadInputID;
|
import flixel.input.gamepad.FlxGamepadInputID;
|
||||||
import flixel.input.keyboard.FlxKey;
|
import flixel.input.keyboard.FlxKey;
|
||||||
|
@ -617,10 +620,12 @@ class Controls extends FlxActionSet
|
||||||
case Custom: // nothing
|
case Custom: // nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
trace('added virtual controls!?');
|
#if android
|
||||||
trace(virutalPad);
|
forEachBound(Control.BACK, function(action, pres)
|
||||||
|
{
|
||||||
if (FlxG.onMobile) {}
|
action.add(new FlxActionInputDigitalAndroid(FlxAndroidKey.BACK, JUST_PRESSED));
|
||||||
|
});
|
||||||
|
#end
|
||||||
}
|
}
|
||||||
|
|
||||||
var virutalPad:FlxVirtualPad;
|
var virutalPad:FlxVirtualPad;
|
||||||
|
@ -822,3 +827,33 @@ typedef SaveInputLists =
|
||||||
?keys:Array<Int>,
|
?keys:Array<Int>,
|
||||||
?pad:Array<Int>
|
?pad:Array<Int>
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Maybe this can be committed to main HaxeFlixel repo?
|
||||||
|
class FlxActionInputDigitalAndroid extends FlxActionInputDigital
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Android buttons action input
|
||||||
|
* @param androidKeyID Key identifier (FlxAndroidKey.BACK, FlxAndroidKey.MENU... those are the only 2 lol)
|
||||||
|
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
|
||||||
|
*/
|
||||||
|
public function new(androidKeyID:FlxAndroidKey, Trigger:FlxInputState)
|
||||||
|
{
|
||||||
|
// if this gets PR'd into HF repo, the "OTHER" device should prob be changed to "MOBILE" or somethin
|
||||||
|
super(FlxInputDevice.OTHER, androidKeyID, Trigger);
|
||||||
|
}
|
||||||
|
|
||||||
|
override public function check(Action:FlxAction):Bool
|
||||||
|
{
|
||||||
|
return switch (trigger)
|
||||||
|
{
|
||||||
|
#if android
|
||||||
|
case PRESSED: FlxG.android.checkStatus(inputID, PRESSED) || FlxG.android.checkStatus(inputID, PRESSED);
|
||||||
|
case RELEASED: FlxG.android.checkStatus(inputID, RELEASED) || FlxG.android.checkStatus(inputID, JUST_RELEASED);
|
||||||
|
case JUST_PRESSED: FlxG.android.checkStatus(inputID, JUST_PRESSED);
|
||||||
|
case JUST_RELEASED: FlxG.android.checkStatus(inputID, JUST_RELEASED);
|
||||||
|
#end
|
||||||
|
|
||||||
|
default: false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue