22 lines
426 B
JavaScript
22 lines
426 B
JavaScript
import {createContext, useCallback, useContext} from 'react';
|
|
|
|
import {usePacket} from './client.js';
|
|
|
|
const context = createContext();
|
|
|
|
export default context;
|
|
|
|
export function useEcs() {
|
|
return useContext(context);
|
|
}
|
|
|
|
export function useEcsTick(fn) {
|
|
const [ecs] = useEcs();
|
|
const memo = useCallback((payload) => {
|
|
if (!ecs) {
|
|
return;
|
|
}
|
|
fn(payload, ecs);
|
|
}, [ecs, fn]);
|
|
usePacket(':Ecs', memo);
|
|
} |