feat: 新增战报弹窗与舰队模拟器,重构UI组件

新增 BattleReportDialog、SpyReportDialog、NumberWithTooltip 等组件,完善舰队模拟器功能。重构并引入 Sheet、Sidebar、Tooltip、Skeleton 等 UI 组件,优化界面结构。实现 battle.worker 支持战斗计算,增加 universeStore、fleetStorageLogic 等核心逻辑,完善多语言与类型定义。
This commit is contained in:
谦君
2025-12-13 11:14:23 +08:00
parent 8637e50115
commit 731d79673b
160 changed files with 6302 additions and 1931 deletions

View File

@@ -30,6 +30,7 @@
interface Props {
requirements?: Partial<Record<BuildingType | TechnologyType, number>>
currentLevel?: number // 当前建筑/科技等级,用于判断是否已解锁
}
const props = defineProps<Props>()
@@ -39,6 +40,8 @@
const requirementsDialog = ref<InstanceType<typeof AlertDialog> | null>(null)
const isUnlocked = computed(() => {
// 如果已经建造过level > 0则认为已解锁不显示遮罩
if (props.currentLevel !== undefined && props.currentLevel > 0) return true
if (!props.requirements || !gameStore.currentPlanet) return true
return publicLogic.checkRequirements(gameStore.currentPlanet, gameStore.player.technologies, props.requirements)
})