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: [] }