mirror of
https://git.rezel.net/LudoTech/traque.git
synced 2026-04-11 00:30:19 +02:00
28 lines
774 B
JavaScript
28 lines
774 B
JavaScript
// React
|
|
import { useCallback } from "react";
|
|
// Services
|
|
import { emitSendPosition, emitCapture } from "../services/socketEmitter";
|
|
|
|
export const useGame = () => {
|
|
|
|
const sendCurrentPosition = useCallback(() => {
|
|
emitSendPosition();
|
|
}, []);
|
|
|
|
const capture = useCallback((captureCode) => {
|
|
return new Promise((resolve, reject) => {
|
|
const timeout = setTimeout(() => {
|
|
console.warn("Server timeout: capture", captureCode);
|
|
reject(new Error("Timeout"));
|
|
}, 3000);
|
|
|
|
emitCapture(captureCode, (response) => {
|
|
clearTimeout(timeout);
|
|
resolve(response);
|
|
});
|
|
});
|
|
}, []);
|
|
|
|
return { sendCurrentPosition, capture };
|
|
};
|