chore : working on game
This commit is contained in:
@@ -21,9 +21,13 @@ const currentGames = computed(() => {
|
|||||||
<ClientOnly>
|
<ClientOnly>
|
||||||
<template v-if="userStore.self && userStore.self.id">
|
<template v-if="userStore.self && userStore.self.id">
|
||||||
<User :id="userStore.self.id"></User>
|
<User :id="userStore.self.id"></User>
|
||||||
<button>Logout</button>
|
<NuxtLink :to="$config.public.endpoint + '/logout'"
|
||||||
|
><button>Logout</button></NuxtLink
|
||||||
|
>
|
||||||
</template>
|
</template>
|
||||||
<button v-else>Login</button>
|
<NuxtLink v-else :to="$config.public.discordLoginEndpoint">
|
||||||
|
<button>Login</button>
|
||||||
|
</NuxtLink>
|
||||||
</ClientOnly>
|
</ClientOnly>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -16,10 +16,14 @@ const game = lobbyStore.games[props.id];
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
{{ game.id }}
|
||||||
|
{{ game.players.map((p) => p.user.username) }}
|
||||||
{{ game }}
|
{{ game }}
|
||||||
|
|
||||||
<NuxtLink :to="'/game/' + id"
|
<NuxtLink :to="'/game/' + id"
|
||||||
><input type="button" value="open" :disabled="!userStore.self || loading"
|
><input type="button" value="open" :disabled="!userStore.self || loading"
|
||||||
/></NuxtLink>
|
/></NuxtLink>
|
||||||
|
<br />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="css" scoped>
|
<style lang="css" scoped>
|
||||||
|
|||||||
+1
-1
Submodule netcode/events updated: e9d5d8d909...cdddb9a073
@@ -1,28 +1,34 @@
|
|||||||
import { useLobbyStore } from "~/store/lobby.store";
|
import { useLobbyStore } from "~/store/lobby.store";
|
||||||
import type { LobbyCreateEvent, LobbyDeleteEvent, LobbyJoinEvent, LobbyLeaveEvent, LobbyStartEvent } from "../events/lobby.events";
|
import type {
|
||||||
|
LobbyCreateEvent,
|
||||||
|
LobbyDeleteEvent,
|
||||||
|
LobbyJoinEvent,
|
||||||
|
LobbyLeaveEvent,
|
||||||
|
LobbyStartEvent,
|
||||||
|
} from "../events/lobby.events";
|
||||||
|
|
||||||
export const handlers = {
|
export const handlers = {
|
||||||
create: (event: LobbyCreateEvent) => {
|
create: (event: LobbyCreateEvent) => {
|
||||||
const lobbyStore = useLobbyStore();
|
const lobbyStore = useLobbyStore();
|
||||||
lobbyStore.games[event.game.id] = event.game
|
lobbyStore.games[event.game.id] = event.game;
|
||||||
},
|
},
|
||||||
start: (event:LobbyStartEvent)=>{
|
start: (event: LobbyStartEvent) => {
|
||||||
const lobbyStore = useLobbyStore()
|
const lobbyStore = useLobbyStore();
|
||||||
lobbyStore.games[event.game.id].started = true
|
lobbyStore.games[event.game.id].started = true;
|
||||||
},
|
},
|
||||||
delete:(event: LobbyDeleteEvent)=>{
|
delete: (event: LobbyDeleteEvent) => {
|
||||||
const lobbyStore = useLobbyStore()
|
const lobbyStore = useLobbyStore();
|
||||||
delete lobbyStore.games[event.id]
|
delete lobbyStore.games[event.id];
|
||||||
},
|
},
|
||||||
join:(event: LobbyJoinEvent)=>{
|
joingame: (event: LobbyJoinEvent) => {
|
||||||
const lobbyStore = useLobbyStore()
|
const lobbyStore = useLobbyStore();
|
||||||
lobbyStore.games[event.game.id].players.push(event.player)
|
lobbyStore.games[event.game.id].players.push(event.player);
|
||||||
|
},
|
||||||
|
leavegame: (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);
|
||||||
},
|
},
|
||||||
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)
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|||||||
+13
-8
@@ -11,13 +11,18 @@ async function createGame() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
await lobbyStore.createGame().catch((e) => {
|
await lobbyStore
|
||||||
if (e.data.statusCode == 400) {
|
.createGame()
|
||||||
console.error("Owned game limit reached");
|
.then(() => {
|
||||||
} else {
|
loading.value = false;
|
||||||
console.log(e);
|
})
|
||||||
}
|
.catch((e) => {
|
||||||
});
|
if (e.data.statusCode == 400) {
|
||||||
|
console.error("Owned game limit reached");
|
||||||
|
} else {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -27,7 +32,7 @@ async function createGame() {
|
|||||||
type="button"
|
type="button"
|
||||||
value="Create Game"
|
value="Create Game"
|
||||||
@click="createGame"
|
@click="createGame"
|
||||||
:disabled="!userStore.self"
|
:disabled="!userStore.self || loading"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user