mirror of
https://github.com/setube/ogame-vue-ts.git
synced 2026-05-12 16:05:12 +08:00
删除 README.zh-CN.md,新增英文版 README.EN.md,简体中文说明合并至 README.md 并补充内容。同步 docs/assets 下页面 JS/CSS 文件,优化文档资源命名与引用,提升多语言文档一致性。
1 line
15 KiB
JavaScript
1 line
15 KiB
JavaScript
import{Dt as e,G as t,H as n,J as r,K as i,Ot as a,St as o,W as s,X as c,Y as l,Z as ee,at as te,dt as ne,jt as u,lt as d,pt as f,q as p,st as m}from"./vendor-ui-DBxeWLyT.js";import{o as re,s as ie}from"./vendor-vue-Bqq1sBNf.js";import{t as ae}from"./eye-B5ACPUPU.js";import{t as h}from"./UnlockRequirement-BdFx1RC0.js";import{t as g}from"./CardDescription-CRV0m8La.js";import{Bt as oe,Dt as se,F as _,Ft as ce,G as v,H as y,It as b,K as x,Ot as le,Pt as S,Rt as C,T as ue,Tt as de,V as w,Vt as fe,_ as pe,at as T,dt as E,ft as D,g as me,h as O,i as k,lt as A,m as j,r as he,rt as ge,st as M,ut as N,wt as P}from"./index-Cch-Ig40.js";import{t as F}from"./useGameConfig-D2EZdt1x.js";import{t as I}from"./AlertDialog-_72FqRCT.js";import{a as L,n as _e}from"./shipValidation-Cx6mhfwF.js";var ve={key:0,class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},ye={class:`text-2xl sm:text-3xl font-bold`},be={class:`flex gap-2 border-b`},xe={key:0},Se={class:`grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4`},Ce={class:`flex justify-between items-start`},we={class:`font-semibold text-sm sm:text-base`},Te={class:`text-xl sm:text-2xl font-bold`},Ee={class:`text-xs sm:text-sm text-muted-foreground space-y-1`},De={key:1,class:`space-y-4`},Oe={class:`flex justify-between items-center`},ke={class:`text-sm font-medium`},Ae={class:`text-sm font-bold`},je={class:`grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4`},Me={class:`flex gap-2`},Ne={class:`grid grid-cols-3 gap-2 sm:gap-4`},Pe={class:`space-y-2`},Fe={class:`space-y-2`},Ie={class:`space-y-2`},Le={class:`grid grid-cols-2 sm:grid-cols-3 gap-2`},Re={class:`grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4`},ze={class:`space-y-2`},Be={class:`space-y-2`},Ve={class:`space-y-2`},He={class:`text-xs sm:text-sm text-muted-foreground mt-2`},Ue={class:`flex justify-between text-xs sm:text-sm`},We={class:`text-muted-foreground`},Ge={class:`flex items-center gap-1.5`},Ke={class:`text-muted-foreground`},qe={key:0,class:`flex justify-between text-xs sm:text-sm`},Je={class:`text-muted-foreground`},Ye={key:2,class:`space-y-4`},Xe={class:`flex justify-between items-start`},Ze={class:`text-xs sm:text-sm font-medium mb-2`},Qe={class:`flex flex-wrap gap-2`},$e={key:0},et={class:`text-xs sm:text-sm font-medium mb-2`},tt={class:`flex flex-wrap gap-2 text-xs`},nt={key:0,class:`flex items-center gap-1`},rt={key:1,class:`flex items-center gap-1`},it={key:2,class:`flex items-center gap-1`},at={key:3,class:`flex items-center gap-1`},ot={class:`space-y-2`},st={class:`flex justify-between text-xs sm:text-sm`},ct={class:`flex gap-2`},R=ee({__name:`FleetView`,setup(ee){let R=re(),lt=ie(),z=fe(),{t:B}=oe(),{SHIPS:V}=F(),H=s(()=>z.currentPlanet),U=o(null),ut=s(()=>ue(_(z.player.officers,Date.now()).additionalFleetSlots)),W=o(`fleet`),G=o({[M.LightFighter]:0,[M.HeavyFighter]:0,[M.Cruiser]:0,[M.Battleship]:0,[M.SmallCargo]:0,[M.LargeCargo]:0,[M.ColonyShip]:0,[M.Recycler]:0,[M.EspionageProbe]:0}),K=o({galaxy:1,system:1,position:1}),q=o(T.Attack),J=o({metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0});te(()=>{let{galaxy:e,system:t,position:n,mission:r}=R.query;(e||t||n)&&(e&&(K.value.galaxy=Number(e)),t&&(K.value.system=Number(t)),n&&(K.value.position=Number(n)),r===`spy`?q.value=T.Spy:r===`attack`?q.value=T.Attack:r===`colonize`&&(q.value=T.Colonize),W.value=`send`,lt.replace({path:`/fleet`}))});let Y=s(()=>[{type:T.Attack,name:B(`fleetView.attackMission`),icon:de},{type:T.Transport,name:B(`fleetView.transport`),icon:le},{type:T.Colonize,name:B(`fleetView.colonize`),icon:se},{type:T.Spy,name:B(`fleetView.spy`),icon:ae},{type:T.Deploy,name:B(`fleetView.deploy`),icon:P}]),dt=e=>Y.value.find(t=>t.type===e)?.name||e,ft=e=>z.player.planets.find(t=>t.id===e)?.name||B(`fleetView.unknownPlanet`),X=()=>{let e=0;for(let[t,n]of Object.entries(G.value))if(n>0){let r=V.value[t];e+=r.cargoCapacity*n}return e},Z=()=>J.value.metal+J.value.crystal+J.value.deuterium+J.value.darkMatter,Q=()=>{let e=_(z.player.officers,Date.now());return he(G.value,e.fuelConsumptionReduction,J.value)},pt=()=>{if(!H.value)return 0;let e=j(H.value.position,K.value),t=_(z.player.officers,Date.now());return O(e,k(G.value,t.fleetSpeedBonus))},mt=()=>!(!Object.values(G.value).some(e=>e>0)||q.value===T.Transport&&Z()>X()||q.value===T.Colonize&&(!G.value[M.ColonyShip]||(G.value[M.ColonyShip]??0)<1)),ht=(e,t,n,r={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0})=>{if(!z.currentPlanet)return!1;let i=z.player.fleetMissions.length,a=L(z.currentPlanet,n,r,z.player.officers,i);if(!a.valid)return!1;let o=t===T.Transport;_e(z.currentPlanet,n,a.fuelNeeded,o,r);let s=O(j(z.currentPlanet.position,e),k(n,_(z.player.officers,Date.now()).fleetSpeedBonus)),c=me(z.player.id,z.currentPlanet.id,e,t,n,r,s);return z.player.fleetMissions.push(c),!0},gt=()=>{if(!H.value)return;let e={};for(let[t,n]of Object.entries(G.value))n>0&&(e[t]=n);ht(K.value,q.value,e,q.value===T.Transport?J.value:void 0)?(Object.keys(G.value).forEach(e=>{G.value[e]=0}),J.value={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},W.value=`missions`):U.value?.show({title:B(`fleetView.sendFailed`),message:B(`fleetView.sendFailedMessage`)})},_t=e=>{let t=z.player.fleetMissions.find(t=>t.id===e);return t?pe(t,Date.now()):!1},vt=e=>{_t(e)||U.value?.show({title:B(`fleetView.recallFailed`),message:B(`fleetView.recallFailedMessage`)})},$=e=>{let t=Date.now(),n=e.status===`outbound`?e.arrivalTime:e.returnTime;return Math.max(0,(n-t)/1e3)},yt=e=>{let t=Date.now();if(e.status===`outbound`){let n=e.arrivalTime-e.departureTime,r=t-e.departureTime;return Math.min(100,r/n*100)}else{let n=e.arrivalTime,r=e.returnTime-n,i=t-n;return Math.min(100,i/r*100)}};return(o,s)=>H.value?(m(),r(`div`,ve,[c(h,{"required-building":e(ge).Shipyard,"required-level":1},null,8,[`required-building`]),t(`h1`,ye,u(e(B)(`fleetView.title`)),1),t(`div`,be,[c(e(C),{onClick:s[0]||=e=>W.value=`fleet`,variant:W.value===`fleet`?`default`:`ghost`,class:`rounded-b-none`},{default:f(()=>[l(u(e(B)(`fleetView.fleetOverview`)),1)]),_:1},8,[`variant`]),c(e(C),{onClick:s[1]||=e=>W.value=`send`,variant:W.value===`send`?`default`:`ghost`,class:`rounded-b-none`},{default:f(()=>[l(u(e(B)(`fleetView.sendFleet`)),1)]),_:1},8,[`variant`]),c(e(C),{onClick:s[2]||=e=>W.value=`missions`,variant:W.value===`missions`?`default`:`ghost`,class:`rounded-b-none`},{default:f(()=>[l(u(e(B)(`fleetView.flightMissions`))+` `,1),e(z).player.fleetMissions.length>0?(m(),i(e(b),{key:0,variant:`secondary`,class:`ml-1`},{default:f(()=>[l(u(e(z).player.fleetMissions.length),1)]),_:1})):p(``,!0)]),_:1},8,[`variant`])]),W.value===`fleet`?(m(),r(`div`,xe,[c(e(D),null,{default:f(()=>[c(e(N),null,{default:f(()=>[c(e(A),null,{default:f(()=>[l(u(e(B)(`fleetView.currentPlanetFleet`)),1)]),_:1}),c(e(g),null,{default:f(()=>[l(u(H.value.name)+` [`+u(H.value.position.galaxy)+`:`+u(H.value.position.system)+`:`+u(H.value.position.position)+`] `,1)]),_:1})]),_:1}),c(e(E),null,{default:f(()=>[t(`div`,Se,[(m(!0),r(n,null,d(H.value.fleet,(n,i)=>(m(),r(`div`,{key:i,class:`p-3 sm:p-4 border rounded-lg space-y-2`},[t(`div`,Ce,[t(`div`,null,[t(`h3`,we,u(e(V)[i].name),1),t(`p`,Te,u(e(w)(n)),1)])]),t(`div`,Ee,[t(`p`,null,u(e(B)(`fleetView.attack`))+`: `+u(e(V)[i].attack),1),t(`p`,null,u(e(B)(`fleetView.shield`))+`: `+u(e(V)[i].shield),1),t(`p`,null,u(e(B)(`fleetView.armor`))+`: `+u(e(V)[i].armor),1),t(`p`,null,u(e(B)(`fleetView.speed`))+`: `+u(e(w)(e(V)[i].speed)),1),t(`p`,null,u(e(B)(`fleetView.cargo`))+`: `+u(e(w)(e(V)[i].cargoCapacity)),1)])]))),128))])]),_:1})]),_:1})])):p(``,!0),W.value===`send`?(m(),r(`div`,De,[c(e(D),null,{default:f(()=>[c(e(E),{class:`py-4`},{default:f(()=>[t(`div`,Oe,[t(`span`,ke,u(e(B)(`fleetView.fleetMissionSlots`))+`:`,1),t(`span`,Ae,u(e(z).player.fleetMissions.length)+` / `+u(ut.value),1)])]),_:1})]),_:1}),c(e(D),null,{default:f(()=>[c(e(N),null,{default:f(()=>[c(e(A),null,{default:f(()=>[l(u(e(B)(`fleetView.selectFleet`)),1)]),_:1}),c(e(g),null,{default:f(()=>[l(u(e(B)(`fleetView.selectFleetDescription`)),1)]),_:1})]),_:1}),c(e(E),null,{default:f(()=>[t(`div`,je,[(m(!0),r(n,null,d(H.value.fleet,(n,i)=>(m(),r(`div`,{key:i,class:`space-y-2`},[c(e(v),{for:`ship-${i}`,class:`text-xs sm:text-sm`},{default:f(()=>[l(u(e(V)[i].name)+` (`+u(e(B)(`fleetView.available`))+`: `+u(n)+`) `,1)]),_:2},1032,[`for`]),t(`div`,Me,[c(e(x),{id:`ship-${i}`,modelValue:G.value[i],"onUpdate:modelValue":e=>G.value[i]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:n,placeholder:`0`,class:`text-sm`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`max`]),c(e(C),{onClick:e=>G.value[i]=n,variant:`outline`,size:`sm`},{default:f(()=>[l(u(e(B)(`fleetView.all`)),1)]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1}),c(e(D),null,{default:f(()=>[c(e(N),null,{default:f(()=>[c(e(A),null,{default:f(()=>[l(u(e(B)(`fleetView.targetCoordinates`)),1)]),_:1})]),_:1}),c(e(E),null,{default:f(()=>[t(`div`,Ne,[t(`div`,Pe,[c(e(v),{for:`galaxy`,class:`text-xs sm:text-sm`},{default:f(()=>[l(u(e(B)(`fleetView.galaxy`)),1)]),_:1}),c(e(x),{id:`galaxy`,modelValue:K.value.galaxy,"onUpdate:modelValue":s[3]||=e=>K.value.galaxy=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`9`,placeholder:`1`},null,8,[`modelValue`])]),t(`div`,Fe,[c(e(v),{for:`system`,class:`text-xs sm:text-sm`},{default:f(()=>[l(u(e(B)(`fleetView.system`)),1)]),_:1}),c(e(x),{id:`system`,modelValue:K.value.system,"onUpdate:modelValue":s[4]||=e=>K.value.system=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`10`,placeholder:`1`},null,8,[`modelValue`])]),t(`div`,Ie,[c(e(v),{for:`position`,class:`text-xs sm:text-sm`},{default:f(()=>[l(u(e(B)(`fleetView.position`)),1)]),_:1}),c(e(x),{id:`position`,modelValue:K.value.position,"onUpdate:modelValue":s[5]||=e=>K.value.position=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`10`,placeholder:`1`},null,8,[`modelValue`])])])]),_:1})]),_:1}),c(e(D),null,{default:f(()=>[c(e(N),null,{default:f(()=>[c(e(A),null,{default:f(()=>[l(u(e(B)(`fleetView.missionType`)),1)]),_:1})]),_:1}),c(e(E),null,{default:f(()=>[t(`div`,Le,[(m(!0),r(n,null,d(Y.value,t=>(m(),i(e(C),{key:t.type,onClick:e=>q.value=t.type,variant:q.value===t.type?`default`:`outline`,class:`justify-start`},{default:f(()=>[(m(),i(ne(t.icon),{class:`h-4 w-4 mr-2`})),l(` `+u(t.name),1)]),_:2},1032,[`onClick`,`variant`]))),128))])]),_:1})]),_:1}),q.value===e(T).Transport?(m(),i(e(D),{key:0},{default:f(()=>[c(e(N),null,{default:f(()=>[c(e(A),null,{default:f(()=>[l(u(e(B)(`fleetView.transportResources`)),1)]),_:1})]),_:1}),c(e(E),null,{default:f(()=>[t(`div`,Re,[t(`div`,ze,[c(e(v),{for:`cargo-metal`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:f(()=>[c(S,{type:`metal`,size:`sm`}),l(` `+u(e(B)(`resources.metal`))+` (`+u(e(B)(`fleetView.available`))+`: `+u(e(w)(H.value.resources.metal))+`) `,1)]),_:1}),c(e(x),{id:`cargo-metal`,modelValue:J.value.metal,"onUpdate:modelValue":s[6]||=e=>J.value.metal=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:H.value.resources.metal,placeholder:`0`},null,8,[`modelValue`,`max`])]),t(`div`,Be,[c(e(v),{for:`cargo-crystal`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:f(()=>[c(S,{type:`crystal`,size:`sm`}),l(` `+u(e(B)(`resources.crystal`))+` (`+u(e(B)(`fleetView.available`))+`: `+u(e(w)(H.value.resources.crystal))+`) `,1)]),_:1}),c(e(x),{id:`cargo-crystal`,modelValue:J.value.crystal,"onUpdate:modelValue":s[7]||=e=>J.value.crystal=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:H.value.resources.crystal,placeholder:`0`},null,8,[`modelValue`,`max`])]),t(`div`,Ve,[c(e(v),{for:`cargo-deuterium`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:f(()=>[c(S,{type:`deuterium`,size:`sm`}),l(` `+u(e(B)(`resources.deuterium`))+` (`+u(e(B)(`fleetView.available`))+`: `+u(e(w)(H.value.resources.deuterium))+`) `,1)]),_:1}),c(e(x),{id:`cargo-deuterium`,modelValue:J.value.deuterium,"onUpdate:modelValue":s[8]||=e=>J.value.deuterium=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:H.value.resources.deuterium,placeholder:`0`},null,8,[`modelValue`,`max`])])]),t(`p`,He,u(e(B)(`fleetView.totalCargoCapacity`))+`: `+u(e(w)(X()))+` | `+u(e(B)(`fleetView.used`))+`: `+u(e(w)(Z())),1)]),_:1})]),_:1})):p(``,!0),c(e(D),null,{default:f(()=>[c(e(N),null,{default:f(()=>[c(e(A),null,{default:f(()=>[l(u(e(B)(`fleetView.missionInfo`)),1)]),_:1})]),_:1}),c(e(E),{class:`space-y-2`},{default:f(()=>[t(`div`,Ue,[t(`span`,We,u(e(B)(`fleetView.fuelConsumption`))+`:`,1),t(`span`,Ge,[c(S,{type:`deuterium`,size:`sm`}),t(`span`,{class:a(Q()>H.value.resources.deuterium?`text-red-600 dark:text-red-400 font-medium`:``)},u(e(w)(Q())),3),t(`span`,Ke,`/ `+u(e(w)(H.value.resources.deuterium)),1)])]),Object.values(G.value).some(e=>e>0)?(m(),r(`div`,qe,[t(`span`,Je,u(e(B)(`fleetView.flightTime`))+`:`,1),t(`span`,null,u(e(y)(pt())),1)])):p(``,!0)]),_:1})]),_:1}),c(e(C),{onClick:gt,disabled:!mt(),class:`w-full`,size:`lg`},{default:f(()=>[l(u(e(B)(`fleetView.sendFleet`)),1)]),_:1},8,[`disabled`])])):p(``,!0),W.value===`missions`?(m(),r(`div`,Ye,[e(z).player.fleetMissions.length===0?(m(),i(e(D),{key:0},{default:f(()=>[c(e(E),{class:`py-8 text-center text-muted-foreground`},{default:f(()=>[l(u(e(B)(`fleetView.noFlightMissions`)),1)]),_:1})]),_:1})):p(``,!0),(m(!0),r(n,null,d(e(z).player.fleetMissions,a=>(m(),i(e(D),{key:a.id},{default:f(()=>[c(e(N),null,{default:f(()=>[t(`div`,Xe,[t(`div`,null,[c(e(A),{class:`text-base sm:text-lg`},{default:f(()=>[l(u(dt(a.missionType)),1)]),_:2},1024),c(e(g),{class:`text-xs sm:text-sm`},{default:f(()=>[l(u(ft(a.originPlanetId))+` → [`+u(a.targetPosition.galaxy)+`:`+u(a.targetPosition.system)+`:`+u(a.targetPosition.position)+`] `,1)]),_:2},1024)]),c(e(b),{variant:a.status===`outbound`?`default`:`secondary`},{default:f(()=>[l(u(a.status===`outbound`?e(B)(`fleetView.outbound`):e(B)(`fleetView.returning`)),1)]),_:2},1032,[`variant`])])]),_:2},1024),c(e(E),{class:`space-y-3`},{default:f(()=>[t(`div`,null,[t(`p`,Ze,u(e(B)(`fleetView.fleetComposition`))+`:`,1),t(`div`,Qe,[(m(!0),r(n,null,d(a.fleet,(t,n)=>(m(),i(e(b),{key:n,variant:`outline`},{default:f(()=>[l(u(e(V)[n].name)+`: `+u(t),1)]),_:2},1024))),128))])]),a.cargo.metal>0||a.cargo.crystal>0||a.cargo.deuterium>0||a.cargo.darkMatter>0?(m(),r(`div`,$e,[t(`p`,et,u(e(B)(`fleetView.carryingResources`))+`:`,1),t(`div`,tt,[a.cargo.metal>0?(m(),r(`span`,nt,[c(S,{type:`metal`,size:`sm`}),l(` `+u(e(w)(a.cargo.metal)),1)])):p(``,!0),a.cargo.crystal>0?(m(),r(`span`,rt,[c(S,{type:`crystal`,size:`sm`}),l(` `+u(e(w)(a.cargo.crystal)),1)])):p(``,!0),a.cargo.deuterium>0?(m(),r(`span`,it,[c(S,{type:`deuterium`,size:`sm`}),l(` `+u(e(w)(a.cargo.deuterium)),1)])):p(``,!0),a.cargo.darkMatter>0?(m(),r(`span`,at,[c(S,{type:`darkMatter`,size:`sm`}),l(` `+u(e(w)(a.cargo.darkMatter)),1)])):p(``,!0)])])):p(``,!0),t(`div`,ot,[t(`div`,st,[t(`span`,null,u(a.status===`outbound`?e(B)(`fleetView.arrivalTime`):e(B)(`fleetView.returnTime`))+`:`,1),t(`span`,null,u(e(y)($(a))),1)]),c(e(ce),{"model-value":yt(a)},null,8,[`model-value`])]),t(`div`,ct,[a.status===`outbound`?(m(),i(e(C),{key:0,onClick:e=>vt(a.id),variant:`outline`,size:`sm`,class:`w-full`},{default:f(()=>[l(u(e(B)(`fleetView.recallFleet`)),1)]),_:1},8,[`onClick`])):p(``,!0)])]),_:2},1024)]),_:2},1024))),128))])):p(``,!0),c(I,{ref_key:`alertDialog`,ref:U},null,512)])):p(``,!0)}});export{R as default}; |