feat : lobby

This commit is contained in:
2024-12-29 23:39:15 +01:00
parent e0ece631d3
commit d92739bbd6
14 changed files with 313 additions and 203 deletions
+28
View File
@@ -0,0 +1,28 @@
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)
}
};