silphius/app/react/context/ecs.js
2024-07-31 09:29:33 -05:00

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);
}