From d032d00ec2f45b00dbf30bf16b84374f69db7742 Mon Sep 17 00:00:00 2001 From: Thilo Behnke Date: Sun, 19 Jun 2022 22:31:08 +0200 Subject: [PATCH] separate menu from settings --- client/svelte-client/src/App.svelte | 25 +++++++++++-------- client/svelte-client/src/GameSettings.svelte | 19 ++++++++++++++ .../src/{Action.svelte => ModeSelect.svelte} | 17 ++++++------- .../src/NetworkSessionWrapper.svelte | 24 ++++++++++++++++++ client/svelte-client/src/game/session.ts | 6 ++--- 5 files changed, 68 insertions(+), 23 deletions(-) create mode 100644 client/svelte-client/src/GameSettings.svelte rename client/svelte-client/src/{Action.svelte => ModeSelect.svelte} (67%) create mode 100644 client/svelte-client/src/NetworkSessionWrapper.svelte diff --git a/client/svelte-client/src/App.svelte b/client/svelte-client/src/App.svelte index 6ee6316..1955b6a 100644 --- a/client/svelte-client/src/App.svelte +++ b/client/svelte-client/src/App.svelte @@ -6,8 +6,10 @@ import Input from "./Input.svelte"; import {setContext} from "svelte"; import {sessionContext, sessionStore} from "./game/session"; - import Action from "./Action.svelte"; + import ModeSelect from "./ModeSelect.svelte"; import {network, networkContext} from "./game/network"; + import NetworkSessionWrapper from "./NetworkSessionWrapper.svelte"; + import GameSettings from "./GameSettings.svelte"; setContext(sessionContext, sessionStore); setContext(networkContext, network); @@ -54,7 +56,7 @@ } function toggleDebug() { - debug = true; + debug = !debug; }
@@ -65,21 +67,24 @@ {/if} {#if !$sessionStore.session}
- localSession()} on:session-create={() => createSession()} on:session-join={({detail: sessionId}) => joinSession(sessionId)} on:session-watch={({detail: sessionId}) => watchSession(sessionId)} on:debug-toggle={() => toggleDebug()} - > + >
{:else} -
- - - - -
+ + toggleDebug()}> +
+ + + + +
+
{/if}
diff --git a/client/svelte-client/src/GameSettings.svelte b/client/svelte-client/src/GameSettings.svelte new file mode 100644 index 0000000..44e9678 --- /dev/null +++ b/client/svelte-client/src/GameSettings.svelte @@ -0,0 +1,19 @@ + + +
+ +
+ + diff --git a/client/svelte-client/src/Action.svelte b/client/svelte-client/src/ModeSelect.svelte similarity index 67% rename from client/svelte-client/src/Action.svelte rename to client/svelte-client/src/ModeSelect.svelte index a2050ae..a8311e5 100644 --- a/client/svelte-client/src/Action.svelte +++ b/client/svelte-client/src/ModeSelect.svelte @@ -27,23 +27,20 @@ dispatch("session-watch", sessionId) } - const toggleDebug = () => { - dispatch("debug-toggle") - } -
+
- - - + +
diff --git a/client/svelte-client/src/NetworkSessionWrapper.svelte b/client/svelte-client/src/NetworkSessionWrapper.svelte new file mode 100644 index 0000000..632d4e2 --- /dev/null +++ b/client/svelte-client/src/NetworkSessionWrapper.svelte @@ -0,0 +1,24 @@ + + +{#if !$session.session} + error! +{:else if $session.session.state === SessionState.PENDING} + waiting for other player... +{:else if $session.session.state === SessionState.CLOSED} + game over! +{:else if $session.session.state === SessionState.RUNNING} + +{:else } + unknown game state +{/if} + + diff --git a/client/svelte-client/src/game/session.ts b/client/svelte-client/src/game/session.ts index 8fb8cac..a099884 100644 --- a/client/svelte-client/src/game/session.ts +++ b/client/svelte-client/src/game/session.ts @@ -64,7 +64,7 @@ async function createSession(): Promise { }); return { session_id: "a", - state: SessionState.CLOSED, + state: SessionState.PENDING, players: [], observers: [] } @@ -78,7 +78,7 @@ async function joinSession(sessionId): Promise { }); return { session_id: sessionId, - state: SessionState.CLOSED, + state: SessionState.PENDING, players: [], observers: [] } @@ -92,7 +92,7 @@ async function watchSession(sessionId): Promise { }); return { session_id: sessionId, - state: SessionState.CLOSED, + state: SessionState.RUNNING, players: [], observers: [] }