asset downloading from server works now
This commit is contained in:
parent
270b14d8e5
commit
8c7d817bfb
@ -21,7 +21,7 @@ import config from '@/config'
|
||||
import Tileset = Phaser.Tilemaps.Tileset
|
||||
import TilemapLayer = Phaser.Tilemaps.TilemapLayer
|
||||
import { Container, TilemapLayer as TilemapLayerC, useScene, Image } from 'phavuer'
|
||||
import { onBeforeMount, onBeforeUnmount, onMounted, ref, type Ref, watch } from 'vue'
|
||||
import { onBeforeMount, onBeforeUnmount, onMounted } from 'vue'
|
||||
import Controls from '@/components/utilities/Controls.vue'
|
||||
import { useSocketStore } from '@/stores/socket'
|
||||
import Toolbar from '@/components/utilities/zoneEditor/Toolbar.vue'
|
||||
@ -29,8 +29,7 @@ import Tiles from '@/components/utilities/zoneEditor/Tiles.vue'
|
||||
import { useZoneEditorStore } from '@/stores/zoneEditor'
|
||||
import ZoneSettings from '@/components/utilities/zoneEditor/ZoneSettings.vue'
|
||||
import Decorations from '@/components/utilities/zoneEditor/Decorations.vue'
|
||||
import { generateTilemap, tileToWorldX, tileToWorldXY, tileToWorldY } from '@/services/zone'
|
||||
import type { Zone } from '@/types'
|
||||
import { tileToWorldXY } from '@/services/zone'
|
||||
import GmPanel from '@/components/utilities/GmPanel.vue'
|
||||
|
||||
// Phavuer logic
|
||||
|
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="game-container">
|
||||
<GmTools />
|
||||
|
||||
<Game class="game" :config="gameConfig" @create="createGame" v-if="!zoneEditorStore.active">
|
||||
<Scene name="main" @preload="preloadScene" @create="createScene">
|
||||
<div class="top-ui">
|
||||
@ -64,11 +63,22 @@ const createGame = (game: Phaser.Game) => {
|
||||
}
|
||||
|
||||
const preloadScene = (scene: Phaser.Scene) => {
|
||||
/**
|
||||
* @TODO
|
||||
* Write logic that downloads all assets from out websocket or http server in base64 format
|
||||
* Don't forget to check how intensive that operation is with sockets for performance
|
||||
*/
|
||||
type Asset = {
|
||||
key: string
|
||||
value: string
|
||||
type: 'base64' | 'link'
|
||||
}
|
||||
|
||||
socket.connection.emit('assets:download', {}, (response: Asset[]) => {
|
||||
response.forEach((asset) => {
|
||||
if (asset.type === 'base64') {
|
||||
scene.textures.addBase64(asset.key, asset.value)
|
||||
}
|
||||
if (asset.type === 'link') {
|
||||
scene.load.image(asset.key, asset.value)
|
||||
}
|
||||
})
|
||||
})
|
||||
scene.load.image('tiles', '/assets/zone/tiles.png')
|
||||
scene.load.image('walls', '/assets/zone/walls.png')
|
||||
scene.load.image('wall1', '/assets/zone/wall1.png')
|
||||
|
Loading…
x
Reference in New Issue
Block a user