2024-06-10 22:42:30 -05:00
|
|
|
import {useContext, useEffect} from 'react';
|
|
|
|
|
|
|
|
import ClientContext from '@/context/client.js';
|
|
|
|
|
|
|
|
export default function usePacket(type, fn, dependencies) {
|
|
|
|
const client = useContext(ClientContext);
|
|
|
|
useEffect(() => {
|
2024-06-13 12:24:32 -05:00
|
|
|
if (!client) {
|
|
|
|
return;
|
|
|
|
}
|
2024-06-13 01:26:01 -05:00
|
|
|
client.addPacketListener(type, fn);
|
2024-06-10 22:42:30 -05:00
|
|
|
return () => {
|
2024-06-13 01:26:01 -05:00
|
|
|
client.removePacketListener(type, fn);
|
2024-06-10 22:42:30 -05:00
|
|
|
};
|
2024-06-13 12:24:32 -05:00
|
|
|
}, [client, ...dependencies]);
|
2024-06-10 22:42:30 -05:00
|
|
|
}
|