@litecanvas/utils
Version:
Utilities to help build litecanvas games
2 lines (1 loc) • 932 B
JavaScript
(()=>{var x=Object.defineProperty;var g=(e,t)=>{for(var s in t)x(e,s,{get:t[s],enumerable:!0})};window.utils=window.utils||{};window.utils.global=(e=!0)=>{for(let t in window.utils)t!=="global"&&(e||globalThis[t]===void 0)&&(globalThis[t]=window.utils[t])};var d={};g(d,{colcirc:()=>N,colrect:()=>F,colrectcirc:()=>w,intersection:()=>o,resolverect:()=>v});var o=(e,t,s,a,i,r,l,u)=>{let m=Math.max(e,i),h=Math.min(e+s,i+l)-m,n=Math.max(t,r),b=Math.min(t+a,r+u)-n;return[m,n,h,b]};var v=(e,t,s,a,i,r,l,u)=>{let[m,h,n,b]=o(e,t,s,a,i,r,l,u),c="",p=e,f=t;return n<b?e<i?(c="right",p=i-s):(c="left",p=i+l):t<r?(c="bottom",f=r-a):(c="top",f=r+u),{dir:c,x:p,y:f}};var F=(e,t,s,a,i,r,l,u)=>e<i+l&&e+s>i&&t<r+u&&t+a>r;var N=(e,t,s,a,i,r)=>(a-e)*(a-e)+(i-t)*(i-t)<=(s+r)*(s+r);var w=(e,t,s,a,i,r,l)=>{let u=i-Math.max(e,Math.min(i,e+s)),m=r-Math.max(t,Math.min(r,t+a));return u*u+m*m<=l*l};window.utils=Object.assign(window.utils||{},d);})();