DRY
This commit is contained in:
@@ -18,6 +18,21 @@ export default function TicTacToe() {
|
|||||||
// const [openMatches, setOpenMatches] = useState<Match[]>([]);
|
// const [openMatches, setOpenMatches] = useState<Match[]>([]);
|
||||||
const [players, setPlayers] = useState<string[]>([]);
|
const [players, setPlayers] = useState<string[]>([]);
|
||||||
|
|
||||||
|
function onMatchDataCallback(msg: { opCode: number; data: any }) {
|
||||||
|
console.log("[Match Data]", msg);
|
||||||
|
|
||||||
|
if (msg.opCode === 2) {
|
||||||
|
const state = msg.data;
|
||||||
|
console.log("Match state:", state);
|
||||||
|
|
||||||
|
setBoard(state.board);
|
||||||
|
setTurn(state.turn);
|
||||||
|
setWinner(state.winner || null);
|
||||||
|
|
||||||
|
// new:
|
||||||
|
setPlayers(state.players || []);
|
||||||
|
}
|
||||||
|
}
|
||||||
const {
|
const {
|
||||||
loginOrRegister,
|
loginOrRegister,
|
||||||
joinMatchmaker,
|
joinMatchmaker,
|
||||||
@@ -29,21 +44,7 @@ export default function TicTacToe() {
|
|||||||
} = useNakama();
|
} = useNakama();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
onMatchData((msg) => {
|
onMatchData(onMatchDataCallback);
|
||||||
console.log("[Match Data]", msg);
|
|
||||||
|
|
||||||
if (msg.opCode === 2) {
|
|
||||||
const state = msg.data;
|
|
||||||
console.log("Match state:", state);
|
|
||||||
|
|
||||||
setBoard(state.board);
|
|
||||||
setTurn(state.turn);
|
|
||||||
setWinner(state.winner || null);
|
|
||||||
|
|
||||||
// new:
|
|
||||||
setPlayers(state.players || []);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, [onMatchData]);
|
}, [onMatchData]);
|
||||||
|
|
||||||
// useEffect(() => {
|
// useEffect(() => {
|
||||||
@@ -72,21 +73,7 @@ export default function TicTacToe() {
|
|||||||
await loginOrRegister(username);
|
await loginOrRegister(username);
|
||||||
|
|
||||||
// Match data listener
|
// Match data listener
|
||||||
onMatchData((msg) => {
|
onMatchData(onMatchDataCallback);
|
||||||
console.log("[Match Data]", msg);
|
|
||||||
|
|
||||||
if (msg.opCode === 2) {
|
|
||||||
const state = msg.data;
|
|
||||||
console.log("Match state:", state);
|
|
||||||
|
|
||||||
setBoard(state.board);
|
|
||||||
setTurn(state.turn);
|
|
||||||
setWinner(state.winner || null);
|
|
||||||
|
|
||||||
// new:
|
|
||||||
setPlayers(state.players || []);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------
|
// ------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user