Support number keys for campaign save slots
This commit is contained in:
@@ -10755,6 +10755,7 @@ export class CampScene extends Phaser.Scene {
|
||||
this.selectedVisitId = this.availableCampVisits()[0]?.id ?? campVisits[0].id;
|
||||
soundDirector.playMusic('militia-theme');
|
||||
this.input.keyboard?.on('keydown-ESC', () => this.handleEscapeKey());
|
||||
this.input.keyboard?.on('keydown', (event: KeyboardEvent) => this.handleSaveSlotKey(event));
|
||||
loadBattleUiIcons(this, () => this.ensureCampAssets(() => this.drawCampScene()));
|
||||
}
|
||||
|
||||
@@ -11980,6 +11981,20 @@ export class CampScene extends Phaser.Scene {
|
||||
this.render();
|
||||
}
|
||||
|
||||
private handleSaveSlotKey(event: KeyboardEvent) {
|
||||
if (this.saveSlotObjects.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const slot = Number(event.key);
|
||||
if (!Number.isInteger(slot) || slot < 1 || slot > campaignSaveSlotCount) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.preventDefault();
|
||||
this.saveCampToSlot(slot);
|
||||
}
|
||||
|
||||
private hideCampSaveSlotPanel() {
|
||||
this.saveSlotObjects.forEach((object) => object.destroy());
|
||||
this.saveSlotObjects = [];
|
||||
|
||||
Reference in New Issue
Block a user