feat: 重构战报弹窗与模拟器视图,优化UI与逻辑

重构BattleReportDialog和BattleSimulatorView相关静态资源,替换旧版JS/CSS文件,提升界面一致性和交互体验。新增和优化空状态、滚动区域等通用UI组件,移除部分冗余composable,完善多语言内容。引入导弹逻辑,补充版本检测工具,提升整体代码结构和可维护性。
This commit is contained in:
谦君
2025-12-15 20:04:40 +08:00
parent 9b9fda0400
commit 59dd7bfd05
126 changed files with 3944 additions and 1487 deletions

View File

@@ -206,7 +206,8 @@ export const MissionType = {
Expedition: 'expedition',
HarvestDarkMatter: 'harvestDarkMatter', // 暗物质采集
Recycle: 'recycle', // 回收残骸
Destroy: 'destroy' // 行星毁灭
Destroy: 'destroy', // 行星毁灭
MissileAttack: 'missileAttack' // 导弹攻击
} as const
export type MissionType = (typeof MissionType)[keyof typeof MissionType]
@@ -284,6 +285,19 @@ export interface FleetMission {
giftTargetNpcId?: string // 赠送目标NPC ID
}
// 导弹攻击任务(不使用舰队系统)
export interface MissileAttack {
id: string
playerId: string
originPlanetId: string
targetPosition: { galaxy: number; system: number; position: number }
targetPlanetId?: string
missileCount: number // 发射的星际导弹数量
launchTime: number
arrivalTime: number
status: 'flying' | 'arrived' | 'intercepted'
}
// 战斗结果
export interface BattleResult {
id: string
@@ -407,6 +421,11 @@ export interface MissionReport {
destroyedPlanetName?: string
// 部署任务:部署的舰队
deployedFleet?: Partial<Fleet>
// 导弹攻击任务:导弹信息
missileCount?: number
missileHits?: number
missileIntercepted?: number
defenseLosses?: Partial<Record<DefenseType, number>>
}
read?: boolean
}
@@ -533,6 +552,7 @@ export interface Player {
officers: Record<OfficerType, Officer>
researchQueue: BuildQueueItem[]
fleetMissions: FleetMission[]
missileAttacks: MissileAttack[] // 导弹攻击任务
battleReports: BattleResult[]
spyReports: SpyReport[]
spiedNotifications: SpiedNotification[] // 被侦查通知
@@ -542,6 +562,9 @@ export interface Player {
giftNotifications: GiftNotification[] // 礼物通知(等待接受/拒绝)
giftRejectedNotifications: GiftRejectedNotification[] // 礼物被拒绝通知
points: number // 总积分每1000资源=1分
isGMEnabled?: boolean // GM模式开关默认false通过秘籍激活
lastVersionCheckTime?: number // 最后一次自动检查版本的时间戳(被动检测)
lastManualUpdateCheck?: number // 最后一次手动检查更新的时间戳(主动检测)
// 外交系统字段
diplomaticRelations?: Record<string, DiplomaticRelation> // 玩家对NPC的关系key: npcId
diplomaticReports?: DiplomaticReport[] // 外交变化报告