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

1 line
8.1 KiB
JavaScript

import{$t as e,C as t,Dn as n,En as r,Gn as i,Gt as a,Jt as o,Qt as s,Vt as ee,Xn as c,Xt as te,Yt as l,Zt as u,dt as ne,en as d,ft as f,gn as p,mn as m,qn as h,tn as re,ut as ie,w as ae}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{t as oe}from"./CardDescription-BSLS07AU.js";import"./game-config-CG6z6nnH.js";import{C as g,E as se,H as _,K as v,N as y,S as b,T as x,W as S,_ as C,b as w,f as T,m as ce,q as le,v as E,w as D,x as O,y as k}from"./index-BT5w6et-.js";import{t as A}from"./useGameConfig-b98LOtBY.js";import{i as j,n as M,r as N,t as P}from"./TabsTrigger-DrosU7aN.js";var F={key:0,class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},I={class:`text-center`},L={class:`text-2xl sm:text-3xl font-bold mb-1 sm:mb-2 flex items-center justify-center gap-2`},R={class:`text-xs sm:text-sm text-muted-foreground`},z={key:0,class:`mt-2`},B={key:1,class:`mt-2`},V={class:`flex items-center gap-2`},H={class:`space-y-4`},U={class:`flex items-center gap-2 mb-2`},W={class:`font-semibold`},ue={key:0,class:`ml-6 space-y-1 text-sm`},de={class:`text-muted-foreground`},fe={class:`text-green-600 dark:text-green-400`},G={key:1,class:`flex justify-between`},pe={class:`text-muted-foreground`},me={class:`text-green-600 dark:text-green-400`},he={class:`text-muted-foreground ml-4`},ge={class:`flex justify-between font-semibold pt-1 border-t mt-1`},_e={class:`text-green-600 dark:text-green-400`},ve={class:`space-y-2`},ye={key:0,class:`text-muted-foreground`},be={key:1,class:`text-red-600 dark:text-red-400`},xe={key:0,class:`flex justify-between font-semibold pt-2 border-t`},Se={class:`text-red-600 dark:text-red-400`},Ce={key:1,class:`text-sm text-muted-foreground text-center py-2`},we={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3 sm:gap-4`},Te={class:`text-xs sm:text-sm text-muted-foreground`},Ee={class:`text-lg sm:text-xl font-bold`},K=re({__name:`OverviewView`,setup(re){let K=le(),{t:q}=v(),{SHIPS:De}=A(),J=o(()=>K.currentPlanet),Oe=o(()=>J.value?ae(J.value,K.player.officers):null),Y=o(()=>J.value?t(J.value,K.player.officers):null),ke=o(()=>J.value?ne(J.value):0),X=o(()=>J.value?f(J.value,K.player.officers,Date.now()):null),Z=o(()=>J.value?ie(J.value):null),Q=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`energy`},{key:`darkMatter`}],Ae=[{key:`metalMine`},{key:`crystalMine`},{key:`deuteriumSynthesizer`}],$=o(()=>!J.value||J.value.isMoon?null:je(J.value.id)),je=e=>K.player.planets.find(t=>t.isMoon&&t.parentPlanetId===e)||null,Me=()=>{$.value&&(K.currentPlanetId=$.value.id)},Ne=()=>{J.value?.parentPlanetId&&(K.currentPlanetId=J.value.parentPlanetId)};return(t,o)=>J.value?(m(),s(`div`,F,[l(`div`,I,[l(`h1`,L,[e(c(J.value.name)+` `,1),J.value.isMoon?(m(),te(i(_),{key:0,variant:`secondary`},{default:r(()=>[e(c(i(q)(`planet.moon`)),1)]),_:1})):u(``,!0)]),l(`p`,R,c(i(q)(`planet.position`))+`: [`+c(J.value.position.galaxy)+`:`+c(J.value.position.system)+`:`+c(J.value.position.position)+`] `,1),!J.value.isMoon&&$.value?(m(),s(`div`,z,[d(i(S),{onClick:Me,variant:`outline`,size:`sm`},{default:r(()=>[o[0]||=l(`span`,{class:`mr-2`},`🌙`,-1),e(` `+c(i(q)(`planet.switchToMoon`)),1)]),_:1})])):u(``,!0),J.value.isMoon?(m(),s(`div`,B,[d(i(S),{onClick:Ne,variant:`outline`,size:`sm`},{default:r(()=>[e(c(i(q)(`planet.backToPlanet`)),1)]),_:1})])):u(``,!0)]),d(i(w),null,{default:r(()=>[d(i(E),null,{default:r(()=>[d(i(C),null,{default:r(()=>[e(c(i(q)(`overview.resourceOverview`)),1)]),_:1})]),_:1}),d(i(k),null,{default:r(()=>[d(i(j),{"default-value":`overview`,class:`w-full`},{default:r(()=>[d(i(M),{class:`grid w-full grid-cols-3`},{default:r(()=>[d(i(P),{value:`overview`},{default:r(()=>[...o[1]||=[e(`概览`,-1)]]),_:1}),d(i(P),{value:`production`},{default:r(()=>[...o[2]||=[e(`产量详情`,-1)]]),_:1}),d(i(P),{value:`consumption`},{default:r(()=>[...o[3]||=[e(`消耗详情`,-1)]]),_:1})]),_:1}),d(i(N),{value:`overview`,class:`mt-4`},{default:r(()=>[d(i(se),null,{default:r(()=>[d(i(O),null,{default:r(()=>[d(i(g),null,{default:r(()=>[d(i(b),null,{default:r(()=>[e(c(i(q)(`common.resourceType`)),1)]),_:1}),d(i(b),{class:`text-right`},{default:r(()=>[e(c(i(q)(`resources.current`)),1)]),_:1}),d(i(b),{class:`text-right`},{default:r(()=>[e(c(i(q)(`resources.max`)),1)]),_:1}),d(i(b),{class:`text-right`},{default:r(()=>[e(c(i(q)(`resources.production`))+c(i(q)(`resources.perHour`)),1)]),_:1}),d(i(b),{class:`text-right`},{default:r(()=>[e(c(i(q)(`resources.consumption`))+c(i(q)(`resources.perHour`)),1)]),_:1})]),_:1})]),_:1}),d(i(x),null,{default:r(()=>[(m(),s(a,null,p(Q,t=>d(i(g),{key:t.key},{default:r(()=>[d(i(D),{class:`font-medium`},{default:r(()=>[l(`div`,V,[d(y,{type:t.key,size:`sm`},null,8,[`type`]),e(` `+c(i(q)(`resources.${t.key}`)),1)])]),_:2},1024),d(i(D),{class:h([`text-right`,i(ce)(J.value.resources[t.key],Y.value?.[t.key]||1/0)])},{default:r(()=>[e(c(i(T)(J.value.resources[t.key])),1)]),_:2},1032,[`class`]),d(i(D),{class:`text-right text-muted-foreground`},{default:r(()=>[e(c(i(T)(Y.value?.[t.key]||0)),1)]),_:2},1024),d(i(D),{class:`text-right text-green-600 dark:text-green-400`},{default:r(()=>[e(` +`+c(i(T)(Oe.value?.[t.key]||0)),1)]),_:2},1024),d(i(D),{class:`text-right text-red-600 dark:text-red-400`},{default:r(()=>[t.key===`energy`?(m(),s(a,{key:0},[e(`-`+c(i(T)(ke.value)),1)],64)):(m(),s(a,{key:1},[e(`-`)],64))]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1})]),_:1}),d(i(N),{value:`production`,class:`mt-4`},{default:r(()=>[l(`div`,H,[(m(),s(a,null,p(Q,t=>l(`div`,{key:t.key,class:`border-b last:border-b-0 pb-4 last:pb-0`},[l(`div`,U,[d(y,{type:t.key,size:`sm`},null,8,[`type`]),l(`span`,W,c(i(q)(`resources.${t.key}`)),1)]),X.value?(m(),s(`div`,ue,[t.key===`energy`&&X.value.energy.sources?(m(!0),s(a,{key:0},p(X.value.energy.sources,(t,n)=>(m(),s(`div`,{key:n,class:`flex justify-between`},[l(`span`,de,[e(c(i(q)(t.name))+` `,1),t.name.startsWith(`buildings.`)?(m(),s(a,{key:0},[e(`(`+c(i(q)(`common.level`))+` `+c(t.level)+`)`,1)],64)):(m(),s(a,{key:1},[e(`(`+c(t.level)+`)`,1)],64))]),l(`span`,fe,` +`+c(i(T)(Math.floor(t.production)))+`/`+c(i(q)(`resources.hour`)),1)]))),128)):(m(),s(`div`,G,[l(`span`,pe,c(i(q)(X.value[t.key].buildingName))+` (`+c(i(q)(`common.level`))+` `+c(X.value[t.key].buildingLevel)+`) `,1),l(`span`,me,` +`+c(i(T)(Math.floor(X.value[t.key].baseProduction)))+`/`+c(i(q)(`resources.hour`)),1)])),(m(!0),s(a,null,p(X.value[t.key].bonuses,(e,t)=>(m(),s(`div`,{key:t,class:`flex justify-between`},[l(`span`,he,c(i(q)(e.name))+` (`+c(e.percentage>0?`+`:``)+c(e.percentage)+`%) `,1),l(`span`,{class:h(e.value>0?`text-green-600 dark:text-green-400`:`text-red-600 dark:text-red-400`)},c(e.value>0?`+`:``)+c(i(T)(Math.floor(e.value)))+`/`+c(i(q)(`resources.hour`)),3)]))),128)),l(`div`,ge,[l(`span`,null,c(i(q)(`overview.totalProduction`)),1),l(`span`,_e,` +`+c(i(T)(Math.floor(X.value[t.key].finalProduction)))+`/`+c(i(q)(`resources.hour`)),1)])])):u(``,!0)])),64))])]),_:1}),d(i(N),{value:`consumption`,class:`mt-4`},{default:r(()=>[l(`div`,ve,[(m(),s(a,null,p(Ae,e=>n(l(`div`,{key:e.key,class:`flex justify-between text-sm`},[Z.value?(m(),s(`span`,ye,c(i(q)(Z.value[e.key].buildingName))+` (`+c(i(q)(`common.level`))+` `+c(Z.value[e.key].buildingLevel)+`) `,1)):u(``,!0),Z.value?(m(),s(`span`,be,` -`+c(i(T)(Math.floor(Z.value[e.key].consumption)))+`/`+c(i(q)(`resources.hour`)),1)):u(``,!0)]),[[ee,Z.value&&Z.value[e.key].buildingLevel>0]])),64)),Z.value?(m(),s(`div`,xe,[l(`span`,null,c(i(q)(`overview.totalConsumption`)),1),l(`span`,Se,` -`+c(i(T)(Math.floor(Z.value.total)))+`/`+c(i(q)(`resources.hour`)),1)])):u(``,!0),Z.value&&Z.value.total===0?(m(),s(`div`,Ce,c(i(q)(`overview.noConsumption`)),1)):u(``,!0)])]),_:1})]),_:1})]),_:1})]),_:1}),d(i(w),null,{default:r(()=>[d(i(E),null,{default:r(()=>[d(i(C),null,{default:r(()=>[e(c(i(q)(`overview.fleetInfo`)),1)]),_:1}),d(i(oe),null,{default:r(()=>[e(c(i(q)(`overview.currentShips`)),1)]),_:1})]),_:1}),d(i(k),null,{default:r(()=>[l(`div`,we,[(m(!0),s(a,null,p(J.value.fleet,(e,t)=>(m(),s(`div`,{key:t},[l(`p`,Te,c(i(De)[t].name),1),l(`p`,Ee,c(e),1)]))),128))])]),_:1})]),_:1})])):u(``,!0)}});export{K as default};