Add placeholder backpack and inventory UI
This commit is contained in:
@@ -34,6 +34,7 @@ export class GameScene extends Phaser.Scene {
|
||||
// Sub-systems
|
||||
private dungeonRenderer!: DungeonRenderer;
|
||||
private isMenuOpen = false;
|
||||
private isInventoryOpen = false;
|
||||
|
||||
constructor() {
|
||||
super("GameScene");
|
||||
@@ -63,6 +64,9 @@ export class GameScene extends Phaser.Scene {
|
||||
this.events.on("menu-toggled", (isOpen: boolean) => {
|
||||
this.isMenuOpen = isOpen;
|
||||
});
|
||||
this.events.on("inventory-toggled", (isOpen: boolean) => {
|
||||
this.isInventoryOpen = isOpen;
|
||||
});
|
||||
|
||||
// Load initial floor
|
||||
this.loadFloor(1);
|
||||
@@ -89,10 +93,14 @@ export class GameScene extends Phaser.Scene {
|
||||
this.events.emit("close-menu");
|
||||
this.dungeonRenderer.toggleMinimap();
|
||||
});
|
||||
this.input.keyboard?.on("keydown-B", () => {
|
||||
// Toggle inventory
|
||||
this.events.emit("toggle-inventory");
|
||||
});
|
||||
|
||||
this.input.keyboard?.on("keydown-SPACE", () => {
|
||||
if (!this.awaitingPlayer) return;
|
||||
if (this.isMenuOpen || this.dungeonRenderer.isMinimapVisible()) return;
|
||||
if (this.isMenuOpen || this.isInventoryOpen || this.dungeonRenderer.isMinimapVisible()) return;
|
||||
this.commitPlayerAction({ type: "wait" });
|
||||
});
|
||||
|
||||
@@ -114,7 +122,7 @@ export class GameScene extends Phaser.Scene {
|
||||
// Mouse click -> compute path (only during player turn, and not while menu/minimap is open)
|
||||
this.input.on("pointerdown", (p: Phaser.Input.Pointer) => {
|
||||
if (!this.awaitingPlayer) return;
|
||||
if (this.isMenuOpen || this.dungeonRenderer.isMinimapVisible()) return;
|
||||
if (this.isMenuOpen || this.isInventoryOpen || this.dungeonRenderer.isMinimapVisible()) return;
|
||||
|
||||
const tx = Math.floor(p.worldX / TILE_SIZE);
|
||||
const ty = Math.floor(p.worldY / TILE_SIZE);
|
||||
@@ -143,7 +151,7 @@ export class GameScene extends Phaser.Scene {
|
||||
|
||||
update() {
|
||||
if (!this.awaitingPlayer) return;
|
||||
if (this.isMenuOpen || this.dungeonRenderer.isMinimapVisible()) return;
|
||||
if (this.isMenuOpen || this.isInventoryOpen || this.dungeonRenderer.isMinimapVisible()) return;
|
||||
|
||||
// Auto-walk one step per turn
|
||||
if (this.playerPath.length >= 2) {
|
||||
|
||||
Reference in New Issue
Block a user