From 6ebfcc6c4d0bdd122e58eb3be5e8ee1976d55f81 Mon Sep 17 00:00:00 2001 From: hypercross Date: Sun, 5 Apr 2026 00:06:48 +0800 Subject: [PATCH] fix: update button to choose cat --- .../boop-game/src/scenes/PieceTypeSelector.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/boop-game/src/scenes/PieceTypeSelector.ts b/packages/boop-game/src/scenes/PieceTypeSelector.ts index 4ccfc26..c8c3d0e 100644 --- a/packages/boop-game/src/scenes/PieceTypeSelector.ts +++ b/packages/boop-game/src/scenes/PieceTypeSelector.ts @@ -44,6 +44,8 @@ export class PieceTypeSelector { bg.setInteractive({ useHandCursor: true }); bg.on('pointerdown', () => { this.selectedType = type; + // 立即更新按钮高亮状态 + this.updateButtonsVisual(); this.typeChangeCallback?.(this.selectedType); }); @@ -54,6 +56,21 @@ export class PieceTypeSelector { this.typeChangeCallback = callback; } + /** + * 立即更新按钮的视觉高亮状态(不依赖游戏状态变化) + */ + private updateButtonsVisual(): void { + const kittenBg = this.kittenButton.list[0] as Phaser.GameObjects.Rectangle; + const kittenText = this.kittenButton.list[1] as Phaser.GameObjects.Text; + const catBg = this.catButton.list[0] as Phaser.GameObjects.Rectangle; + const catText = this.catButton.list[1] as Phaser.GameObjects.Text; + + // 更新小猫按钮 + kittenBg.setFillStyle(this.selectedType === 'kitten' ? 0xfbbf24 : 0xe5e7eb); + // 更新大猫按钮 + catBg.setFillStyle(this.selectedType === 'cat' ? 0xfbbf24 : 0xe5e7eb); + } + getSelectedType(): PieceType { return this.selectedType; }