forked from noxious/client
╭∩╮( •̀_•́ )╭∩╮
This commit is contained in:
@ -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 } from 'vue'
|
||||
import { onBeforeMount, onBeforeUnmount, onMounted, toRaw } from 'vue'
|
||||
import Controls from '@/components/utilities/Controls.vue'
|
||||
import { useSocketStore } from '@/stores/socket'
|
||||
import Toolbar from '@/components/utilities/zoneEditor/Toolbar.vue'
|
||||
@ -51,15 +51,23 @@ const zoneData = new Phaser.Tilemaps.MapData({
|
||||
const zone = new Phaser.Tilemaps.Tilemap(scene, zoneData)
|
||||
|
||||
let tilesetImages: Tileset[] = [];
|
||||
assetStore.assets.forEach((asset) => {
|
||||
|
||||
toRaw(assetStore.assets).forEach((asset) => {
|
||||
if (asset.group !== 'tiles') {
|
||||
return
|
||||
}
|
||||
tilesetImages.push(zone.addTilesetImage(asset.key) as Tileset)
|
||||
console.log(asset)
|
||||
// tilesetImages.push(zone.addTilesetImage(asset.key) as Tileset)
|
||||
})
|
||||
|
||||
const tiles = zone.createBlankLayer('tiles', tilesetImages, 0, config.tile_size.y) as TilemapLayer
|
||||
/**
|
||||
* @TODO BUG : in the map. somehow always the latest tileset is used instead of the correct one.
|
||||
*/
|
||||
const t1 = zone.addTilesetImage('tile_1.png') as Tileset
|
||||
const t2 = zone.addTilesetImage('tile_2.png') as Tileset
|
||||
const t3 = zone.addTilesetImage('tile_3.png') as Tileset
|
||||
|
||||
const tiles = zone.createBlankLayer('tiles', [t1,t2,t3], 0, config.tile_size.y) as TilemapLayer
|
||||
const exampleTilesArray = Array.from({ length: zoneEditorStore.width }, () => Array.from({ length: zoneEditorStore.height }, () => 'tile_0.png'))
|
||||
|
||||
onMounted(() => {})
|
||||
@ -74,13 +82,16 @@ const centerY = (zone.height * zone.tileHeight) / 2
|
||||
const centerX = (zone.width * zone.tileWidth) / 2
|
||||
scene.cameras.main.centerOn(centerX, centerY)
|
||||
|
||||
function placeTile(x: number, y: number, tileType: string) {
|
||||
const tileset = map.getTileset(tileType);
|
||||
layer.putTileAt(tileset.firstgid, x, y);
|
||||
function placeTile(layer: TilemapLayer, x: number, y: number, tileType: string) {
|
||||
let tilesett = zone.getTileset(tileType) as Tileset;
|
||||
console.log(tilesett)
|
||||
layer.putTileAt(tilesett.firstgid, x, y);
|
||||
}
|
||||
|
||||
placeTile(tiles, 0, 0, 'tile_1.png')
|
||||
|
||||
onBeforeMount(() => {
|
||||
exampleTilesArray.forEach((row, y) => row.forEach((tile, x) => tiles.putTileAt(tile, x, y)))
|
||||
// exampleTilesArray.forEach((row, y) => row.forEach((tile, x) => placeTile(tiles, x, y, 'tile_2.png')))
|
||||
socket.connection.emit('gm:zone_editor:zone:request', { zoneId: socket.character.zoneId })
|
||||
})
|
||||
|
||||
|
Reference in New Issue
Block a user