mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-14 20:32:17 +02:00
Enable swapping A and B buttons on keyboard controls, swaps action and cancel between z and x
This commit is contained in:
parent
89411d7b3e
commit
3a0c4fe06f
@ -259,6 +259,11 @@ export default class BattleScene extends SceneBase {
|
||||
this.ui?.update();
|
||||
}
|
||||
|
||||
updateKeyboard () {
|
||||
this.inputController.setupKeyboardControls();
|
||||
this.uiInputs.updateKeyboard();
|
||||
}
|
||||
|
||||
launchBattle() {
|
||||
this.arenaBg = this.add.sprite(0, 0, 'plains_bg');
|
||||
this.arenaBgTransition = this.add.sprite(0, 0, 'plains_bg');
|
||||
|
@ -336,8 +336,8 @@ export class InputsController {
|
||||
[Button.LEFT]: [keyCodes.LEFT, keyCodes.A],
|
||||
[Button.RIGHT]: [keyCodes.RIGHT, keyCodes.D],
|
||||
[Button.SUBMIT]: [keyCodes.ENTER],
|
||||
[Button.ACTION]: [keyCodes.SPACE, keyCodes.Z],
|
||||
[Button.CANCEL]: [keyCodes.BACKSPACE, keyCodes.X],
|
||||
[Button.ACTION]: this.scene.abSwapped ? [keyCodes.SPACE, keyCodes.Z] : [keyCodes.BACKSPACE, keyCodes.X],
|
||||
[Button.CANCEL]: this.scene.abSwapped ? [keyCodes.BACKSPACE, keyCodes.X] : [keyCodes.SPACE, keyCodes.Z],
|
||||
[Button.MENU]: [keyCodes.ESC, keyCodes.M],
|
||||
[Button.STATS]: [keyCodes.SHIFT, keyCodes.C],
|
||||
[Button.CYCLE_SHINY]: [keyCodes.R],
|
||||
@ -385,6 +385,7 @@ export class InputsController {
|
||||
listenInputKeyboard(): void {
|
||||
this.buttonKeys.forEach((row, index) => {
|
||||
for (const key of row) {
|
||||
key.removeAllListeners()
|
||||
key.on('down', () => {
|
||||
this.events.emit('input_down', {
|
||||
controller_type: 'keyboard',
|
||||
|
@ -160,7 +160,9 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer)
|
||||
scene.inputController.setGamepadSupport(settingOptions[setting][value] !== 'Disabled');
|
||||
break;
|
||||
case Setting.Swap_A_and_B:
|
||||
console.log("Swapping A and B")
|
||||
scene.abSwapped = settingOptions[setting][value] !== 'Disabled';
|
||||
scene.updateKeyboard();
|
||||
break;
|
||||
case Setting.Touch_Controls:
|
||||
scene.enableTouchControls = settingOptions[setting][value] !== 'Disabled' && hasTouchscreen();
|
||||
|
@ -14,19 +14,23 @@ export interface ActionKeys {
|
||||
export class UiInputs {
|
||||
private scene: Phaser.Scene;
|
||||
private events: Phaser.Events;
|
||||
private inputsController: InputsController;
|
||||
private inputController: InputsController;
|
||||
|
||||
constructor(scene: Phaser.Scene, inputsController: InputsController) {
|
||||
constructor(scene: Phaser.Scene, inputController: InputsController) {
|
||||
this.scene = scene;
|
||||
this.inputsController = inputsController;
|
||||
this.inputController = inputController;
|
||||
this.init();
|
||||
}
|
||||
|
||||
init(): void {
|
||||
this.events = this.inputsController.events;
|
||||
this.events = this.inputController.events;
|
||||
this.listenInputs();
|
||||
}
|
||||
|
||||
updateKeyboard () {
|
||||
this.inputController.setupKeyboardControls();
|
||||
}
|
||||
|
||||
listenInputs(): void {
|
||||
this.events.on('input_down', (event) => {
|
||||
const actions = this.getActionsKeyDown();
|
||||
|
Loading…
Reference in New Issue
Block a user