diff --git a/package-lock.json b/package-lock.json index ef5b53c..6816cba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -91,14 +91,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -126,12 +126,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "license": "MIT", "dependencies": { - "@babel/types": "^7.26.3" + "@babel/types": "^7.26.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -169,17 +169,17 @@ } }, "node_modules/@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz", + "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.5", "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", + "@babel/types": "^7.26.5", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -188,9 +188,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -5439,13 +5439,13 @@ } }, "node_modules/readdirp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", - "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", + "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14.16.0" + "node": ">= 14.18.0" }, "funding": { "type": "individual", diff --git a/src/components/game/character/Character.vue b/src/components/game/character/Character.vue index 0147a94..cbcbb22 100644 --- a/src/components/game/character/Character.vue +++ b/src/components/game/character/Character.vue @@ -20,7 +20,7 @@ import { CharacterTypeStorage } from '@/storage/storages' import { useGameStore } from '@/stores/gameStore' import { useMapStore } from '@/stores/mapStore' import { Container, refObj, Sprite, useScene } from 'phavuer' -import { computed, onMounted, onUnmounted, ref, watch } from 'vue' +import { computed, onBeforeMount, onBeforeUnmount, onMounted, onUnmounted, ref, watch } from 'vue' // import CharacterChest from '@/components/game/character/partials/CharacterChest.vue' @@ -151,21 +151,15 @@ watch( } ) -const characterTypeStorage = new CharacterTypeStorage() -characterTypeStorage.getSpriteId(props.mapCharacter.character.characterType!).then((spriteId) => { - console.log(spriteId) - charSpriteId.value = spriteId - loadSpriteTextures(scene, spriteId) - .then(() => { - charSprite.value!.setTexture(charTexture.value) - charSprite.value!.setFlipX(isFlippedX.value) - }) - .catch((error) => { - console.error('Error loading texture:', error) - }) -}) +onBeforeMount(async () => { + const characterTypeStorage = new CharacterTypeStorage() + + const spriteId = await characterTypeStorage.getSpriteId(props.mapCharacter.character.characterType!) + await loadSpriteTextures(scene, spriteId) + + charSprite.value!.setTexture(charTexture.value) + charSprite.value!.setFlipX(isFlippedX.value) -onMounted(() => { charContainer.value!.setName(props.mapCharacter.character!.name) if (props.mapCharacter.character.id === gameStore.character!.id) { diff --git a/src/components/game/map/MapTiles.vue b/src/components/game/map/MapTiles.vue index ddbca72..030894c 100644 --- a/src/components/game/map/MapTiles.vue +++ b/src/components/game/map/MapTiles.vue @@ -41,7 +41,7 @@ function createTileMap(mapData: any) { function createTileLayer(currentTileMap: Phaser.Tilemaps.Tilemap, mapData: any) { const tilesArray = unduplicateArray(FlattenMapArray(mapData?.tiles ?? [])) - const tilesetImages = tilesArray.map((tile: any, index: number) => { + const tilesetImages = tilesArray.map((tile: string, index: number) => { return currentTileMap.addTilesetImage(tile, tile, config.tile_size.width, config.tile_size.height, 1, 2, index + 1, { x: 0, y: -config.tile_size.height }) }) @@ -55,16 +55,14 @@ function createTileLayer(currentTileMap: Phaser.Tilemaps.Tilemap, mapData: any) return layer } -onMounted(() => { - loadMapTilesIntoScene(mapStore.mapId as UUID, scene) - .then(() => mapStorage.get(mapStore.mapId)) - .then((mapData) => { - tileMap.value = createTileMap(mapData) - tileLayer.value = createTileLayer(tileMap.value, mapData) - setLayerTiles(tileMap.value, tileLayer.value, mapData?.tiles) - }) - .catch((error) => console.error('Failed to initialize map:', error)) -}) +loadMapTilesIntoScene(mapStore.mapId as UUID, scene) + .then(() => mapStorage.get(mapStore.mapId)) + .then((mapData) => { + tileMap.value = createTileMap(mapData) + tileLayer.value = createTileLayer(tileMap.value, mapData) + setLayerTiles(tileMap.value, tileLayer.value, mapData?.tiles) + }) + .catch((error) => console.error('Failed to initialize map:', error)) onBeforeUnmount(() => { if (!tileMap.value) return