mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-13 11:52:18 +02:00
added placeholder when nogamepads is detected
This commit is contained in:
parent
ae85f1b416
commit
5076625259
@ -506,7 +506,6 @@ export class InputsController {
|
|||||||
return pad_dualshock;
|
return pad_dualshock;
|
||||||
}
|
}
|
||||||
|
|
||||||
// return pad_dualshock;
|
|
||||||
return pad_generic;
|
return pad_generic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -652,7 +651,7 @@ export class InputsController {
|
|||||||
|
|
||||||
getActiveConfig() :GamepadConfig {
|
getActiveConfig() :GamepadConfig {
|
||||||
if (this.configs[this.chosenGamepad]?.padID) return this.configs[this.chosenGamepad]
|
if (this.configs[this.chosenGamepad]?.padID) return this.configs[this.chosenGamepad]
|
||||||
return pad_generic as GamepadConfig;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
getPressedButtonLabel(button: Phaser.Input.Gamepad.Button) {
|
getPressedButtonLabel(button: Phaser.Input.Gamepad.Button) {
|
||||||
|
@ -156,6 +156,17 @@ export default class SettingsGamepadUiHandler extends UiHandler {
|
|||||||
|
|
||||||
this.settingsContainer.add(optionsContainer);
|
this.settingsContainer.add(optionsContainer);
|
||||||
}
|
}
|
||||||
|
this.layout['noGamepads'] = new Map();
|
||||||
|
const optionsContainer = this.scene.add.container(0, 0);
|
||||||
|
optionsContainer.setVisible(false);
|
||||||
|
const label = addTextObject(this.scene, 8, 28, 'Please plug a controller or press a button', TextStyle.SETTINGS_LABEL);
|
||||||
|
label.setOrigin(0, 0);
|
||||||
|
optionsContainer.add(label);
|
||||||
|
this.settingsContainer.add(optionsContainer);
|
||||||
|
|
||||||
|
this.layout['noGamepads'].optionsContainer = optionsContainer;
|
||||||
|
this.layout['noGamepads'].label = label;
|
||||||
|
|
||||||
|
|
||||||
ui.add(this.settingsContainer);
|
ui.add(this.settingsContainer);
|
||||||
|
|
||||||
@ -165,11 +176,18 @@ export default class SettingsGamepadUiHandler extends UiHandler {
|
|||||||
updateBindings(): void {
|
updateBindings(): void {
|
||||||
Object.keys(this.layout).forEach((key) => this.layout[key].optionsContainer.setVisible(false));
|
Object.keys(this.layout).forEach((key) => this.layout[key].optionsContainer.setVisible(false));
|
||||||
const activeConfig = this.scene.inputController.getActiveConfig();
|
const activeConfig = this.scene.inputController.getActiveConfig();
|
||||||
|
if (!activeConfig) {
|
||||||
|
const layout = this.layout['noGamepads'];
|
||||||
|
layout.optionsContainer.setVisible(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
const configType = activeConfig.padType;
|
const configType = activeConfig.padType;
|
||||||
this.cursorObj?.destroy();
|
this.cursorObj?.destroy();
|
||||||
this.cursorObj = null;
|
this.cursorObj = null;
|
||||||
this.scrollCursor = null;
|
this.scrollCursor = null;
|
||||||
const layout = this.layout[configType];
|
const layout = this.layout[configType];
|
||||||
|
console.log('activeConfig', activeConfig);
|
||||||
|
console.log('layout', layout);
|
||||||
this.keys = layout.keys;
|
this.keys = layout.keys;
|
||||||
this.optionsContainer = layout.optionsContainer;
|
this.optionsContainer = layout.optionsContainer;
|
||||||
this.optionsContainer.setVisible(true);
|
this.optionsContainer.setVisible(true);
|
||||||
@ -237,10 +255,12 @@ export default class SettingsGamepadUiHandler extends UiHandler {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Button.LEFT:
|
case Button.LEFT:
|
||||||
|
if (!this.optionCursors) return;
|
||||||
if (this.optionCursors[cursor])
|
if (this.optionCursors[cursor])
|
||||||
success = this.setOptionCursor(cursor, this.optionCursors[cursor] - 1, true);
|
success = this.setOptionCursor(cursor, this.optionCursors[cursor] - 1, true);
|
||||||
break;
|
break;
|
||||||
case Button.RIGHT:
|
case Button.RIGHT:
|
||||||
|
if (!this.optionCursors) return;
|
||||||
if (this.optionCursors[cursor] < this.optionValueLabels[cursor].length - 1)
|
if (this.optionCursors[cursor] < this.optionValueLabels[cursor].length - 1)
|
||||||
success = this.setOptionCursor(cursor, this.optionCursors[cursor] + 1, true);
|
success = this.setOptionCursor(cursor, this.optionCursors[cursor] + 1, true);
|
||||||
break;
|
break;
|
||||||
@ -262,6 +282,7 @@ export default class SettingsGamepadUiHandler extends UiHandler {
|
|||||||
|
|
||||||
setCursor(cursor: integer): boolean {
|
setCursor(cursor: integer): boolean {
|
||||||
const ret = super.setCursor(cursor);
|
const ret = super.setCursor(cursor);
|
||||||
|
if (!this.optionsContainer) return ret;
|
||||||
|
|
||||||
if (!this.cursorObj) {
|
if (!this.cursorObj) {
|
||||||
this.cursorObj = this.scene.add.nineslice(0, 0, 'summary_moves_cursor', null, (this.scene.game.canvas.width / 6) - 10, 16, 1, 1, 1, 1);
|
this.cursorObj = this.scene.add.nineslice(0, 0, 'summary_moves_cursor', null, (this.scene.game.canvas.width / 6) - 10, 16, 1, 1, 1, 1);
|
||||||
@ -279,8 +300,9 @@ export default class SettingsGamepadUiHandler extends UiHandler {
|
|||||||
for (const [index, key] of Object.keys(SettingGamepad).entries()) {
|
for (const [index, key] of Object.keys(SettingGamepad).entries()) {
|
||||||
const setting = SettingGamepad[key]
|
const setting = SettingGamepad[key]
|
||||||
if (setting === SettingGamepad.Default_Controller) {
|
if (setting === SettingGamepad.Default_Controller) {
|
||||||
for (const key of Object.keys(this.layout)) {
|
for (const _key of Object.keys(this.layout)) {
|
||||||
this.layout[key].optionValueLabels[index][0].setText(truncateString(this.scene.inputController.chosenGamepad, 30));
|
if (_key === 'noGamepads') continue;
|
||||||
|
this.layout[_key].optionValueLabels[index][0].setText(truncateString(this.scene.inputController.chosenGamepad, 30));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -324,6 +346,7 @@ export default class SettingsGamepadUiHandler extends UiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateSettingsScroll(): void {
|
updateSettingsScroll(): void {
|
||||||
|
if (!this.optionsContainer) return;
|
||||||
this.optionsContainer.setY(-16 * this.scrollCursor);
|
this.optionsContainer.setY(-16 * this.scrollCursor);
|
||||||
|
|
||||||
for (let s = 0; s < this.settingLabels.length; s++) {
|
for (let s = 0; s < this.settingLabels.length; s++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user