fix player leave issue. fix nextPlayer issue

This commit is contained in:
Nepgfurmixpro 2025-03-08 03:57:51 -05:00
parent db95b4615c
commit 8e648c5a2c
3 changed files with 10 additions and 5 deletions

View File

@ -28,5 +28,8 @@
"typescript": "~5.6.2", "typescript": "~5.6.2",
"vite": "^6.0.3", "vite": "^6.0.3",
"@tauri-apps/cli": "^1" "@tauri-apps/cli": "^1"
} },
"trustedDependencies": [
"@parcel/watcher"
]
} }

View File

@ -51,7 +51,7 @@ export const useGameState = create(() => ({
return [...this.players.values()].filter(c => c.uuid != this.cardPicker) return [...this.players.values()].filter(c => c.uuid != this.cardPicker)
}, },
getNextPicker() { getNextPicker() {
this.prevPicker = (this.prevPicker + 1) % (this.players.size - 1) this.prevPicker = (this.prevPicker + 1) % this.players.size
return this.getPlayers()[this.prevPicker].uuid return this.getPlayers()[this.prevPicker].uuid
} }
})) }))
@ -71,4 +71,4 @@ export const GameContext = createContext<GameContextProps>({
actionState: "showing-black", actionState: "showing-black",
gameHeader: "", gameHeader: "",
setHeader: () => {}, setHeader: () => {},
}); });

View File

@ -73,7 +73,7 @@ export function HumanityBoxGame() {
if (gameState.getPlayers().findIndex((p) => p.name == data.playerName) != -1) { if (gameState.getPlayers().findIndex((p) => p.name == data.playerName) != -1) {
send(ser(createPacket("game.forceQuit", { send(ser(createPacket("game.forceQuit", {
reason: "Name in use" reason: "Name in use"
}))) }, conn)))
return return
} }
@ -131,6 +131,8 @@ export function HumanityBoxGame() {
} }
} }
state.playedWhiteCards.delete(uuid)
if (state.players.size < 3) { if (state.players.size < 3) {
setScreenState("join-lobby") setScreenState("join-lobby")
setActionState("showing-black") setActionState("showing-black")
@ -344,4 +346,4 @@ export function HumanityBoxGame() {
</div> </div>
</GameContext.Provider> </GameContext.Provider>
) )
} }