feat: 新增队列与外交通知组件及新手引导

引入队列通知(QueueNotifications)和外交通知(DiplomaticNotifications)组件,优化主界面队列与外交报告展示,支持一键查看与跳转。重构App.vue,移除原有队列展示,改为弹出式通知,支持功能解锁提示与新手引导(TutorialOverlay)。完善NPC外交事件处理,导弹攻击等行为影响好感度并生成报告。优化部分UI细节与多语言文本,提升交互体验。
This commit is contained in:
谦君
2025-12-17 21:06:34 +08:00
parent 053bd24855
commit cfcde0b024
38 changed files with 3605 additions and 420 deletions

View File

@@ -39,7 +39,12 @@ export const calculateMaxFleetStorage = (planet: Planet, technologies: Record<Te
const shipyardBonus = BUILDINGS[BuildingType.Shipyard].fleetStorageBonus || 0
maxStorage += shipyardLevel * shipyardBonus
// 3. 计算机技术全局加成
// 3. 机库建筑加成(每个星球独立)
const hangarLevel = planet.buildings[BuildingType.Hangar] || 0
const hangarBonus = BUILDINGS[BuildingType.Hangar].fleetStorageBonus || 0
maxStorage += hangarLevel * hangarBonus
// 4. 计算机技术全局加成
const computerTechLevel = technologies[TechnologyType.ComputerTechnology] || 0
const computerTechBonus = TECHNOLOGIES[TechnologyType.ComputerTechnology].fleetStorageBonus || 0
maxStorage += computerTechLevel * computerTechBonus
@@ -82,5 +87,9 @@ export const getMaxBuildableShips = (planet: Planet, shipType: ShipType, technol
const shipStorageUsage = SHIPS[shipType].storageUsage
if (shipStorageUsage === 0) return Number.MAX_SAFE_INTEGER
// 如果当前已经超限(舰队返回等情况),则不允许建造新舰船
if (availableStorage <= 0) return 0
return Math.floor(availableStorage / shipStorageUsage)
}