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'
@@ -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: 'Capacity/Effect',
storageCapacity: 'Capacity',
energyProduction: 'Energy Production',
fleetStorage: 'Fleet Storage',
buildQueue: 'Build Queue',
buildQueueBonus: '建造隊列',
spaceBonus: 'スペースボーナス',
buildSpeedBonus: '建設速度ボーナス',
researchSpeedBonus: '研究速度ボーナス',
planetSpace: 'Planet Space',
moonSpace: 'Moon Space',
missileCapacity: 'Missile Capacity'
},
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: '追加エネルギーを提供、衛星1つにつき50エネルギー生成',
darkMatterHarvester: 'ダークマター採取専用の特殊艦',
deathstar: '惑星全体を破壊できる究極兵器'
},
@@ -186,6 +215,8 @@ export default {
plasmaTurret: 'プラズマタレット',
smallShieldDome: '小型シールドドーム',
largeShieldDome: '大型シールドドーム',
antiBallisticMissile: '迎撃ミサイル',
interplanetaryMissile: '惑星間ミサイル',
planetaryShield: '惑星シールド'
},
defenseDescriptions: {
@@ -197,13 +228,23 @@ export default {
plasmaTurret: '強力な防衛施設',
smallShieldDome: '惑星全体を保護する小型シールド',
largeShieldDome: '惑星全体を保護する大型シールド',
antiBallisticMissile: '敵ミサイルを迎撃、惑星間ミサイル1発を迎撃可能',
interplanetaryMissile: '他の惑星の防御施設を攻撃可能',
planetaryShield: '破壊攻撃から惑星を保護する超級シールド'
},
research: {
researchTime: '研究時間',
totalCost: '総コスト',
totalPoints: '総ポイント',
levelRange: 'レベル範囲'
levelRange: 'レベル範囲',
capacity: 'Capacity/Effect',
storageCapacity: 'Capacity',
energyProduction: 'Energy Production',
fleetStorage: 'Fleet Storage',
buildQueue: 'Build Queue',
planetSpace: 'Planet Space',
moonSpace: 'Moon Space',
missileCapacity: 'Missile Capacity'
},
technologies: {
energyTechnology: 'エネルギー技術',
@@ -212,6 +253,12 @@ export default {
hyperspaceTechnology: 'ハイパースペース技術',
plasmaTechnology: 'プラズマ技術',
computerTechnology: 'コンピューター技術',
espionageTechnology: 'スパイ技術',
weaponsTechnology: '兵器技術',
shieldingTechnology: 'シールド技術',
armourTechnology: '装甲技術',
astrophysics: '天体物理学',
gravitonTechnology: '重力技術',
combustionDrive: '燃焼ドライブ',
impulseDrive: 'インパルスドライブ',
hyperspaceDrive: 'ハイパースペースドライブ',
@@ -226,6 +273,12 @@ export default {
hyperspaceTechnology: 'ハイパースペースジャンプ技術',
plasmaTechnology: 'プラズマ兵器技術',
computerTechnology: '研究キュー数を増加、レベル毎に+1最大10レベル',
espionageTechnology: 'スパイ探査機の効果を向上、レベル毎に偵察深度+1',
weaponsTechnology: '艦船と防御の攻撃力をレベル毎に10%増加',
shieldingTechnology: '艦船と防御のシールドをレベル毎に10%増加',
armourTechnology: '艦船と防御の装甲をレベル毎に10%増加',
astrophysics: 'レベル毎に植民地スロット+1、探検成功率を向上',
gravitonTechnology: '重力操作を研究、デススターに必要',
combustionDrive: '基本推進技術',
impulseDrive: '中級推進技術',
hyperspaceDrive: '高級推進技術',
@@ -308,7 +361,9 @@ export default {
demolish: '解体',
demolishRefund: '解体返還',
demolishFailed: '解体失敗',
demolishFailedMessage: 'この建物を解体できません。建設キューが満杯か、建物レベルが0でないか確認してください。'
demolishFailedMessage: 'この建物を解体できません。建設キューが満杯か、建物レベルが0でないか確認してください。',
confirmDemolish: '',
confirmDemolishMessage: ''
},
researchView: {
title: '研究',
@@ -380,6 +435,7 @@ export default {
all: '全て',
targetCoordinates: '目標座標',
galaxy: '銀河',
diplomacy: 'Diplomacy',
system: '星系',
position: '位置',
missionType: 'ミッションタイプ',
@@ -413,7 +469,11 @@ export default {
cannotSendToOwnPlanet: '自分の惑星に艦隊を派遣できません',
cargoExceedsCapacity: '積載量が容量を超えています',
noColonyShip: '植民ミッションにはコロニーシップが必要です',
noDebrisAtTarget: '目標座標にデブリフィールドがないか、デブリフィールドが空です'
noDebrisAtTarget: '目標座標にデブリフィールドがないか、デブリフィールドが空です',
noDeathstar: '破壊ミッションにはデススターが必要です',
giftMode: 'ギフトモード',
giftModeDescription: '資源を贈り物として送る',
estimatedReputationGain: '推定評判獲得'
},
officersView: {
title: '士官',
@@ -453,11 +513,15 @@ export default {
title: '銀河',
selectCoordinates: '座標選択',
galaxy: '銀河',
diplomacy: 'Diplomacy',
selectGalaxy: '銀河を選択',
system: '星系',
selectSystem: '星系を選択',
view: '表示',
myPlanet: '自分の惑星',
myPlanets: '私の惑星',
npcPlanets: 'NPCの惑星',
selectPlanetToView: '表示する惑星を選択',
totalPositions: '全10惑星位置',
mine: '自分',
hostile: '敵対',
@@ -475,12 +539,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 +580,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 +723,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}ページ'
}
}