Files
ogame-vue-ts/docs/assets/BattleReportDialog-CGjL16c6.js
谦君 9b9fda0400 feat: 新增NPC与外交逻辑,优化UI组件结构
重构并精简了部分UI组件,移除冗余弹窗与详情组件,新增NPC相关逻辑(npcBehaviorLogic、npcGrowthLogic、npcStore等)及外交逻辑(diplomaticLogic、DiplomacyView)。完善分页、标签、复选框等通用UI组件。优化战报弹窗,调整README下载链接为相对路径,修复部分国际化内容。
2025-12-15 08:23:45 +08:00

1 line
11 KiB
JavaScript

import{$t as e,Cn as t,En as n,Gn as r,Gt as i,Jt as a,Ln as o,Qt as s,Xn as c,Xt as l,Yt as u,Zt as d,en as f,gn as p,mn as m,qn as ee,tn as h}from"./game-logic-Bi1l7y4K.js";import{a as te,c as ne,p as re}from"./vendor-icons-z9V6Jdbh.js";import{t as ie}from"./TooltipProvider-BwjgS8_x.js";import{A as ae,F as g,I as _,K as oe,M as se,N as v,O as ce,P as y,W as le,d as ue,f as b,j as de,k as x,n as S,q as C}from"./index-BT5w6et-.js";import{t as w}from"./useGameConfig-b98LOtBY.js";var T={key:0,class:`space-y-4`},E={class:`grid grid-cols-1 md:grid-cols-2 gap-4 text-sm`},D={class:`p-3 bg-blue-50 dark:bg-blue-950/20 rounded-lg`},O={class:`font-medium text-blue-600 dark:text-blue-400 mb-1`},k={key:0,class:`text-xs text-muted-foreground`},A={key:1,class:`text-xs text-muted-foreground`},j={class:`p-3 bg-red-50 dark:bg-red-950/20 rounded-lg`},M={class:`font-medium text-red-600 dark:text-red-400 mb-1`},N={key:0,class:`text-xs text-muted-foreground`},P={key:1,class:`text-xs text-muted-foreground`},F={class:`text-lg font-bold`},I={key:0,class:`text-sm mt-1`},L={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},R={class:`space-y-2`},z={class:`text-sm font-medium text-red-600 dark:text-red-400`},B={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},V={class:`text-muted-foreground`},H={class:`ml-2 font-medium`},fe={key:0,class:`text-muted-foreground`},pe={class:`space-y-2`},me={class:`text-sm font-medium text-red-600 dark:text-red-400`},he={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},ge={class:`text-muted-foreground`},_e={class:`ml-2 font-medium`},ve={class:`text-muted-foreground`},ye={class:`ml-2 font-medium`},be={key:0,class:`text-muted-foreground`},xe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Se={key:0,class:`space-y-2`},Ce={class:`text-sm font-medium text-blue-600 dark:text-blue-400`},we={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},Te={class:`text-muted-foreground`},Ee={class:`ml-2 font-medium`},De={key:1,class:`space-y-2`},Oe={class:`text-sm font-medium text-blue-600 dark:text-blue-400`},ke={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},Ae={class:`text-muted-foreground`},je={class:`ml-2 font-medium`},Me={class:`text-muted-foreground`},Ne={class:`ml-2 font-medium`},Pe={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Fe={key:0,class:`p-3 bg-green-50 dark:bg-green-950 rounded-lg`},Ie={class:`text-sm font-medium mb-2 text-green-600 dark:text-green-400`},Le={class:`flex flex-wrap gap-3 text-xs`},Re={key:0,class:`flex items-center gap-1`},ze={key:1,class:`flex items-center gap-1`},Be={key:2,class:`flex items-center gap-1`},Ve={key:1,class:`p-3 bg-muted rounded-lg`},He={class:`text-sm font-medium mb-2`},Ue={class:`flex flex-wrap gap-3 text-xs`},We={key:0,class:`flex items-center gap-1`},Ge={key:1,class:`flex items-center gap-1`},Ke={key:0,class:`text-xs text-muted-foreground mt-2`},qe={key:1,class:`space-y-2`},Je={key:0,class:`relative pl-6 space-y-4`},Ye={class:`border rounded-lg p-3 bg-card hover:shadow-md transition-shadow`},Xe={class:`flex items-center justify-between mb-3`},Ze={class:`text-sm font-semibold`},Qe={class:`flex gap-3 text-xs text-muted-foreground`},$e={class:`flex items-center gap-1`},et={class:`flex items-center gap-1`},tt={class:`grid grid-cols-1 md:grid-cols-2 gap-3`},nt={class:`bg-red-50 dark:bg-red-950/20 rounded p-2`},rt={class:`text-xs font-medium text-red-600 dark:text-red-400 mb-1.5`},it={class:`text-xs space-y-0.5`},at={class:`text-muted-foreground`},ot={class:`font-medium`},st={key:0,class:`text-muted-foreground italic`},ct={class:`bg-blue-50 dark:bg-blue-950/20 rounded p-2`},lt={class:`text-xs font-medium text-blue-600 dark:text-blue-400 mb-1.5`},ut={class:`text-xs space-y-0.5`},dt={class:`text-muted-foreground`},U={class:`font-medium`},ft={class:`text-muted-foreground`},pt={class:`font-medium`},mt={key:0,class:`text-muted-foreground italic`},W=h({__name:`BattleReportDialog`,props:{report:{},open:{type:Boolean}},emits:[`update:open`],setup(h,{emit:W}){let G=h,ht=W,K=C(),gt=S(),{t:q}=oe(),{SHIPS:J,DEFENSES:Y}=w(),X=o(G.open),Z=o(!1),Q=a(()=>G.report?K.player.planets.find(e=>e.id===G.report.attackerPlanetId):null),$=a(()=>G.report?K.player.planets.find(e=>e.id===G.report.defenderPlanetId)||Object.values(gt.planets).find(e=>e.id===G.report.defenderPlanetId):null);t(()=>G.open,e=>{X.value=e,e&&(Z.value=!1)}),t(X,e=>{ht(`update:open`,e)});let _t=e=>e===`attacker`?`bg-green-50 dark:bg-green-950 text-green-700 dark:text-green-300`:e===`defender`?`bg-red-50 dark:bg-red-950 text-red-700 dark:text-red-300`:`bg-gray-50 dark:bg-gray-950 text-gray-700 dark:text-gray-300`;return(t,a)=>(m(),l(r(se),{open:X.value,"onUpdate:open":a[1]||=e=>X.value=e},{default:n(()=>[f(r(x),{"container-class":`sm:max-w-4xl max-h-[90vh]`},{header:n(()=>[f(r(ae),null,{default:n(()=>[f(r(ce),{class:`flex items-center gap-2`},{default:n(()=>[f(r(te),{class:`h-5 w-5`}),e(` `+c(r(q)(`messagesView.battleReport`)),1)]),_:1}),h.report?(m(),l(r(de),{key:0},{default:n(()=>[e(c(r(ue)(h.report.timestamp)),1)]),_:1})):d(``,!0)]),_:1})]),default:n(()=>[h.report?(m(),s(`div`,T,[u(`div`,E,[u(`div`,D,[u(`p`,O,c(r(q)(`simulatorView.attacker`)),1),Q.value?(m(),s(`p`,k,c(Q.value.name)+` [`+c(Q.value.position.galaxy)+`:`+c(Q.value.position.system)+`:`+c(Q.value.position.position)+`] `,1)):(m(),s(`p`,A,c(h.report.attackerPlanetId),1))]),u(`div`,j,[u(`p`,M,c(r(q)(`simulatorView.defender`)),1),$.value?(m(),s(`p`,N,c($.value.name)+` [`+c($.value.position.galaxy)+`:`+c($.value.position.system)+`:`+c($.value.position.position)+`] `,1)):(m(),s(`p`,P,c(h.report.defenderPlanetId),1))])]),u(`div`,{class:ee([`text-center p-4 rounded-lg`,_t(h.report.winner)])},[u(`p`,F,c(h.report.winner===`attacker`?r(q)(`messagesView.victory`):h.report.winner===`defender`?r(q)(`messagesView.defeat`):r(q)(`messagesView.draw`)),1),h.report.rounds?(m(),s(`p`,I,c(r(q)(`simulatorView.afterRounds`).replace(`{rounds}`,String(h.report.rounds))),1)):d(``,!0)],2),u(`div`,L,[u(`div`,R,[u(`p`,z,c(r(q)(`messagesView.attackerLosses`)),1),u(`div`,B,[(m(!0),s(i,null,p(h.report.attackerLosses,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,V,c(r(J)[t].name)+`:`,1),u(`span`,H,c(e),1)]))),128)),Object.keys(h.report.attackerLosses).length===0?(m(),s(`p`,fe,c(r(q)(`messagesView.noLosses`)),1)):d(``,!0)])]),u(`div`,pe,[u(`p`,me,c(r(q)(`messagesView.defenderLosses`)),1),u(`div`,he,[(m(!0),s(i,null,p(h.report.defenderLosses.fleet,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,ge,c(r(J)[t].name)+`:`,1),u(`span`,_e,c(e),1)]))),128)),(m(!0),s(i,null,p(h.report.defenderLosses.defense,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,ve,c(r(Y)[t].name)+`:`,1),u(`span`,ye,c(e),1)]))),128)),Object.keys(h.report.defenderLosses.fleet).length===0&&Object.keys(h.report.defenderLosses.defense).length===0?(m(),s(`p`,be,c(r(q)(`messagesView.noLosses`)),1)):d(``,!0)])])]),h.report.attackerRemaining||h.report.defenderRemaining?(m(),s(`div`,xe,[h.report.attackerRemaining&&Object.keys(h.report.attackerRemaining).length>0?(m(),s(`div`,Se,[u(`p`,Ce,c(r(q)(`messagesView.attackerRemaining`)),1),u(`div`,we,[(m(!0),s(i,null,p(h.report.attackerRemaining,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,Te,c(r(J)[t].name)+`:`,1),u(`span`,Ee,c(e),1)]))),128))])])):d(``,!0),h.report.defenderRemaining&&(Object.keys(h.report.defenderRemaining.fleet||{}).length>0||Object.keys(h.report.defenderRemaining.defense||{}).length>0)?(m(),s(`div`,De,[u(`p`,Oe,c(r(q)(`messagesView.defenderRemaining`)),1),u(`div`,ke,[(m(!0),s(i,null,p(h.report.defenderRemaining.fleet,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,Ae,c(r(J)[t].name)+`:`,1),u(`span`,je,c(e),1)]))),128)),(m(!0),s(i,null,p(h.report.defenderRemaining.defense,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,Me,c(r(Y)[t].name)+`:`,1),u(`span`,Ne,c(e),1)]))),128))])])):d(``,!0)])):d(``,!0),u(`div`,Pe,[h.report.plunder&&(h.report.plunder.metal>0||h.report.plunder.crystal>0||h.report.plunder.deuterium>0)?(m(),s(`div`,Fe,[u(`p`,Ie,c(r(q)(`messagesView.plunder`)),1),u(`div`,Le,[h.report.plunder.metal>0?(m(),s(`span`,Re,[f(v,{type:`metal`,size:`sm`}),e(` `+c(r(b)(h.report.plunder.metal)),1)])):d(``,!0),h.report.plunder.crystal>0?(m(),s(`span`,ze,[f(v,{type:`crystal`,size:`sm`}),e(` `+c(r(b)(h.report.plunder.crystal)),1)])):d(``,!0),h.report.plunder.deuterium>0?(m(),s(`span`,Be,[f(v,{type:`deuterium`,size:`sm`}),e(` `+c(r(b)(h.report.plunder.deuterium)),1)])):d(``,!0)])])):d(``,!0),h.report.debrisField&&(h.report.debrisField.metal>0||h.report.debrisField.crystal>0)?(m(),s(`div`,Ve,[u(`p`,He,c(r(q)(`messagesView.debrisField`)),1),u(`div`,Ue,[h.report.debrisField.metal>0?(m(),s(`span`,We,[f(v,{type:`metal`,size:`sm`}),e(` `+c(r(b)(h.report.debrisField.metal)),1)])):d(``,!0),h.report.debrisField.crystal>0?(m(),s(`span`,Ge,[f(v,{type:`crystal`,size:`sm`}),e(` `+c(r(b)(h.report.debrisField.crystal)),1)])):d(``,!0)]),h.report.moonChance&&h.report.moonChance>0?(m(),s(`p`,Ke,c(r(q)(`messagesView.moonChance`))+`: `+c((h.report.moonChance*100).toFixed(1))+`% `,1)):d(``,!0)])):d(``,!0)]),h.report.roundDetails&&h.report.roundDetails.length>0?(m(),s(`div`,qe,[f(r(le),{onClick:a[0]||=e=>Z.value=!Z.value,variant:`outline`,size:`sm`,class:`w-full`},{default:n(()=>[e(c(Z.value?r(q)(`messagesView.hideRoundDetails`):r(q)(`messagesView.showRoundDetails`)),1)]),_:1}),Z.value?(m(),s(`div`,Je,[a[3]||=u(`div`,{class:`absolute left-2 top-0 bottom-0 w-0.5 bg-border`},null,-1),(m(!0),s(i,null,p(h.report.roundDetails,t=>(m(),s(`div`,{key:t.round,class:`relative`},[a[2]||=u(`div`,{class:`absolute -left-6 top-3 w-4 h-4 rounded-full bg-primary border-2 border-background`},null,-1),u(`div`,Ye,[u(`div`,Xe,[u(`p`,Ze,c(r(q)(`messagesView.round`).replace(`{round}`,String(t.round))),1),f(r(ie),{"delay-duration":300},{default:n(()=>[u(`div`,Qe,[f(r(_),null,{default:n(()=>[f(r(y),{"as-child":``},{default:n(()=>[u(`span`,$e,[f(r(ne),{class:`h-3 w-3`}),e(` `+c(r(b)(t.attackerRemainingPower)),1)])]),_:2},1024),f(r(g),null,{default:n(()=>[u(`p`,null,c(r(q)(`messagesView.attackerRemainingPower`)),1)]),_:1})]),_:2},1024),f(r(_),null,{default:n(()=>[f(r(y),{"as-child":``},{default:n(()=>[u(`span`,et,[f(r(re),{class:`h-3 w-3`}),e(` `+c(r(b)(t.defenderRemainingPower)),1)])]),_:2},1024),f(r(g),null,{default:n(()=>[u(`p`,null,c(r(q)(`messagesView.defenderRemainingPower`)),1)]),_:1})]),_:2},1024)])]),_:2},1024)]),u(`div`,tt,[u(`div`,nt,[u(`p`,rt,c(r(q)(`messagesView.attackerLosses`)),1),u(`div`,it,[(m(!0),s(i,null,p(t.attackerLosses,(e,t)=>(m(),s(`div`,{key:t,class:`flex justify-between`},[u(`span`,at,c(r(J)[t].name),1),u(`span`,ot,`-`+c(e),1)]))),128)),Object.keys(t.attackerLosses).length===0?(m(),s(`p`,st,c(r(q)(`messagesView.noLosses`)),1)):d(``,!0)])]),u(`div`,ct,[u(`p`,lt,c(r(q)(`messagesView.defenderLosses`)),1),u(`div`,ut,[(m(!0),s(i,null,p(t.defenderLosses.fleet,(e,t)=>(m(),s(`div`,{key:t,class:`flex justify-between`},[u(`span`,dt,c(r(J)[t].name),1),u(`span`,U,`-`+c(e),1)]))),128)),(m(!0),s(i,null,p(t.defenderLosses.defense,(e,t)=>(m(),s(`div`,{key:t,class:`flex justify-between`},[u(`span`,ft,c(r(Y)[t].name),1),u(`span`,pt,`-`+c(e),1)]))),128)),Object.keys(t.defenderLosses.fleet).length===0&&Object.keys(t.defenderLosses.defense).length===0?(m(),s(`p`,mt,c(r(q)(`messagesView.noLosses`)),1)):d(``,!0)])])])])]))),128))])):d(``,!0)])):d(``,!0)])):d(``,!0)]),_:1})]),_:1},8,[`open`]))}});export{W as t};