fix(multi): don't override screen if a new room was joined during session restore
This commit is contained in:
@@ -57,7 +57,11 @@ export function useGameEffects({
|
|||||||
saved.multiPlayerId
|
saved.multiPlayerId
|
||||||
) {
|
) {
|
||||||
if (saved.playerName) setPlayerName(saved.playerName);
|
if (saved.playerName) setPlayerName(saved.playerName);
|
||||||
|
const savedCode = saved.multiRoomCode;
|
||||||
multi.restore(saved.multiRoomCode, saved.multiPlayerId).then((ok) => {
|
multi.restore(saved.multiRoomCode, saved.multiPlayerId).then((ok) => {
|
||||||
|
// si une nouvelle room a été rejointe pendant le restore, on laisse
|
||||||
|
const current = loadSession();
|
||||||
|
if (current?.multiRoomCode && current.multiRoomCode !== savedCode) return;
|
||||||
if (ok) setScreen("lobby");
|
if (ok) setScreen("lobby");
|
||||||
else {
|
else {
|
||||||
clearSession();
|
clearSession();
|
||||||
|
|||||||
Reference in New Issue
Block a user