mirror of
https://github.com/setube/ogame-vue-ts.git
synced 2026-05-11 23:45:11 +08:00
添加了docs目录及其静态资源文件,支持前端文档和演示页面部署。新增dist-electron/main.js,实现Electron主进程窗口加载本地docs或开发服务器。更新.gitignore,允许docs目录纳入版本控制。
1 line
8.9 KiB
JavaScript
1 line
8.9 KiB
JavaScript
import{At as e,Cn as t,Ct as n,Dt as r,Et as ee,Jt as te,Kt as i,Mt as a,Nt as o,On as s,Ot as c,Q as l,Tn as u,Z as d,at as ne,hn as f,in as p,it as re,jt as m,kt as h,ot as g,st as _}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{t as ie}from"./CardDescription-D2AN1hhX.js";import{p as v}from"./game-config-D-D7cMgJ.js";import{A as y,C as b,I as ae,M as x,P as oe,c as se,i as ce,l as le,n as S,o as C,r as w,s as T,u as E,w as D}from"./index-DWmvUlvu.js";import{t as O}from"./useGameConfig-B5wf1i8i.js";import{t as k}from"./AlertDialog-CiXBEnQ0.js";var A={class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},j={class:`text-2xl sm:text-3xl font-bold`},M={class:`grid grid-cols-2 sm:grid-cols-3 gap-4 sm:gap-6`},N={class:`flex justify-between items-start gap-2`},P={class:`min-w-0 flex-1`},F={key:0,class:`p-3 bg-blue-50 dark:bg-blue-950 rounded-lg`},I={class:`space-y-1 text-xs sm:text-sm`},L={class:`font-medium text-blue-700 dark:text-blue-300`},R={class:`text-muted-foreground`},z={class:`text-muted-foreground`},B={class:`space-y-2`},V={class:`text-sm font-medium text-muted-foreground`},H={class:`space-y-1.5`},U={class:`flex items-center gap-2`},W={class:`text-xs`},ue={class:`flex items-center gap-2`},de={class:`text-xs`},G={class:`flex items-center gap-2`},fe={class:`text-xs`},pe={key:0,class:`flex items-center gap-2`},me={class:`text-xs`},he={class:`space-y-2`},ge={class:`text-sm font-medium text-muted-foreground`},_e={class:`space-y-1 text-xs sm:text-sm`},ve={key:0,class:`flex items-center gap-2`},ye={key:1,class:`flex items-center gap-2`},be={key:2,class:`flex items-center gap-2`},xe={key:3,class:`flex items-center gap-2`},Se={key:4,class:`flex items-center gap-2`},Ce={key:5,class:`flex items-center gap-2`},we={key:6,class:`flex items-center gap-2`},Te={key:7,class:`flex items-center gap-2`},Ee={key:8,class:`flex items-center gap-2`},De={key:9,class:`flex items-center gap-2`},Oe={class:`flex gap-2`},K=o({__name:`OfficersView`,setup(o){let{t:K}=oe(),{OFFICERS:q}=O(),J=ae(),Y=ee(()=>J.currentPlanet),X=f(null),Z=f(null),Q=e=>{let t=J.player.officers[e],n=Date.now();return t.active&&(!t.expiresAt||t.expiresAt>n)},ke=e=>J.player.officers[e].expiresAt||0,Ae=e=>{let t=J.player.officers[e];if(!t.expiresAt)return 0;let n=Date.now();return Math.max(0,Math.floor((t.expiresAt-n)/1e3))},$=e=>{if(!Y.value)return!1;let t=q.value[e];return Y.value.resources.metal>=t.cost.metal&&Y.value.resources.crystal>=t.cost.crystal&&Y.value.resources.deuterium>=t.cost.deuterium&&Y.value.resources.darkMatter>=t.cost.darkMatter},je=(e,t=7)=>{if(!J.currentPlanet)return!1;let n=g(e);return d(J.currentPlanet.resources,n)?(l(J.currentPlanet.resources,n),J.player.officers[e]=re(e,t),!0):!1},Me=e=>{Z.value?.show({title:K(`officersView.hireTitle`),message:K(`officersView.hireMessage`).replace(`{name}`,q.value[e].name),onConfirm:()=>{je(e,7)||X.value?.show({title:K(`officersView.hireFailed`),message:K(`officersView.insufficientResources`)})}})},Ne=(e,t=7)=>{if(!J.currentPlanet)return!1;let n=g(e);if(!d(J.currentPlanet.resources,n))return!1;l(J.currentPlanet.resources,n);let r=Date.now();return J.player.officers[e]=_(J.player.officers[e],t,r),!0},Pe=e=>{Z.value?.show({title:K(`officersView.renewTitle`),message:K(`officersView.renewMessage`).replace(`{name}`,q.value[e].name),onConfirm:()=>{Ne(e,7)||X.value?.show({title:K(`officersView.renewFailed`),message:K(`officersView.insufficientResources`)})}})},Fe=e=>{Z.value?.show({title:K(`officersView.dismissTitle`),message:K(`officersView.dismissMessage`).replace(`{name}`,q.value[e].name),onConfirm:()=>{J.player.officers[e]=ne(e)}})};return(ee,o)=>(i(),e(`div`,A,[r(`h1`,j,s(t(K)(`officersView.title`)),1),r(`div`,M,[(i(!0),e(n,null,te(Object.values(t(v)),n=>(i(),c(t(E),{key:n},{default:p(()=>[a(t(se),null,{default:p(()=>[r(`div`,N,[r(`div`,P,[a(t(T),{class:`text-lg sm:text-xl`},{default:p(()=>[m(s(t(q)[n].name),1)]),_:2},1024),a(t(ie),{class:`text-xs sm:text-sm`},{default:p(()=>[m(s(t(q)[n].description),1)]),_:2},1024)]),Q(n)?(i(),c(t(y),{key:0,variant:`default`,class:`text-xs`},{default:p(()=>[m(s(t(K)(`officersView.activated`)),1)]),_:1})):(i(),c(t(y),{key:1,variant:`outline`,class:`text-xs`},{default:p(()=>[m(s(t(K)(`officersView.inactive`)),1)]),_:1}))])]),_:2},1024),a(t(le),{class:`space-y-4`},{default:p(()=>[Q(n)?(i(),e(`div`,F,[r(`div`,I,[r(`p`,L,s(t(K)(`officersView.activeStatus`)),1),r(`p`,R,s(t(K)(`officersView.expirationTime`))+`: `+s(t(S)(ke(n))),1),r(`p`,z,s(t(K)(`officersView.remainingTime`))+`: `+s(t(ce)(Ae(n))),1)])])):h(``,!0),r(`div`,B,[r(`p`,V,s(t(K)(`officersView.recruitCost`))+` (7`+s(t(K)(`officersView.days`))+`):`,1),r(`div`,H,[r(`div`,U,[a(D,{type:`metal`,size:`sm`}),r(`span`,W,s(t(K)(`resources.metal`))+`:`,1),r(`span`,{class:u([`font-medium text-sm`,Y.value?t(C)(Y.value.resources.metal,t(q)[n].cost.metal):``])},s(t(w)(t(q)[n].cost.metal)),3)]),r(`div`,ue,[a(D,{type:`crystal`,size:`sm`}),r(`span`,de,s(t(K)(`resources.crystal`))+`:`,1),r(`span`,{class:u([`font-medium text-sm`,Y.value?t(C)(Y.value.resources.crystal,t(q)[n].cost.crystal):``])},s(t(w)(t(q)[n].cost.crystal)),3)]),r(`div`,G,[a(D,{type:`deuterium`,size:`sm`}),r(`span`,fe,s(t(K)(`resources.deuterium`))+`:`,1),r(`span`,{class:u([`font-medium text-sm`,Y.value?t(C)(Y.value.resources.deuterium,t(q)[n].cost.deuterium):``])},s(t(w)(t(q)[n].cost.deuterium)),3)]),t(q)[n].cost.darkMatter>0?(i(),e(`div`,pe,[a(D,{type:`darkMatter`,size:`sm`}),r(`span`,me,s(t(K)(`resources.darkMatter`))+`:`,1),r(`span`,{class:u([`font-medium text-sm`,Y.value?t(C)(Y.value.resources.darkMatter,t(q)[n].cost.darkMatter):``])},s(t(w)(t(q)[n].cost.darkMatter)),3)])):h(``,!0)])]),r(`div`,he,[r(`p`,ge,s(t(K)(`officersView.benefitsBonus`))+`:`,1),r(`div`,_e,[t(q)[n].benefits.resourceProductionBonus?(i(),e(`div`,ve,[o[0]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.resourceProduction`))+` +`+s(t(q)[n].benefits.resourceProductionBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.darkMatterProductionBonus?(i(),e(`div`,ye,[o[1]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.darkMatterProduction`))+` +`+s(t(q)[n].benefits.darkMatterProductionBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.buildingSpeedBonus?(i(),e(`div`,be,[o[2]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.buildingSpeed`))+` +`+s(t(q)[n].benefits.buildingSpeedBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.researchSpeedBonus?(i(),e(`div`,xe,[o[3]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.researchSpeed`))+` +`+s(t(q)[n].benefits.researchSpeedBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.fleetSpeedBonus?(i(),e(`div`,Se,[o[4]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.fleetSpeed`))+` +`+s(t(q)[n].benefits.fleetSpeedBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.fuelConsumptionReduction?(i(),e(`div`,Ce,[o[5]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↓`,-1),r(`span`,null,s(t(K)(`officersView.fuelConsumption`))+` -`+s(t(q)[n].benefits.fuelConsumptionReduction)+`%`,1)])):h(``,!0),t(q)[n].benefits.defenseBonus?(i(),e(`div`,we,[o[6]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.defense`))+` +`+s(t(q)[n].benefits.defenseBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.storageCapacityBonus?(i(),e(`div`,Te,[o[7]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.storageCapacity`))+` +`+s(t(q)[n].benefits.storageCapacityBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.additionalBuildQueue?(i(),e(`div`,Ee,[o[8]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`+`,-1),r(`span`,null,s(t(K)(`officersView.buildQueue`))+` +`+s(t(q)[n].benefits.additionalBuildQueue),1)])):h(``,!0),t(q)[n].benefits.additionalFleetSlots?(i(),e(`div`,De,[o[9]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`+`,-1),r(`span`,null,s(t(K)(`officersView.fleetSlots`))+` +`+s(t(q)[n].benefits.additionalFleetSlots),1)])):h(``,!0)])]),r(`div`,Oe,[Q(n)?h(``,!0):(i(),c(t(x),{key:0,onClick:e=>Me(n),disabled:!$(n),class:`flex-1`},{default:p(()=>[m(s(t(K)(`officersView.hire`))+` (7`+s(t(K)(`officersView.days`))+`) `,1)]),_:1},8,[`onClick`,`disabled`])),Q(n)?(i(),c(t(x),{key:1,onClick:e=>Pe(n),disabled:!$(n),class:`flex-1`},{default:p(()=>[m(s(t(K)(`officersView.renew`))+` (7`+s(t(K)(`officersView.days`))+`) `,1)]),_:1},8,[`onClick`,`disabled`])):h(``,!0),Q(n)?(i(),c(t(x),{key:2,onClick:e=>Fe(n),variant:`outline`,size:`sm`},{default:p(()=>[m(s(t(K)(`officersView.dismiss`)),1)]),_:1},8,[`onClick`])):h(``,!0)])]),_:2},1024)]),_:2},1024))),128))]),a(k,{ref_key:`alertDialog`,ref:X},null,512),a(b,{ref_key:`confirmDialog`,ref:Z},null,512)]))}});export{K as default}; |