DRY
This commit is contained in:
@@ -18,18 +18,7 @@ export default function TicTacToe() {
|
|||||||
// const [openMatches, setOpenMatches] = useState<Match[]>([]);
|
// const [openMatches, setOpenMatches] = useState<Match[]>([]);
|
||||||
const [players, setPlayers] = useState<string[]>([]);
|
const [players, setPlayers] = useState<string[]>([]);
|
||||||
|
|
||||||
const {
|
function onMatchDataCallback(msg: { opCode: number; data: any }) {
|
||||||
loginOrRegister,
|
|
||||||
joinMatchmaker,
|
|
||||||
onMatchData,
|
|
||||||
sendMatchData,
|
|
||||||
listOpenMatches,
|
|
||||||
matchId,
|
|
||||||
session,
|
|
||||||
} = useNakama();
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
onMatchData((msg) => {
|
|
||||||
console.log("[Match Data]", msg);
|
console.log("[Match Data]", msg);
|
||||||
|
|
||||||
if (msg.opCode === 2) {
|
if (msg.opCode === 2) {
|
||||||
@@ -43,7 +32,19 @@ export default function TicTacToe() {
|
|||||||
// new:
|
// new:
|
||||||
setPlayers(state.players || []);
|
setPlayers(state.players || []);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
const {
|
||||||
|
loginOrRegister,
|
||||||
|
joinMatchmaker,
|
||||||
|
onMatchData,
|
||||||
|
sendMatchData,
|
||||||
|
listOpenMatches,
|
||||||
|
matchId,
|
||||||
|
session,
|
||||||
|
} = useNakama();
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
onMatchData(onMatchDataCallback);
|
||||||
}, [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