@@ -29,7 +29,7 @@
diff --git a/src/components/gameMaster/assetManager/partials/object/ObjectDetails.vue b/src/components/gameMaster/assetManager/partials/object/ObjectDetails.vue
deleted file mode 100644
index 3fa181c..0000000
--- a/src/components/gameMaster/assetManager/partials/object/ObjectDetails.vue
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
-
![]()
-
-
-
-
-
-
diff --git a/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue b/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue
index f0cea3f..f11d55a 100644
--- a/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue
+++ b/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue
@@ -184,6 +184,7 @@ function addNewImage() {
}
function sortSpriteActions(actions: SpriteAction[]): SpriteAction[] {
+ if (!actions) return []
return [...actions].sort((a, b) => a.action.localeCompare(b.action))
}
diff --git a/src/components/gameMaster/mapEditor/MapEditor.vue b/src/components/gameMaster/mapEditor/MapEditor.vue
index e274cfe..5e90323 100644
--- a/src/components/gameMaster/mapEditor/MapEditor.vue
+++ b/src/components/gameMaster/mapEditor/MapEditor.vue
@@ -15,16 +15,16 @@
diff --git a/src/components/gameMaster/mapEditor/partials/TeleportModal.vue b/src/components/gameMaster/mapEditor/partials/TeleportModal.vue
index a8f6846..5a0906b 100644
--- a/src/components/gameMaster/mapEditor/partials/TeleportModal.vue
+++ b/src/components/gameMaster/mapEditor/partials/TeleportModal.vue
@@ -52,7 +52,7 @@ const gameStore = useGameStore()
onMounted(fetchMaps)
function fetchMaps() {
- gameStore.connection?.emit('gm:map_editor:map:list', {}, (response: Map[]) => {
+ gameStore.connection?.emit('gm:mapObject:list', {}, (response: Map[]) => {
mapEditorStore.setMapList(response)
})
}
diff --git a/src/components/gui/Chat.vue b/src/components/gui/Chat.vue
index 41dc82d..83de408 100644
--- a/src/components/gui/Chat.vue
+++ b/src/components/gui/Chat.vue
@@ -79,7 +79,7 @@ const scrollToBottom = () => {
})
}
-gameStore.connection!.on('chat:message', (data: Chat) => {
+gameStore.connection?.on('chat:message', (data: Chat) => {
chats.value.push(data)
scrollToBottom()
diff --git a/src/components/gui/Clock.vue b/src/components/gui/Clock.vue
index e3ed41d..cebb827 100644
--- a/src/components/gui/Clock.vue
+++ b/src/components/gui/Clock.vue
@@ -11,7 +11,7 @@ import { onUnmounted } from 'vue'
const gameStore = useGameStore()
// Listen for new date from socket
-gameStore.connection!.on('date', (data: Date) => {
+gameStore.connection?.on('date', (data: Date) => {
gameStore.world.date = new Date(data)
})
diff --git a/src/components/screens/Characters.vue b/src/components/screens/Characters.vue
index 741b663..36fe0a5 100644
--- a/src/components/screens/Characters.vue
+++ b/src/components/screens/Characters.vue
@@ -145,7 +145,7 @@ setTimeout(() => {
gameStore.connection?.emit('character:list')
}, 750)
-gameStore.connection!.on('character:list', (data: any) => {
+gameStore.connection?.on('character:list', (data: any) => {
characters.value = data
isLoading.value = false
@@ -174,7 +174,7 @@ function loginWithCharacter() {
// Create character logics
function createCharacter() {
- gameStore.connection!.on('character:create:success', (data: CharacterT) => {
+ gameStore.connection?.on('character:create:success', (data: CharacterT) => {
gameStore.setCharacter(data)
isCreateNewCharacterModalOpen.value = false
})
diff --git a/src/components/screens/MapEditor.vue b/src/components/screens/MapEditor.vue
index 0f8bc1c..6c22b62 100644
--- a/src/components/screens/MapEditor.vue
+++ b/src/components/screens/MapEditor.vue
@@ -72,8 +72,9 @@ const preloadScene = async (scene: Phaser.Scene) => {
* Then load them into the scene.
*/
scene.load.rexAwait(async function (successCallback: any) {
- const tiles: AssetDataT[] = await fetch(config.server_endpoint + '/assets/list_tiles').then((response) => response.json())
- for await (const tile of tiles) {
+ const tiles: { data: AssetDataT[] } = await fetch(config.server_endpoint + '/assets/list_tiles').then((response) => response.json())
+
+ for await (const tile of tiles?.data ?? []) {
await loadTexture(scene, tile)
}
diff --git a/src/stores/assetManagerStore.ts b/src/stores/assetManagerStore.ts
index eda0180..edcd128 100644
--- a/src/stores/assetManagerStore.ts
+++ b/src/stores/assetManagerStore.ts
@@ -1,4 +1,4 @@
-import type { CharacterHair, CharacterType, Item, Object, Sprite, Tile } from '@/application/types'
+import type { CharacterHair, CharacterType, Item, MapObject, Sprite, Tile } from '@/application/types'
import { defineStore } from 'pinia'
import { ref } from 'vue'
@@ -6,8 +6,8 @@ export const useAssetManagerStore = defineStore('assetManager', () => {
const tileList = ref
([])
const selectedTile = ref(null)
- const objectList = ref