feat: 新增NPC与外交逻辑,优化UI组件结构

重构并精简了部分UI组件,移除冗余弹窗与详情组件,新增NPC相关逻辑(npcBehaviorLogic、npcGrowthLogic、npcStore等)及外交逻辑(diplomaticLogic、DiplomacyView)。完善分页、标签、复选框等通用UI组件。优化战报弹窗,调整README下载链接为相对路径,修复部分国际化内容。
This commit is contained in:
谦君
2025-12-15 08:23:45 +08:00
parent 44580909a3
commit 9b9fda0400
164 changed files with 18628 additions and 2775 deletions

View File

@@ -62,6 +62,7 @@ export default {
officers: '軍官',
simulator: '模擬',
galaxy: '星系',
diplomacy: 'Diplomacy',
messages: '訊息',
settings: '設定',
gm: 'GM'
@@ -78,7 +79,7 @@ export default {
crystal: '晶體',
deuterium: '重氫',
darkMatter: '暗物質',
energy: '能量',
energy: '電力',
production: '產量',
consumption: '消耗',
capacity: '容量',
@@ -87,7 +88,7 @@ export default {
perHour: '小時',
perMinute: '分鐘',
hour: '小時',
noEnergy: '能量不足'
noEnergy: '電力不足'
},
planet: {
planet: '星球',
@@ -97,6 +98,8 @@ export default {
coordinates: '座標',
switchToMoon: '查看月球',
backToPlanet: '返回母星',
switchPlanet: '切換星球',
currentPlanet: '當前星球',
fields: '場地',
temperature: '溫度',
homePlanet: '母星',
@@ -112,6 +115,7 @@ export default {
crystalMine: '晶體礦',
deuteriumSynthesizer: '重氫合成器',
solarPlant: '太陽能電站',
fusionReactor: '核聚變反應堆',
roboticsFactory: '機器人工廠',
naniteFactory: '納米工廠',
shipyard: '船塢',
@@ -120,6 +124,8 @@ export default {
crystalStorage: '晶體倉庫',
deuteriumTank: '重氫罐',
darkMatterCollector: '暗物質收集器',
darkMatterTank: '暗物質儲罐',
missileSilo: '導彈發射井',
terraformer: '地形改造器',
lunarBase: '月球基地',
sensorPhalanx: '傳感器陣列',
@@ -130,13 +136,26 @@ export default {
consumption: '消耗',
totalCost: '累積成本',
totalPoints: '累積積分',
levelRange: '等級範圍'
levelRange: '等級範圍',
capacity: '容量/效果',
storageCapacity: '容量',
energyProduction: '電力產出',
fleetStorage: '艦隊倉儲',
buildQueue: '建造隊列',
buildQueueBonus: '建造隊列',
spaceBonus: '空間加成',
buildSpeedBonus: '建造速度加成',
researchSpeedBonus: '研究速度加成',
planetSpace: '行星空間',
moonSpace: '月球空間',
missileCapacity: '導彈容量'
},
buildingDescriptions: {
metalMine: '開採金屬資源',
crystalMine: '開採晶體資源',
deuteriumSynthesizer: '合成重氫資源',
solarPlant: '提供能源',
fusionReactor: '使用重氫產生大量能源',
roboticsFactory: '加快建造速度',
naniteFactory: '增加建造佇列數量,每級+1佇列最多10級',
shipyard: '建造艦船',
@@ -145,6 +164,8 @@ export default {
crystalStorage: '增加晶體儲存上限',
deuteriumTank: '增加重氫儲存上限',
darkMatterCollector: '收集稀有的暗物質資源',
darkMatterTank: '增加暗物質儲存上限',
missileSilo: '存儲和發射導彈每級可存儲10枚導彈',
terraformer: '改造行星地形每級增加5個可用空間',
lunarBase: '增加月球可用空間,每級+5空間',
sensorPhalanx: '偵測周圍星系的艦隊活動',
@@ -156,11 +177,15 @@ export default {
heavyFighter: '重型戰鬥機',
cruiser: '巡洋艦',
battleship: '戰列艦',
battlecruiser: '戰列巡洋艦',
bomber: '轟炸機',
destroyer: '驅逐艦',
smallCargo: '小型運輸船',
largeCargo: '大型運輸船',
colonyShip: '殖民船',
recycler: '回收船',
espionageProbe: '間諜探測器',
solarSatellite: '太陽能衛星',
darkMatterHarvester: '暗物質採集船',
deathstar: '死星'
},
@@ -169,11 +194,15 @@ export default {
heavyFighter: '重裝戰鬥機',
cruiser: '中型戰艦,攻守平衡',
battleship: '強力戰艦',
battlecruiser: '快速強大的戰鬥艦船,擅長攻擊戰列艦',
bomber: '專門對付防禦設施的轟炸艦',
destroyer: '擅長摧毀大型艦船的獵殺者',
smallCargo: '運輸少量資源',
largeCargo: '運輸大量資源',
colonyShip: '用於殖民新星球',
recycler: '收集殘骸場資源',
espionageProbe: '偵察敵方星球',
solarSatellite: '提供額外能源每個產生50點電力',
darkMatterHarvester: '專門用於採集暗物質的特殊飛船',
deathstar: '終極武器,能夠摧毀整個行星'
},
@@ -186,24 +215,38 @@ export default {
plasmaTurret: '等離子炮塔',
smallShieldDome: '小型護盾罩',
largeShieldDome: '大型護盾罩',
antiBallisticMissile: '反彈道導彈',
interplanetaryMissile: '星際導彈',
planetaryShield: '行星護盾'
},
defenseDescriptions: {
rocketLauncher: '基礎防禦設施',
lightLaser: '輕型能量武器',
heavyLaser: '重型能量武器',
lightLaser: '輕型電力武器',
heavyLaser: '重型電力武器',
gaussCannon: '高速動能武器',
ionCannon: '破壞護盾的利器',
plasmaTurret: '強力防禦設施',
smallShieldDome: '保護整個星球的小型護盾',
largeShieldDome: '保護整個星球的大型護盾',
antiBallisticMissile: '攔截敵方導彈每個可攔截1枚星際導彈',
interplanetaryMissile: '可以攻擊其他星球的防禦設施',
planetaryShield: '保護行星免受毀滅攻擊的超級護盾'
},
research: {
researchTime: '研究時間',
totalCost: '累積成本',
totalPoints: '累積積分',
levelRange: '等級範圍'
levelRange: '等級範圍',
capacity: '容量/效果',
attackBonus: '攻擊加成',
shieldBonus: '護盾加成',
armorBonus: '裝甲加成',
spyLevel: '偵查等級',
researchQueueBonus: '研究隊列',
colonySlots: '殖民地槽位',
forAllPlanets: '(全局)',
speedBonus: '速度加成',
researchSpeedBonus: '研究速度加成'
},
technologies: {
energyTechnology: '能源技術',
@@ -212,6 +255,12 @@ export default {
hyperspaceTechnology: '超空間技術',
plasmaTechnology: '等離子技術',
computerTechnology: '計算機技術',
espionageTechnology: '間諜技術',
weaponsTechnology: '武器技術',
shieldingTechnology: '護盾技術',
armourTechnology: '裝甲技術',
astrophysics: '天體物理學',
gravitonTechnology: '引力技術',
combustionDrive: '燃燒引擎',
impulseDrive: '脈衝引擎',
hyperspaceDrive: '超空間引擎',
@@ -226,6 +275,12 @@ export default {
hyperspaceTechnology: '超空間跳躍技術',
plasmaTechnology: '等離子武器技術',
computerTechnology: '增加研究佇列數量,每級+1佇列最多10級',
espionageTechnology: '提高間諜探測效果每級提高1級偵查深度',
weaponsTechnology: '提高艦船和防禦的攻擊力,每級+10%',
shieldingTechnology: '提高艦船和防禦的護盾值,每級+10%',
armourTechnology: '提高艦船和防禦的裝甲值,每級+10%',
astrophysics: '每級增加1個殖民地槽位增加探險成功率',
gravitonTechnology: '研究引力操縱,死星的必要技術',
combustionDrive: '基礎推進技術',
impulseDrive: '中級推進技術',
hyperspaceDrive: '高級推進技術',
@@ -242,7 +297,7 @@ export default {
darkMatterSpecialist: '暗物質專家',
resourceBonus: '資源生產加成',
darkMatterBonus: '暗物質生產加成',
energyBonus: '能量生產加成'
energyBonus: '電力產量加成'
},
officerDescriptions: {
commander: '提升建築速度和管理能力',
@@ -272,11 +327,11 @@ export default {
currentShips: '當前星球的艦船數量',
productionSources: '生產來源',
productionSourcesDesc: '詳細資源生產和加成資訊',
consumptionSources: '消耗來源',
consumptionSourcesDesc: '建築能量消耗詳情',
consumptionSources: '電力消耗來源',
consumptionSourcesDesc: '建築的電力消耗詳情',
totalProduction: '總產量',
totalConsumption: '總消耗',
noConsumption: '無能量消耗'
noConsumption: '當前無電力消耗'
},
buildingsView: {
title: '建築',
@@ -293,7 +348,9 @@ export default {
demolish: '拆除',
demolishRefund: '拆除返還',
demolishFailed: '拆除失敗',
demolishFailedMessage: '無法拆除該建築請檢查建造隊列是否已滿或建築等級是否為0。'
demolishFailedMessage: '無法拆除該建築請檢查建造隊列是否已滿或建築等級是否為0。',
confirmDemolish: '',
confirmDemolishMessage: ''
},
researchView: {
title: '研究',
@@ -380,6 +437,7 @@ export default {
all: '全部',
targetCoordinates: '目標座標',
galaxy: '銀河系',
diplomacy: 'Diplomacy',
system: '星系',
position: '位置',
missionType: '任務類型',
@@ -413,7 +471,11 @@ export default {
cannotSendToOwnPlanet: '無法派遣艦隊到自己的星球',
cargoExceedsCapacity: '載貨量超出限制',
noColonyShip: '需要殖民船才能執行殖民任務',
noDebrisAtTarget: '目標坐標沒有殘骸場或殘骸場已空'
noDebrisAtTarget: '目標坐標沒有殘骸場或殘骸場已空',
noDeathstar: '需要死星才能執行毀滅任務',
giftMode: '贈送模式',
giftModeDescription: '將資源作為禮物贈送給',
estimatedReputationGain: '預計好感度增加'
},
officersView: {
title: '軍官',
@@ -453,11 +515,15 @@ export default {
title: '星系',
selectCoordinates: '選擇座標',
galaxy: '銀河系',
diplomacy: 'Diplomacy',
selectGalaxy: '選擇銀河系',
system: '星系',
selectSystem: '選擇星系',
view: '查看',
myPlanet: '我的星球',
myPlanets: '我的星球',
npcPlanets: 'NPC星球',
selectPlanetToView: '選擇要查看的星球',
totalPositions: '共10個星球位置',
mine: '我的',
hostile: '敵對',
@@ -475,12 +541,17 @@ export default {
scoutPlanetMessage: '確定要派遣間諜探測器偵察星球 [{coordinates}] 嗎?\n\n請前往艦隊頁面選擇艦船並派遣。',
attackPlanetMessage: '確定要攻擊星球 [{coordinates}] 嗎?\n\n請前往艦隊頁面選擇艦船並派遣。',
colonizePlanetMessage: '確定要殖民位置 [{coordinates}] 嗎?\n\n請前往艦隊頁面派遣殖民船。',
recyclePlanetMessage: '確定要回收位置 [{coordinates}] 的殘骸嗎?\n\n請前往艦隊頁面派遣回收船。'
recyclePlanetMessage: '確定要回收位置 [{coordinates}] 的殘骸嗎?\n\n請前往艦隊頁面派遣回收船。',
sendGift: '贈送禮物',
debris: '殘骸',
giftPlanetTitle: '贈送禮物',
giftPlanetMessage: '確定要向星球 [{coordinates}] 贈送資源嗎?\n\n請前往艦隊頁面選擇運輸船並裝載資源。'
},
messagesView: {
title: '訊息中心',
battles: '戰鬥',
spy: '偵查',
npc: 'NPC',
battleReports: '戰鬥報告',
spyReports: '間諜報告',
noBattleReports: '暫無戰鬥報告',
@@ -511,7 +582,48 @@ export default {
hideRoundDetails: '隱藏回合詳情',
round: '第{round}回合',
attackerRemainingPower: '攻擊方剩餘火力',
defenderRemainingPower: '防守方剩餘火力'
defenderRemainingPower: '防守方剩餘火力',
spied: '被偵查',
spiedNotification: '被偵查通知',
noSpiedNotifications: '暫無被偵查通知',
detected: '已發現',
undetected: '未發現',
missions: '任務',
noMissionReports: '暫無任務報告',
success: '成功',
failed: '失敗',
npcActivity: 'NPC活動',
noNPCActivity: '暫無NPC活動通知',
npcRecycleActivity: 'NPC回收殘骸',
gifts: '禮物',
giftRejected: '被拒絕',
noGiftNotifications: '暫無禮物通知',
noGiftRejected: '暫無拒絕記錄',
giftFrom: '{npcName}的禮物',
giftRejectedBy: '{npcName}拒絕了禮物',
giftResources: '禮物資源',
rejectedResources: '被拒絕的資源',
expectedReputation: '預計好感度',
currentReputation: '當前好感度',
acceptGift: '接受',
rejectGift: '拒絕',
rejectionReason: {
hostile: '對方對你有敵意,不接受禮物',
neutral_distrust: '對方對你缺乏信任',
polite_decline: '對方禮貌地拒絕了'
}
},
missionReports: {
transportSuccess: '運輸任務成功完成',
transportFailed: '運輸任務失敗',
colonizeSuccess: '殖民任務成功,新星球已建立',
colonizeFailed: '殖民任務失敗',
deploySuccess: '部署任務成功完成',
deployFailed: '部署任務失敗',
recycleSuccess: '回收任務成功完成',
recycleFailed: '回收任務失敗,目標位置沒有殘骸',
destroySuccess: '行星毀滅任務成功執行',
destroyFailed: '行星毀滅任務失敗'
},
simulatorView: {
title: '戰鬥模擬器',
@@ -613,9 +725,82 @@ export default {
modifyOfficers: '修改軍官',
officersDesc: '快速設定軍官到期時間',
days: '天',
npcTesting: 'NPC 測試',
npcTestingDesc: '測試NPC偵查和攻擊行為',
selectNPC: '選擇NPC',
chooseNPC: '選擇一個NPC',
targetPlanet: '目標星球',
chooseTarget: '選擇目標星球',
testSpy: '測試偵查',
testAttack: '測試攻擊',
testSpyAndAttack: '測試偵查&攻擊',
initializeFleet: '初始化NPC艦隊',
accelerateMissions: '加速所有任務(5秒)',
selectNPCFirst: '請先選擇一個NPC',
npcNoProbes: 'NPC沒有間諜探測器',
npcNoSpyReport: 'NPC需要先偵查',
npcMissionFailed: '創建任務失敗',
dangerZone: '危險區域',
dangerZoneDesc: '以下操作不可撤銷,請謹慎操作',
resetGame: '重置遊戲',
resetGameConfirm: '確定要重置遊戲嗎?這將刪除所有資料!'
},
alerts: {
npcSpyIncoming: 'NPC偵查即將到達',
npcAttackIncoming: 'NPC艦隊來襲',
npcFleetIncoming: 'NPC艦隊接近',
ships: '艘艦船',
spiedBy: '被偵查',
attackedBy: '被攻擊',
detectionSuccess: '偵查被發現',
detectionFailed: '偵查未被發現',
npcSpiedYourPlanet: 'NPC偵查了你的星球',
npcAttackedYourPlanet: 'NPC攻擊了你的星球'
},
diplomacy: {
title: '外交',
description: '管理與NPC的外交關係',
tabs: {
all: '全部',
friendly: '友好',
neutral: '中立',
hostile: '敵對'
},
noNpcs: '沒有NPC',
noFriendlyNpcs: '沒有友好的NPC',
noNeutralNpcs: '沒有中立的NPC',
noHostileNpcs: '沒有敵對的NPC',
recentEvents: '最近事件',
recentEventsDescription: '最近的外交活動記錄',
ago: '前',
status: {
friendly: '友好',
neutral: '中立',
hostile: '敵對'
},
planets: '星球',
allies: '盟友',
reputation: '聲望',
alliedWith: '結盟對象',
more: '更多',
actions: {
gift: '贈送禮物',
viewPlanets: '查看星球'
},
lastEvent: '最近事件',
events: {
gift: '已贈送禮物',
attack: '攻擊',
allyAttacked: '盟友被攻擊',
spy: '間諜活動',
stealDebris: '掠奪殘骸'
}
},
pagination: {
previous: '上一頁',
next: '下一頁',
first: '首頁',
last: '末頁',
page: '第 {page} 頁'
}
}