fix timeouts
This commit is contained in:
parent
6436fd260c
commit
08b309de22
@ -13,13 +13,16 @@ const addState = connect(
|
||||
|
||||
if (!game) {
|
||||
ws.clearGameStateTimeout();
|
||||
} else {
|
||||
ws.startGameStateTimeout(game.id);
|
||||
}
|
||||
|
||||
if (!instance) {
|
||||
ws.clearInstanceStateTimeout();
|
||||
} else {
|
||||
ws.startInstanceStateTimeout(instance.id);
|
||||
}
|
||||
|
||||
|
||||
return { game, instance, account };
|
||||
}
|
||||
);
|
||||
|
||||
@ -50,15 +50,14 @@ function GamePanel(props) {
|
||||
}
|
||||
|
||||
function backClick() {
|
||||
quit();
|
||||
return sendInstanceState(game.instance);
|
||||
if (game.phase === 'Finish') sendInstanceState(game.instance);
|
||||
return quit();
|
||||
}
|
||||
|
||||
const header = (
|
||||
<div className="instance-hdr">
|
||||
<button
|
||||
className="game-back-btn instance-btn instance-ui-btn left"
|
||||
disabled={game.phase !== 'Finish'}
|
||||
onClick={backClick}>
|
||||
Back
|
||||
</button>
|
||||
|
||||
@ -100,7 +100,9 @@ function registerEvents(store) {
|
||||
const player = v.players.find(p => p.id === account.id);
|
||||
if (player) store.dispatch(actions.setPlayer(player));
|
||||
|
||||
if (!v) ws.clearInstanceStateTimeout();
|
||||
if (!v) {
|
||||
ws.clearInstanceStateTimeout();
|
||||
}
|
||||
return store.dispatch(actions.setInstance(v));
|
||||
}
|
||||
|
||||
|
||||
@ -184,14 +184,18 @@ function createSocket(events) {
|
||||
events.setCrypList(cryps);
|
||||
}
|
||||
|
||||
let gameStateTimeout;
|
||||
function gameState(response) {
|
||||
const [structName, game] = response;
|
||||
clearTimeout(gameStateTimeout);
|
||||
gameStateTimeout = setTimeout(() => sendGameState(game.id), 1000);
|
||||
events.setGame(game);
|
||||
}
|
||||
|
||||
let gameStateTimeout;
|
||||
function startGameStateTimeout(id) {
|
||||
clearTimeout(gameStateTimeout);
|
||||
gameStateTimeout = setTimeout(() => sendGameState(id), 1000);
|
||||
return true;
|
||||
}
|
||||
|
||||
function clearGameStateTimeout() {
|
||||
clearTimeout(gameStateTimeout);
|
||||
}
|
||||
@ -206,14 +210,23 @@ function createSocket(events) {
|
||||
}
|
||||
|
||||
let instanceStateTimeout;
|
||||
function startInstanceStateTimeout(id) {
|
||||
clearTimeout(instanceStateTimeout);
|
||||
instanceStateTimeout = setTimeout(() => sendInstanceState(id), 1000);
|
||||
return true;
|
||||
}
|
||||
|
||||
function instanceState(response) {
|
||||
const [structName, i] = response;
|
||||
clearTimeout(instanceStateTimeout);
|
||||
instanceStateTimeout = setTimeout(() => sendInstanceState(i.id), 1000);
|
||||
console.log(instanceStateTimeout);
|
||||
events.setInstance(i);
|
||||
return true;
|
||||
}
|
||||
|
||||
function clearInstanceStateTimeout() {
|
||||
console.log('instance state timeout cleared');
|
||||
clearTimeout(instanceStateTimeout);
|
||||
}
|
||||
|
||||
@ -353,6 +366,8 @@ function createSocket(events) {
|
||||
sendVboxCombine,
|
||||
sendVboxDiscard,
|
||||
sendVboxUnequip,
|
||||
startInstanceStateTimeout,
|
||||
startGameStateTimeout,
|
||||
connect,
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user