Files

3 lines
7.1 KiB
JavaScript
Raw Permalink Normal View History

2026-07-28 10:47:32 -04:00
var gdjs;(function(o){let V;(function(g){let I;(function(b){b.pickOnly=function(e,t){for(const s in e.items)if(e.items.hasOwnProperty(s)){const n=e.items[s];n.indexOf(t)===-1?n.length=0:(n.length=0,n.push(t))}},b.twoListsTest=function(e,t,s,n,r){let f=!1;const i=o.staticArray(o.evtTools.object.twoListsTest);t.values(i);const u=o.staticArray2(o.evtTools.object.twoListsTest);s.values(u);for(let l=0,O=i.length;l<O;++l){let c=i[l];for(let a=0,j=c.length;a<j;++a)c[a].pick=!1}for(let l=0,O=u.length;l<O;++l){let c=u[l];for(let a=0,j=c.length;a<j;++a)c[a].pick=!1}for(let l=0,O=i.length;l<O;++l){const c=i[l];for(let a=0,j=c.length;a<j;++a){let h=!1;for(let m=0,C=u.length;m<C;++m){const w=u[m];for(let p=0,F=w.length;p<F;++p)c[a].pick&&w[p].pick||c[a].id!==w[p].id&&e(c[a],w[p],r)&&(n||(f=!0,c[a].pick=!0,w[p].pick=!0),h=!0)}!h&&n&&(f=!0,c[a].pick=!0)}}for(let l=0,O=i.length;l<O;++l){let c=i[l],a=0;for(let j=0,h=c.length;j<h;++j){let m=c[j];c[j].pick&&(c[a]=m,a++)}c.length=a}if(!n)for(let l=0,O=u.length;l<O;++l){let c=u[l],a=0;for(let j=0,h=c.length;j<h;++j){let m=c[j];c[j].pick&&(c[a]=m,a++)}c.length=a}return f},b.pickObjectsIf=function(e,t,s,n){let r=!1;const f=o.staticArray(o.evtTools.object.pickObjectsIf);t.values(f);for(let i=0,u=f.length;i<u;++i){const l=f[i];for(let O=0,c=l.length;O<c;++O){const a=l[O];s^e(a,n)?(r=!0,a.pick=!0):a.pick=!1}}for(let i=0,u=f.length;i<u;++i)o.evtTools.object.filterPickedObjectsList(f[i]);return r},b.filterPickedObjectsList=function(e){let t=0;for(let s=0,n=e.length;s<n;++s){const r=e[s];r.pick&&(e[t]=r,t++)}e.length=t},b.hitBoxesCollisionTest=function(e,t,s,n,r){return o.evtTools.object.twoListsTest(o.RuntimeObject.collisionTest,e,t,s,r)},b._distanceBetweenObjects=function(e,t,s){return e.getSqDistanceToObject(t)<=s},b.distanceTest=function(e,t,s,n){return o.evtTools.object.twoListsTest(o.evtTools.object._distanceBetweenObjects,e,t,n,s*s)},b._movesToward=function(e,t,s){if(e.hasNoForces())return!1;let n=Math.atan2(t.getDrawableY()+t.getCenterY()-(e.getDrawableY()+e.getCenterY()),t.getDrawableX()+t.getCenterX()-(e.getDrawableX()+e.getCenterX()));return n*=180/3.14159,Math.abs(o.evtTools.common.angleDifference(e.getAverageForce().getAngle(),n))<=s/2},b.movesTowardTest=function(e,t,s,n){return o.evtTools.object.twoListsTest(o.evtTools.object._movesToward,e,t,n,s)},b._turnedToward=function(e,t,s){let n=Math.atan2(t.getDrawableY()+t.getCenterY()-(e.getDrawableY()+e.getCenterY()),t.getDrawableX()+t.getCenterX()-(e.getDrawableX()+e.getCenterX()));return n*=180/3.14159,Math.abs(o.evtTools.common.angleDifference(e.getAngle(),n))<=s/2},b.turnedTowardTest=function(e,t,s,n){return o.evtTools.object.twoListsTest(o.evtTools.object._turnedToward,e,t,n,s)},b._isTurnedTowardObject=function(e,t,s){return Math.abs(o.evtTools.common.angleDifference(e.getAngle(),e.getAngleToObject(t)))<=s},b.isTurnedTowardObject=function(e,t,s,n){return o.evtTools.object.twoListsTest(o.evtTools.object._isTurnedTowardObject,e,t,n,s)},b.pickAllObjects=function(e,t){for(const s in t.items)if(t.items.hasOwnProperty(s)){const n=e.getObjects(s),r=t.items[s];o.copyArray(n,r)}return!0},b.pickRandomObject=function(e,t){let s=0;for(let i in t.items)t.items.hasOwnProperty(i)&&(s+=t.items[i].length);if(s===0)return!1;let n=Math.floor(Math.random()*s);n>=s&&(n=s-1);let r=0,f=null;for(let i in t.items)if(t.items.hasOwnProperty(i)){let u=t.items[i];if(n-r<u.length){f=u[n-r];break}r+=u.length}return o.evtTools.object.pickOnly(t,f),!0},b.pickNearestObject=function(e,t,s,n=!1){let r=null,f=0,i=!0;const u=o.staticArray(o.evtTools.object.pickNearestObject);e.values(u);for(let l=0,O=u.length;l<O;++l){const c=u[l];for(let a=0;a<c.length;++a){const j=c[a],h=j.getSqDistanceToPosition(t,s);(i||h<f!=!!n)&&(f=h,r=j),i=!1}}return r?(o.evtTools.object.pickOnly(e,r),!0):!1},b.raycastObject=function(e,t,s,n,r,f,i,u){return o.evtTools.object.raycastObjectToPosition(e,t,s,t+r*Math.cos(n*Math.PI/180),s+r*Math.sin(n*Math.PI/180),f,i,u)},b.raycastObjectToPosition=function(e,t,s,n,r,f,i,u){let l=null,O=u?0:(n-t)*(n-t)+(r-s)*(r-s),c=0,a=0;const j=o.staticArray(o.evtTools.
//# sourceMappingURL=objecttools.js.map