mirror of
https://git.rezel.net/LudoTech/traque.git
synced 2026-02-09 10:20:16 +01:00
Suppression pénalités d'envoi de position
This commit is contained in:
30
traque-back/timeoutHandler.js
Normal file
30
traque-back/timeoutHandler.js
Normal file
@@ -0,0 +1,30 @@
|
||||
import game from "./game.js";
|
||||
|
||||
export default {
|
||||
teams: [],
|
||||
|
||||
setSendPositionTimeout(teamID, deadline) {
|
||||
const foundTeam = this.teams.find(t => t.teamID === teamID);
|
||||
if (!foundTeam) {
|
||||
this.teams.push({teamID: teamID, timeoutID: setTimeout(() => game.sendLocation(teamID), deadline - Date.now())});
|
||||
} else {
|
||||
clearTimeout(foundTeam.timeoutID);
|
||||
foundTeam.timeoutID = setTimeout(() => game.sendLocation(teamID), deadline - Date.now());
|
||||
}
|
||||
},
|
||||
|
||||
endSendPositionTimeout(teamID) {
|
||||
const foundTeam = this.teams.find(t => t.teamID === teamID);
|
||||
if (foundTeam) {
|
||||
clearTimeout(foundTeam.timeoutID);
|
||||
this.teams = this.teams.filter(t => t.teamID !== teamID);
|
||||
}
|
||||
},
|
||||
|
||||
endAllSendPositionTimeout() {
|
||||
for (const team of this.teams) {
|
||||
clearTimeout(team.timeoutID);
|
||||
}
|
||||
this.teams = [];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user