From c2db9b5469bcc650157aa9732ba1556af25fe39c Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Tue, 7 Jan 2025 03:59:08 +0100 Subject: [PATCH] POC working new caching method - moved controllers folder, renamed assets to textures, fixed HTTP bug, formatted code --- src/App.vue | 5 ++ src/application/types.ts | 4 +- src/components/game/map/Map.vue | 2 +- .../game/map/partials/PlacedMapObject.vue | 6 +- .../partials/mapObject/MapObjectDetails.vue | 2 +- .../partials/mapObject/MapObjectList.vue | 2 +- .../partials/tile/TileDetails.vue | 2 +- .../assetManager/partials/tile/TileList.vue | 2 +- .../gameMaster/mapEditor/MapEditor.vue | 4 +- .../mapEditor/mapPartials/MapTiles.vue | 4 +- .../mapEditor/mapPartials/PlacedMapObject.vue | 6 +- .../mapPartials/PlacedMapObjects.vue | 6 +- .../mapEditor/partials/MapObjectList.vue | 2 +- .../mapEditor/partials/TileList.vue | 8 +- src/components/screens/Characters.vue | 2 +- src/components/screens/Game.vue | 4 +- src/components/screens/Loading.vue | 78 +++++++++++++--- src/components/screens/MapEditor.vue | 4 +- src/composables/gameComposable.ts | 42 ++++----- src/composables/mapComposable.ts | 23 +++-- src/dexie/mapObjects.ts | 89 +++++++------------ src/dexie/maps.ts | 48 +++++++--- src/dexie/textures.ts | 70 +++++++-------- src/stores/gameStore.ts | 4 +- vite.config.js | 1 - vite.config.ts | 1 - 26 files changed, 246 insertions(+), 175 deletions(-) diff --git a/src/App.vue b/src/App.vue index c42225c..898ff90 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,6 +9,7 @@ import GmPanel from '@/components/gameMaster/GmPanel.vue' import Characters from '@/components/screens/Characters.vue' import Game from '@/components/screens/Game.vue' +import Loading from '@/components/screens/Loading.vue' import Login from '@/components/screens/Login.vue' import MapEditor from '@/components/screens/MapEditor.vue' import BackgroundImageLoader from '@/components/utilities/BackgroundImageLoader.vue' @@ -21,6 +22,7 @@ const gameStore = useGameStore() const mapEditorStore = useMapEditorStore() const currentScreen = computed(() => { + if (!gameStore.game.isLoaded) return Loading if (!gameStore.connection) return Login if (!gameStore.token) return Login if (!gameStore.character) return Characters @@ -37,6 +39,9 @@ watch( ) // #209: Play sound when a button is pressed +/** + * @TODO: Not all button-like elements will actually be a button, so we need to find a better way to do this + */ addEventListener('click', (event) => { if (!(event.target instanceof HTMLButtonElement)) { return diff --git a/src/application/types.ts b/src/application/types.ts index 9aba80c..f1f0998 100644 --- a/src/application/types.ts +++ b/src/application/types.ts @@ -12,9 +12,9 @@ export type HttpResponse = { data?: T } -export type AssetDataT = { +export type TextureData = { key: string - data: string + data: string // URL or Base64 encoded blob group: 'tiles' | 'map_objects' | 'sprites' | 'sprite_animations' | 'sound' | 'music' | 'ui' | 'font' | 'other' updatedAt: Date originX?: number diff --git a/src/components/game/map/Map.vue b/src/components/game/map/Map.vue index 3c77d6f..913c398 100644 --- a/src/components/game/map/Map.vue +++ b/src/components/game/map/Map.vue @@ -7,8 +7,8 @@ diff --git a/src/components/gameMaster/assetManager/partials/mapObject/MapObjectDetails.vue b/src/components/gameMaster/assetManager/partials/mapObject/MapObjectDetails.vue index c4698a9..9f4270f 100644 --- a/src/components/gameMaster/assetManager/partials/mapObject/MapObjectDetails.vue +++ b/src/components/gameMaster/assetManager/partials/mapObject/MapObjectDetails.vue @@ -1,7 +1,7 @@