feat: battle system, state manager enhancements, engine and demo updates

This commit is contained in:
2026-06-14 15:35:31 +08:00
parent 4d066b53bf
commit d0e901bd1f
12 changed files with 515 additions and 6 deletions

View File

@@ -13,6 +13,8 @@ import AchievementToast from '@/components/AchievementToast.vue'
import AchievementPanel from '@/components/AchievementPanel.vue'
import AccessibilitySettings from '@/components/AccessibilitySettings.vue'
import StoryGallery from '@/components/StoryGallery.vue'
import BattleHUD from '@/components/BattleHUD.vue'
import BattleResult from '@/components/BattleResult.vue'
import { useGameEngine } from '@/composables/useGameEngine'
import { useGameStore } from '@/stores/gameStore'
import { useFullscreen } from '@/composables/useFullscreen'
@@ -346,6 +348,10 @@ init()
<Transition name="prompt-toast">
<div v-if="showPromptToast" class="prompt-toast">{{ promptToast }}</div>
</Transition>
<BattleHUD
v-if="store.currentScene?.battleHUD"
:entries="store.currentScene!.battleHUD"
/>
<div v-if="started && !store.gameEnded && store.choices.length === 0" class="top-bar" :class="{ hidden: !showTopBar }">
<button class="top-btn" @click="toggleFullscreen" :title="t('ui.fullscreen')"></button>
<button class="top-btn" @click="showPauseMenu = true" :title="t('ui.menu')"></button>
@@ -361,6 +367,11 @@ init()
@skip="handleSkip"
@speed-change="handleSpeedChange"
/>
<BattleResult
v-if="store.showBattleResult"
:result="store.battleResultData"
@continue="store.setShowBattleResult(false)"
/>
<MainMenu
v-if="!started || store.gameEnded"
:show-resume="!store.gameEnded && hasAutoSave"