screeps-client 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/embedded/_client/{CodePanel-KBQ78175.js → CodePanel-Bfbl4rrd.js} +1 -1
- package/dist/embedded/_client/MapViewer-Bv7oMh47.js +1 -0
- package/dist/embedded/_client/index-Bsvcj_u_.js +25 -0
- package/dist/embedded/index.html +1 -1
- package/dist/standalone/_client/{CodePanel-sM0UkfOw.js → CodePanel-B_hskJA-.js} +1 -1
- package/dist/standalone/_client/MapViewer-C4GLBatS.js +1 -0
- package/dist/standalone/_client/index-BlKO6rX8.js +25 -0
- package/dist/standalone/index.html +1 -1
- package/dist/xxscreeps-mod/_client/{CodePanel-Bfi6k72H.js → CodePanel-DZakAibP.js} +1 -1
- package/dist/xxscreeps-mod/_client/MapViewer-B6zrkNjN.js +1 -0
- package/dist/xxscreeps-mod/_client/index-BFLPaM4k.js +25 -0
- package/dist/xxscreeps-mod/index.html +1 -1
- package/package.json +1 -1
- package/dist/embedded/_client/MapViewer-BL7mzGWw.js +0 -1
- package/dist/embedded/_client/index-KFumkHjd.js +0 -24
- package/dist/standalone/_client/MapViewer-B-eI44Qx.js +0 -1
- package/dist/standalone/_client/index-CHCJvDO3.js +0 -24
- package/dist/xxscreeps-mod/_client/MapViewer-CKPZHZAs.js +0 -1
- package/dist/xxscreeps-mod/_client/index-04hhqfkD.js +0 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as E,a as w,i as r,s as c,u as ee,b as te,t as u,d as oe}from"./index-
|
|
1
|
+
import{c as E,a as w,i as r,s as c,u as ee,b as te,t as u,d as oe}from"./index-Bsvcj_u_.js";import{l as f,e as ie,g as ne,c as re,t as le,h as P,f as b,j as $,F as R,S as L,n as de,E as se}from"./vendor-codemirror-D3PB7yT8.js";import"./vendor-pixi-CWBnI4gg.js";var ae=u("<span style=font-size:11px;color:#e3b341>Unsaved changes"),ce=u('<div style="padding:12px 10px;font-size:12px;color:#484f58;font-style:italic">Loading…'),fe=u("<div style=flex:1;display:flex;align-items:center;justify-content:center;color:#484f58;font-size:13px;font-style:italic>"),ue=u('<div style=position:absolute;inset:0px;background:#0d1117;z-index:100;display:flex;flex-direction:column;overflow:hidden><div style="display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #30363d;flex-shrink:0"><span style=font-size:15px;font-weight:600;color:#c9d1d9>Code</span><select style="background:#010409;color:#c9d1d9;border:1px solid #30363d;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer"></select><div style=flex:1></div><button style="padding:5px 14px;border-radius:4px;border:1px solid #238636;font-size:12px;font-weight:600"></button><button style="background:transparent;border:none;color:#8b949e;font-size:18px;cursor:pointer;line-height:1;padding:2px 6px">✕</button></div><div style=flex:1;display:flex;overflow:hidden><div style="width:180px;flex-shrink:0;border-right:1px solid #21262d;display:flex;flex-direction:column;overflow:hidden"><div style="padding:6px 10px;font-size:10px;font-weight:700;color:#8b949e;text-transform:uppercase;letter-spacing:0.06em;border-bottom:1px solid #21262d;flex-shrink:0">Modules</div><div style=flex:1;overflow:auto></div></div><div style=flex:1;display:flex;flex-direction:column;overflow:hidden><div style="padding:5px 14px;font-size:12px;color:#8b949e;border-bottom:1px solid #21262d;flex-shrink:0;font-family:monospace;background:#0d1117">.js</div><div style=flex:1;overflow:hidden;flex-direction:column>'),pe=u("<option>"),xe=u('<div style="padding:7px 12px;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">');const{error:j}=te("code"),ve=se.theme({"&":{height:"100%"},".cm-scroller":{"font-family":"'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace","font-size":"13px","line-height":"1.6",overflow:"auto"},".cm-gutters":{background:"#0d1117","border-right":"1px solid #21262d"},".cm-lineNumbers .cm-gutterElement":{color:"#484f58","min-width":"3em"},".cm-activeLineGutter":{background:"#161b22"},".cm-activeLine":{background:"#161b22"}}),he=[re,de(),le,ve];function ye(W){const[A,G]=f([]),[k,F]=f(""),[m,S]=f({}),[d,C]=f(""),[_,M]=f(!1),[p,B]=f(!1),[x,z]=f(!1),J=()=>Object.keys(m()),{editorView:U,ref:q,createExtension:H}=ie({onValueChange:o=>{const t=d();!t||m()[t]===o||(S(n=>({...n,[t]:o})),z(!0))}});ne(U,()=>m()[d()]??""),H(he),P(()=>{const o=E();o&&o.http.user.branches().then(t=>{G(t.list);const n=t.list.find(s=>s.activeWorld)??t.list[0];n&&F(n.branch)}).catch(t=>{j("branches failed:",t),w("Failed to load branches","error")})}),P(()=>{const o=k(),t=E();!o||!t||(M(!0),S({}),C(""),z(!1),t.http.user.code.get(o).then(n=>{const s=n.modules??{};S(s),C(Object.keys(s)[0]??"")}).catch(n=>{j("get failed:",n),w("Failed to load code","error")}).finally(()=>M(!1)))});const I=()=>{const o=E(),t=k();!o||!t||(B(!0),o.http.user.code.set(t,m()).then(()=>{w("Code saved","success"),z(!1)}).catch(n=>{j("set failed:",n),w("Failed to save code","error")}).finally(()=>B(!1)))};return(()=>{var o=ue(),t=o.firstChild,n=t.firstChild,s=n.nextSibling,K=s.nextSibling,a=K.nextSibling,Q=a.nextSibling,X=t.nextSibling,V=X.firstChild,Y=V.firstChild,T=Y.nextSibling,D=V.nextSibling,y=D.firstChild,Z=y.firstChild,N=y.nextSibling;return s.addEventListener("change",e=>F(e.currentTarget.value)),r(s,b(R,{get each(){return A()},children:e=>(()=>{var i=pe();return r(i,()=>e.branch,null),r(i,()=>e.activeWorld?" ★":"",null),$(()=>i.value=e.branch),i})()})),r(t,b(L,{get when(){return x()},get children(){return ae()}}),a),a.$$click=I,r(a,()=>p()?"Saving…":"Save"),Q.$$click=()=>W.onClose(),r(T,b(L,{get when(){return _()},get children(){return ce()}}),null),r(T,b(R,{get each(){return J()},children:e=>(()=>{var i=xe();return i.$$click=()=>C(e),r(i,e),$(l=>{var v=d()===e?"#1f3158":"transparent",h=d()===e?"#58a6ff":"#c9d1d9",g=`2px solid ${d()===e?"#388bfd":"transparent"}`;return v!==l.e&&c(i,"background",l.e=v),h!==l.t&&c(i,"color",l.t=h),g!==l.a&&c(i,"border-left",l.a=g),l},{e:void 0,t:void 0,a:void 0}),i})()}),null),r(y,d,Z),ee(q,N),r(D,b(L,{get when(){return!d()},get children(){var e=fe();return r(e,()=>_()?"Loading code…":"Select a module"),e}}),null),$(e=>{var i=p()||_()||!x(),l=p()||!x()?"#161b22":"#1a3a2a",v=p()||!x()?"#484f58":"#3fb950",h=p()||!x()?"default":"pointer",g=d()?"block":"none",O=d()?"flex":"none";return i!==e.e&&(a.disabled=e.e=i),l!==e.t&&c(a,"background",e.t=l),v!==e.a&&c(a,"color",e.a=v),h!==e.o&&c(a,"cursor",e.o=h),g!==e.i&&c(y,"display",e.i=g),O!==e.n&&c(N,"display",e.n=O),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),$(()=>s.value=k()),o})()}oe(["click"]);export{ye as CodePanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as g,o as P,w as T,p as b,k as Q,n as G,l as r,m as p,j as oo,q as L,e as to,g as no,u as so,f as eo,h as ao,b as io,t as lo,M as co}from"./index-Bsvcj_u_.js";import{l as k,h as f,s as mo,r as $}from"./vendor-codemirror-D3PB7yT8.js";import"./vendor-pixi-CWBnI4gg.js";var uo=lo("<div style=width:100%;height:100%;position:relative><canvas style=display:block>");const{log:B,error:q}=io("map");function go(n){let N,o=null;const[A,z]=k([]),[W,j]=k(1),D=()=>n.originRoom,[x,I]=k(D()??null);let O=null,X=null;const R=new Map,E=new Map,V=new Map,Z=new Map,_=t=>{const s=T();if(!s)return!0;const i=b(t);return!!i&&ao(i.x,i.y,s)},S=t=>{var i;const s=E.get(t);return{room:t,owner:(s==null?void 0:s.username)??((i=s==null?void 0:s.own)!=null&&i.user?`user:${s.own.user}`:null),mineral:(s==null?void 0:s.mineral)??null,density:(s==null?void 0:s.density)??null}},F=200,J=0;let w=[],y=null;const Y=()=>{y=null;const t=g();if(!t||!o)return;const s=new Set(A());if(w=w.filter(a=>s.has(a)&&!o.hasRoom(a)),w.length===0)return;const i=w.splice(0,F);t.stores.room.terrainBulk(i,n.shard).then(a=>{for(const[e,l]of a){o==null||o.setRoomTerrain(e,l);const c=V.get(e);c!==void 0&&(o==null||o.setRoomOwned(e,c))}for(const e of i)a.has(e)||o==null||o.markRoomFetched(e)}).catch(a=>q("terrain fetch failed:",a)).finally(()=>{w.length>0&&(y=setTimeout(Y,J))})};return f(()=>{g(),n.shard,E.clear(),V.clear()}),mo(()=>{N&&(async()=>{var s,i;if(o=new co({onRoomHover:a=>{var e;(e=n.onHoveredRoomChanged)==null||e.call(n,a?S(a):null)},onRoomClick:a=>{var e;x()!==a?(I(a),o==null||o.setSelectedRoom(a),(e=n.onSelectedRoomChanged)==null||e.call(n,S(a))):_(a)&&setTimeout(()=>n.onNavigateToRoom(a),0)},onVisibleRoomsChanged:a=>{const e=a.length===0;X!==e&&(X=e,e||B(`zoom in — terrain loading active, ${a.length} rooms visible`)),z(a)},onZoomChanged:a=>{var e;j(a),(e=n.onZoomChanged)==null||e.call(n,a)}}),await o.init(N),!o)return;n.initialZoom!==void 0&&n.initialZoom>0&&o.setZoom(n.initialZoom),(s=n.onZoomChanged)==null||s.call(n,o.zoom);const t=T();if(t&&o.setBounds(t.minX,t.maxX,t.minY,t.maxY),n.originRoom){const a=b(n.originRoom);a&&o.centerOn(a.x,a.y),o.setSelectedRoom(n.originRoom),(i=n.onSelectedRoomChanged)==null||i.call(n,S(n.originRoom))}else{const a=g();if(a)try{const e=await a.http.user.worldStartRoom(n.shard??"shard0");if(!o)return;const l=Array.isArray(e==null?void 0:e.room)?e.room[0]:e==null?void 0:e.room;if(typeof l=="string"){const c=b(l);c&&o.centerOn(c.x,c.y)}}catch(e){q("worldStartRoom failed:",e)}}})()}),$(()=>{y!==null&&(clearTimeout(y),y=null),w=[];for(const t of R.values())t.dispose();R.clear(),o==null||o.destroy(),o=null}),f(()=>{P({currentRoom:x,worldBounds:T,onMove:(i,a)=>{var l,c;const e=eo(i,a);I(e),o==null||o.setSelectedRoom(e),o==null||o.centerOn(i,a,!0),(l=n.onSelectedRoomChanged)==null||l.call(n,S(e)),(c=n.onHoveredRoomChanged)==null||c.call(n,S(e))}});const s=i=>{var l,c;const a=((l=i.target)==null?void 0:l.tagName)??"",e=((c=i.target)==null?void 0:c.isContentEditable)??!1;if(!(a==="INPUT"||a==="TEXTAREA"||e)&&i.key==="m"){const m=x();m&&_(m)&&n.onNavigateToRoom(m)}};window.addEventListener("keydown",s),$(()=>window.removeEventListener("keydown",s))}),f(()=>{var c;const t=g(),s=A(),i=n.shard;if(!t||s.length===0)return;const a=new Set(s),e=s.filter(m=>!(o!=null&&o.hasRoom(m)));if(e.length>0){const m=s.reduce((d,v)=>{var h;return d+(((h=b(v))==null?void 0:h.x)??0)},0)/s.length,u=s.reduce((d,v)=>{var h;return d+(((h=b(v))==null?void 0:h.y)??0)},0)/s.length;w=e.slice().sort((d,v)=>{const h=b(d),M=b(v),C=h?Math.abs(h.x-m)+Math.abs(h.y-u):999,U=M?Math.abs(M.x-m)+Math.abs(M.y-u):999;return C-U}),y===null&&(y=setTimeout(Y,0))}t.stores.mapStats.request(s,"owner0",i??void 0);const l=W()>=.4;if(l!==O&&(O=l,(c=n.onSubscriptionStateChanged)==null||c.call(n,l),l||o==null||o.clearAllMap2()),l){const m=new Set(s.map(u=>`${u}/${i}`));for(const[u,d]of R)m.has(u)||(d.dispose(),R.delete(u),o==null||o.clearRoomMap2(u.split("/")[0]));for(const u of s){const d=`${u}/${i}`;R.has(d)||R.set(d,t.stores.map.subscribeMap2(u,i))}}else{for(const[,m]of R)m.dispose();R.clear()}o==null||o.clearInvisibleRooms(a)}),f(()=>{o==null||o.setShowRoomNames(Q()),o&&(o.currentShard=n.shard??"shard0")}),f(()=>{o==null||o.setUnclaimableOverlayVisible(G())}),f(()=>{o==null||o.setMapVisualVisible(r())}),f(()=>{o==null||o.setOverlayMode(p())}),f(()=>{const t=g(),s=n.shard;t&&t.stores.server.worldInfo(s??void 0).then(i=>{B(`worldInfo(shard=${s??"none"}) — x: [${i.minX}, ${i.maxX}] y: [${i.minY}, ${i.maxY}]`),oo(i)}).catch(i=>{})}),f(()=>{var t;o==null||o.setCurrentUser(((t=L())==null?void 0:t._id)??null)}),f(()=>{const t=T();t?(o==null||o.setBounds(t.minX,t.maxX,t.minY,t.maxY),B(`worldBounds applied — shard: ${n.shard??"none"} x: [${t.minX}, ${t.maxX}] y: [${t.minY}, ${t.maxY}] (fetched for shard: ${t.shard??"none"})`)):(o==null||o.clearBounds(),B(`worldBounds — none (shard: ${n.shard??"none"})`))}),f(()=>{const t=g();if(!t)return;const s=t.stores.user.subscribeMapVisual(n.shard),i=t.stores.user.on("user:mapVisual",({shard:a,data:e})=>{a===n.shard&&(e?o==null||o.setMapVisual(e):o==null||o.clearMapVisual())});$(()=>{s.dispose(),i.dispose()})}),f(()=>{const t=g();if(!t)return;const s=t.stores.map.on("room:map2update",({room:i,shard:a,data:e,source:l})=>{a===n.shard&&(o==null||o.setRoomMap2(i,e,l))});$(()=>s.dispose())}),f(()=>{var e;const t=g();if(!t)return;const s=(e=L())==null?void 0:e._id,i=new Set(A()),a=t.stores.mapStats.on("mapStats:room",({room:l,stat:c})=>{var H,K;E.set(l,c);const m=b(l),u=m?to(m.x,m.y)||no(m.x,m.y):!1,d=c.status==="out of borders",v=!!(c.own&&c.own.user===s),h=!!(c.own&&c.own.user!==s),M=v?"own":u||d||h?"other":"none";V.set(l,M),i.has(l)&&(o==null||o.setRoomOwned(l,M),o==null||o.setRoomSafeMode(l,!!c.safeMode)),o==null||o.setRoomMineral(l,c.mineral,c.density);const C=c.badge?JSON.stringify(c.badge):"";Z.get(l)!==C&&(Z.set(l,C),o==null||o.setRoomBadge(l,c.badge,(H=c.own)==null?void 0:H.level)),x()===l&&((K=n.onSelectedRoomChanged)==null||K.call(n,S(l)))});$(()=>a.dispose())}),(()=>{var t=uo(),s=t.firstChild;return so(i=>N=i,s),t})()}export{go as MapViewer};
|