Template
feat : guess word
This commit is contained in:
+1
-1
Submodule netcode/events updated: cdddb9a073...fc3f0e1677
@@ -1,3 +1,60 @@
|
||||
import { useGameStore } from "~/store/game.store";
|
||||
import type {
|
||||
GameDeleteEvent,
|
||||
GameEndTurnEvent,
|
||||
GameJoinEvent,
|
||||
GameMessageDeleteEvent,
|
||||
GameMessageEvent,
|
||||
GameStartEvent,
|
||||
} from "../events/game.events";
|
||||
import type { GameResponseDTO } from "../events/dto/gameresponse.dto";
|
||||
import { useUserStore } from "~/store/user.store";
|
||||
|
||||
export const handlers = {
|
||||
join: (event: any) => {},
|
||||
joingame: (event: GameJoinEvent) => {
|
||||
const gameStore = useGameStore();
|
||||
gameStore.game.players.push(event.player);
|
||||
},
|
||||
start: (event: GameStartEvent) => {
|
||||
const gameStore = useGameStore();
|
||||
gameStore.game.started = true;
|
||||
gameStore.game.currentPlayer = event.currentPlayer;
|
||||
gameStore.currentWord = null;
|
||||
},
|
||||
delete: (event: GameDeleteEvent) => {
|
||||
const gameStore = useGameStore();
|
||||
gameStore.game = {} as GameResponseDTO;
|
||||
alert("Game deleted");
|
||||
navigateTo("/");
|
||||
},
|
||||
message: (event: GameMessageEvent) => {
|
||||
const gameStore = useGameStore();
|
||||
gameStore.game.messages.push(event.message);
|
||||
if (!event.message.authorId) {
|
||||
const player = gameStore.game.players.find(
|
||||
(p) => p.userId == event.message.value
|
||||
);
|
||||
if (player) {
|
||||
player.score++;
|
||||
}
|
||||
}
|
||||
},
|
||||
deleteMessage: (event: GameMessageDeleteEvent) => {
|
||||
const gameStore = useGameStore();
|
||||
const index = gameStore.game.messages.findIndex(
|
||||
(m) => m.id == event.messageId
|
||||
);
|
||||
gameStore.game.messages.splice(index, 1);
|
||||
},
|
||||
endTurn: (event: GameEndTurnEvent) => {
|
||||
const gameStore = useGameStore();
|
||||
const userStore = useUserStore();
|
||||
gameStore.game.players.forEach((p) => (p.hasGuessed = false));
|
||||
gameStore.game.currentConcepts = [];
|
||||
gameStore.game.messages = [];
|
||||
gameStore.game.currentPlayer = event.currentPlayer;
|
||||
if (userStore.self && userStore.self.id == event.currentPlayer.userId) {
|
||||
void gameStore.getCurrentWord(gameStore.game.id);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -27,7 +27,7 @@ export const handlers = {
|
||||
leavegame: (event: LobbyLeaveEvent) => {
|
||||
const lobbyStore = useLobbyStore();
|
||||
const playerIndex = lobbyStore.games[event.game.id].players.findIndex(
|
||||
(p) => p.user.id == event.player.user.id
|
||||
(p) => p.userId == event.player.userId
|
||||
);
|
||||
lobbyStore.games[event.game.id].players.splice(playerIndex, 1);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user