diff --git a/front/src/Components/FollowMenu/FollowMenu.svelte b/front/src/Components/FollowMenu/FollowMenu.svelte index 264b27ed..aaa23b3e 100644 --- a/front/src/Components/FollowMenu/FollowMenu.svelte +++ b/front/src/Components/FollowMenu/FollowMenu.svelte @@ -14,14 +14,11 @@ vim: ft=typescript } function sendFollowRequest() { - gameScene.connection?.emitFollowRequest(); - followRoleStore.set("leader"); - followStateStore.set("active"); + gameScene.CurrentPlayer.sendFollowRequest(); } function acceptFollowRequest() { - gameScene.CurrentPlayer.enableFollowing(); - gameScene.connection?.emitFollowConfirmation(); + gameScene.CurrentPlayer.startFollowing(); } function abortEnding() { @@ -42,23 +39,15 @@ vim: ft=typescript <svelte:window on:keydown={onKeyDown} /> -{#if $followStateStore === "requesting"} +{#if $followStateStore === "requesting" && $followRoleStore === "follower"} <div class="interact-menu nes-container is-rounded"> - {#if $followRoleStore === "follower"} - <section class="interact-menu-title"> - <h2>Do you want to follow {name($followUsersStore[0])}?</h2> - </section> - <section class="interact-menu-action"> - <button type="button" class="nes-btn is-success" on:click|preventDefault={acceptFollowRequest} - >Yes</button - > - <button type="button" class="nes-btn is-error" on:click|preventDefault={reset}>No</button> - </section> - {:else if $followRoleStore === "leader"} - <section class="interact-menu-question"> - <p>Should never be displayed</p> - </section> - {/if} + <section class="interact-menu-title"> + <h2>Do you want to follow {name($followUsersStore[0])}?</h2> + </section> + <section class="interact-menu-action"> + <button type="button" class="nes-btn is-success" on:click|preventDefault={acceptFollowRequest}>Yes</button> + <button type="button" class="nes-btn is-error" on:click|preventDefault={reset}>No</button> + </section> </div> {/if} diff --git a/front/src/Phaser/Player/Player.ts b/front/src/Phaser/Player/Player.ts index 946bb6c4..e41b3237 100644 --- a/front/src/Phaser/Player/Player.ts +++ b/front/src/Phaser/Player/Player.ts @@ -100,10 +100,6 @@ export class Player extends Character { return [xMovement, yMovement]; } - public enableFollowing() { - followStateStore.set("active"); - } - public moveUser(delta: number): void { const activeEvents = this.userInputManager.getEventListForGameTick(); const state = get(followStateStore); @@ -111,8 +107,7 @@ export class Player extends Character { if (activeEvents.get(UserInputEvent.Follow)) { if (state === "off" && this.scene.groups.size > 0) { - followStateStore.set("requesting"); - followRoleStore.set("leader"); + this.sendFollowRequest(); } else if (state === "active") { followStateStore.set("ending"); } @@ -125,4 +120,15 @@ export class Player extends Character { } this.inputStep(activeEvents, x, y); } + + public sendFollowRequest() { + this.scene.connection?.emitFollowRequest(); + followRoleStore.set("leader"); + followStateStore.set("active"); + } + + public startFollowing() { + followStateStore.set("active"); + this.scene.connection?.emitFollowConfirmation(); + } } diff --git a/front/src/Stores/FollowStore.ts b/front/src/Stores/FollowStore.ts index ab1e61d1..eb9753d9 100644 --- a/front/src/Stores/FollowStore.ts +++ b/front/src/Stores/FollowStore.ts @@ -58,7 +58,6 @@ export const followUsersStore = createFollowUsersStore(); export const followUsersColorStore = derived( [followStateStore, followRoleStore, followUsersStore], ([$followStateStore, $followRoleStore, $followUsersStore]) => { - console.log($followStateStore); if ($followStateStore !== "active") { return undefined; }