UNPKG

ecspresso

Version:

A minimal Entity-Component-System library for typescript and javascript.

5 lines (3 loc) 856 B
var N=((m)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(m,{get:(A,B)=>(typeof require<"u"?require:A)[B]}):m)(function(m){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+m+'" is not supported')});import{createContext as I,useContext as J,useEffect as H,useRef as K,useState as L}from"react";var M=I(null);function Q(){function m(){let j=J(M);if(!j)throw Error("useEcs: missing EcsContext.Provider");return j}function A(j){let q=m(),[F,z]=L(()=>q.getResource(j));return H(()=>{return q.onResourceChange(j,(G)=>{z(G)})},[j]),F}function B(j,q){let F=m(),z=K(q);z.current=q,H(()=>{return F.eventBus.subscribe(j,(G)=>{z.current(G)})},[j])}return{useEcs:m,useResource:A,useEvent:B}}export{Q as createEcsHooks,M as EcsContext}; //# debugId=513D21A3F0D6221964756E2164756E21 //# sourceMappingURL=index.js.map