29 lines
1001 B
TypeScript
29 lines
1001 B
TypeScript
import { useLobbyStore } from "~/store/lobby.store";
|
|
import type { LobbyCreateEvent, LobbyDeleteEvent, LobbyJoinEvent, LobbyLeaveEvent, LobbyStartEvent } from "../events/lobby.events";
|
|
|
|
|
|
|
|
export const handlers = {
|
|
create: (event: LobbyCreateEvent) => {
|
|
const lobbyStore = useLobbyStore();
|
|
lobbyStore.games[event.game.id] = event.game
|
|
},
|
|
start: (event:LobbyStartEvent)=>{
|
|
const lobbyStore = useLobbyStore()
|
|
lobbyStore.games[event.game.id].started = true
|
|
},
|
|
delete:(event: LobbyDeleteEvent)=>{
|
|
const lobbyStore = useLobbyStore()
|
|
delete lobbyStore.games[event.id]
|
|
},
|
|
join:(event: LobbyJoinEvent)=>{
|
|
const lobbyStore = useLobbyStore()
|
|
lobbyStore.games[event.game.id].players.push(event.player)
|
|
},
|
|
leave:(event: LobbyLeaveEvent)=>{
|
|
const lobbyStore = useLobbyStore()
|
|
const playerIndex = lobbyStore.games[event.game.id].players.findIndex(p=>p.user.id == event.player.user.id)
|
|
lobbyStore.games[event.game.id].players.splice(playerIndex,1)
|
|
}
|
|
};
|