screeps-client 0.3.3 → 0.3.4
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/assets/{CodePanel-BPalm7GH.js → CodePanel-B6VbFrxV.js} +1 -1
- package/dist/embedded/assets/MapViewer-DF2eqHW3.js +1 -0
- package/dist/embedded/assets/index-DFoX_3cK.js +24 -0
- package/dist/embedded/index.html +1 -1
- package/dist/{xxscreeps-mod/assets/CodePanel-CT25L3sq.js → standalone/assets/CodePanel-CBhC-97J.js} +1 -1
- package/dist/standalone/assets/MapViewer-TlyktL4n.js +1 -0
- package/dist/standalone/assets/index-BamYuP7w.js +24 -0
- package/dist/standalone/index.html +1 -1
- package/dist/{standalone/assets/CodePanel-CRqfH48W.js → xxscreeps-mod/assets/CodePanel-DUTSZ5g0.js} +1 -1
- package/dist/xxscreeps-mod/assets/MapViewer-DaGsI6Fg.js +1 -0
- package/dist/xxscreeps-mod/assets/index-CJKRry5L.js +24 -0
- package/dist/xxscreeps-mod/index.html +1 -1
- package/package.json +1 -1
- package/dist/embedded/assets/MapViewer-sspEY1OS.js +0 -1
- package/dist/embedded/assets/index-AMOP6Cjq.js +0 -9
- package/dist/standalone/assets/MapViewer-CY4zWpjR.js +0 -1
- package/dist/standalone/assets/index-Ct25GErL.js +0 -9
- package/dist/xxscreeps-mod/assets/MapViewer-BPHjWJtJ.js +0 -1
- package/dist/xxscreeps-mod/assets/index-BvL-GrqB.js +0 -9
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as v,n as P,w as C,p as g,k as Q,l as F,m as G,j as p,o as V,e as oo,g as to,u as no,f as eo,h as ao,b as so,t as io,M as lo}from"./index-BvL-GrqB.js";import{l as O,h,s as co,r as T}from"./vendor-codemirror-D3PB7yT8.js";import"./vendor-pixi-CXkRT4gi.js";var mo=io("<div style=width:100%;height:100%;position:relative><canvas style=display:block>");const{log:B,error:L}=so("map");function Ro(t){let N,o=null;const[A,z]=O([]),[W,j]=O(1),q=()=>t.originRoom,[$,k]=O(q()??null);let X=null,Z=null;const R=new Map,E=new Map,I=new Map,_=new Map,Y=n=>{const e=C();if(!e)return!0;const i=g(n);return!!i&&ao(i.x,i.y,e)},S=n=>{var i;const e=E.get(n);return{room:n,owner:(e==null?void 0:e.username)??((i=e==null?void 0:e.own)!=null&&i.user?`user:${e.own.user}`:null),mineral:(e==null?void 0:e.mineral)??null,density:(e==null?void 0:e.density)??null}},D=200,J=0;let w=[],b=null;const U=()=>{b=null;const n=v();if(!n||!o)return;const e=new Set(A());if(w=w.filter(a=>e.has(a)&&!o.hasRoom(a)),w.length===0)return;const i=w.splice(0,D);n.stores.room.terrainBulk(i,t.shard).then(a=>{for(const[s,l]of a){o==null||o.setRoomTerrain(s,l);const c=I.get(s);c!==void 0&&(o==null||o.setRoomOwned(s,c))}}).catch(a=>L("terrain fetch failed:",a)).finally(()=>{w.length>0&&(b=setTimeout(U,J))})};return h(()=>{v(),t.shard,E.clear(),I.clear()}),co(()=>{N&&(async()=>{var e,i;if(o=new lo({onRoomHover:a=>{var s;(s=t.onHoveredRoomChanged)==null||s.call(t,a?S(a):null)},onRoomClick:a=>{var s;$()!==a?(k(a),o==null||o.setSelectedRoom(a),(s=t.onSelectedRoomChanged)==null||s.call(t,S(a))):Y(a)&&setTimeout(()=>t.onNavigateToRoom(a),0)},onVisibleRoomsChanged:a=>{const s=a.length===0;Z!==s&&(Z=s,s||B(`zoom in — terrain loading active, ${a.length} rooms visible`)),z(a)},onZoomChanged:a=>{var s;j(a),(s=t.onZoomChanged)==null||s.call(t,a)}}),await o.init(N),!o)return;t.initialZoom!==void 0&&t.initialZoom>0&&o.setZoom(t.initialZoom),(e=t.onZoomChanged)==null||e.call(t,o.zoom);const n=C();if(n&&o.setBounds(n.minX,n.maxX,n.minY,n.maxY),t.originRoom){const a=g(t.originRoom);a&&o.centerOn(a.x,a.y),o.setSelectedRoom(t.originRoom),(i=t.onSelectedRoomChanged)==null||i.call(t,S(t.originRoom))}else{const a=v();if(a)try{const s=await a.http.user.worldStartRoom(t.shard??"shard0");if(!o)return;const l=Array.isArray(s==null?void 0:s.room)?s.room[0]:s==null?void 0:s.room;if(typeof l=="string"){const c=g(l);c&&o.centerOn(c.x,c.y)}}catch(s){L("worldStartRoom failed:",s)}}})()}),T(()=>{b!==null&&(clearTimeout(b),b=null),w=[];for(const n of R.values())n.dispose();R.clear(),o==null||o.destroy(),o=null}),h(()=>{P({currentRoom:$,worldBounds:C,onMove:(i,a)=>{var l,c;const s=eo(i,a);k(s),o==null||o.setSelectedRoom(s),o==null||o.centerOn(i,a,!0),(l=t.onSelectedRoomChanged)==null||l.call(t,S(s)),(c=t.onHoveredRoomChanged)==null||c.call(t,S(s))}});const e=i=>{var l,c;const a=((l=i.target)==null?void 0:l.tagName)??"",s=((c=i.target)==null?void 0:c.isContentEditable)??!1;if(!(a==="INPUT"||a==="TEXTAREA"||s)&&i.key==="m"){const m=$();m&&Y(m)&&t.onNavigateToRoom(m)}};window.addEventListener("keydown",e),T(()=>window.removeEventListener("keydown",e))}),h(()=>{var c;const n=v(),e=A(),i=t.shard;if(!n||e.length===0)return;const a=new Set(e),s=e.filter(m=>!(o!=null&&o.hasRoom(m)));if(s.length>0){const m=e.reduce((d,y)=>{var f;return d+(((f=g(y))==null?void 0:f.x)??0)},0)/e.length,u=e.reduce((d,y)=>{var f;return d+(((f=g(y))==null?void 0:f.y)??0)},0)/e.length;w=s.slice().sort((d,y)=>{const f=g(d),M=g(y),x=f?Math.abs(f.x-m)+Math.abs(f.y-u):999,r=M?Math.abs(M.x-m)+Math.abs(M.y-u):999;return x-r}),b===null&&(b=setTimeout(U,0))}n.stores.mapStats.request(e,"owner0",i??void 0);const l=W()>=.4;if(l!==X&&(X=l,(c=t.onSubscriptionStateChanged)==null||c.call(t,l),l||o==null||o.clearAllMap2()),l){const m=new Set(e.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 e){const d=`${u}/${i}`;R.has(d)||R.set(d,n.stores.map.subscribeMap2(u,i))}}else{for(const[,m]of R)m.dispose();R.clear()}o==null||o.clearInvisibleRooms(a)}),h(()=>{o==null||o.setShowRoomNames(Q()),o&&(o.currentShard=t.shard??"shard0")}),h(()=>{o==null||o.setUnclaimableOverlayVisible(F())}),h(()=>{o==null||o.setOverlayMode(G())}),h(()=>{const n=v(),e=t.shard;n&&n.stores.server.worldInfo(e??void 0).then(i=>{B(`worldInfo(shard=${e??"none"}) — x: [${i.minX}, ${i.maxX}] y: [${i.minY}, ${i.maxY}]`),p(i)}).catch(i=>{})}),h(()=>{var n;o==null||o.setCurrentUser(((n=V())==null?void 0:n._id)??null)}),h(()=>{const n=C();n?(o==null||o.setBounds(n.minX,n.maxX,n.minY,n.maxY),B(`worldBounds applied — shard: ${t.shard??"none"} x: [${n.minX}, ${n.maxX}] y: [${n.minY}, ${n.maxY}] (fetched for shard: ${n.shard??"none"})`)):(o==null||o.clearBounds(),B(`worldBounds — none (shard: ${t.shard??"none"})`))}),h(()=>{const n=v();if(!n)return;const e=n.stores.map.on("room:map2update",({room:i,shard:a,data:s,source:l})=>{a===t.shard&&(o==null||o.setRoomMap2(i,s,l))});T(()=>e.dispose())}),h(()=>{var s;const n=v();if(!n)return;const e=(s=V())==null?void 0:s._id,i=new Set(A()),a=n.stores.mapStats.on("mapStats:room",({room:l,stat:c})=>{var H,K;E.set(l,c);const m=g(l),u=m?oo(m.x,m.y)||to(m.x,m.y):!1,d=c.status==="out of borders",y=!!(c.own&&c.own.user===e),f=!!(c.own&&c.own.user!==e),M=y?"own":u||d||f?"other":"none";I.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 x=c.badge?JSON.stringify(c.badge):"";_.get(l)!==x&&(_.set(l,x),o==null||o.setRoomBadge(l,c.badge,(H=c.own)==null?void 0:H.level)),$()===l&&((K=t.onSelectedRoomChanged)==null||K.call(t,S(l)))});T(()=>a.dispose())}),(()=>{var n=mo(),e=n.firstChild;return no(i=>N=i,e),n})()}export{Ro as MapViewer};
|