From 79bef033f3c34c81a1f876eadee850ba8f90e1f5 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Fri, 12 Jul 2024 11:58:06 +0200 Subject: [PATCH] Refractor socket store into game store --- src/App.vue | 23 ++++--- src/components/World.vue | 26 ++++---- src/components/gui/Hud.vue | 16 ++--- src/components/sprites/Character.vue | 6 +- src/components/utilities/Notifications.vue | 10 +-- .../utilities/assetManager/AssetManager.vue | 4 +- .../assetManager/partials/ObjectDetails.vue | 10 +-- .../assetManager/partials/ObjectList.vue | 10 +-- .../assetManager/partials/TileDetails.vue | 10 +-- .../assetManager/partials/TileList.vue | 10 +-- .../utilities/zoneEditor/CreateZone.vue | 6 +- .../utilities/zoneEditor/Objects.vue | 6 +- src/components/utilities/zoneEditor/Tiles.vue | 6 +- .../utilities/zoneEditor/ZoneEditor.vue | 8 +-- .../utilities/zoneEditor/ZoneList.vue | 10 +-- src/config.ts | 2 +- src/screens/Characters.vue | 27 ++++---- src/screens/Game.vue | 8 +-- src/screens/Login.vue | 12 ++-- src/services/authentication.ts | 6 +- src/stores/game.ts | 50 ++++++++++++++ src/stores/socket.ts | 65 ------------------- 22 files changed, 161 insertions(+), 170 deletions(-) delete mode 100644 src/stores/socket.ts diff --git a/src/App.vue b/src/App.vue index 80101f2..3e46ff1 100644 --- a/src/App.vue +++ b/src/App.vue @@ -16,26 +16,29 @@ import Register from '@/screens/Register.vue' import Characters from '@/screens/Characters.vue' import Game from '@/screens/Game.vue' import { storeToRefs } from 'pinia' -import { useSocketStore } from '@/stores/socket' -const socket = useSocketStore() const gameStore = useGameStore() const {screen} = storeToRefs(gameStore); -socket.$subscribe( +gameStore.$subscribe( (mutation, state) => { - if (!state.connection) { - screen.value = 'login' - } + let newScreen = screen.value; - if (state.token && state.connection) { - screen.value = 'characters' + if (!state.connection) { + newScreen = 'login'; + } else if (state.token && state.connection) { + newScreen = 'characters'; if (state.character) { - screen.value = 'game' + newScreen = 'game'; } } + + // Update screen.value only if it's different from the new state + if (screen.value !== newScreen) { + screen.value = newScreen; + } }, { detached: true } -) +); diff --git a/src/components/World.vue b/src/components/World.vue index 2d9e0ad..a676700 100644 --- a/src/components/World.vue +++ b/src/components/World.vue @@ -1,3 +1,5 @@ + +