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