silphius/app/react/context/ecs.js

22 lines
426 B
JavaScript
Raw Normal View History

2024-07-31 09:29:33 -05:00
import {createContext, useCallback, useContext} from 'react';
2024-06-22 23:32:57 -05:00
import {usePacket} from './client.js';
2024-06-22 23:32:57 -05:00
const context = createContext();
export default context;
export function useEcs() {
return useContext(context);
}
2024-07-31 09:29:33 -05:00
export function useEcsTick(fn) {
2024-07-03 11:17:36 -05:00
const [ecs] = useEcs();
2024-07-31 09:29:33 -05:00
const memo = useCallback((payload) => {
if (!ecs) {
return;
}
fn(payload, ecs);
}, [ecs, fn]);
usePacket(':Ecs', memo);
}