Renamed get to getById, map improvement

This commit is contained in:
2025-02-09 17:33:10 +01:00
parent 49dcd92a9e
commit a9cedba4e0
13 changed files with 44 additions and 26 deletions

View File

@ -71,23 +71,41 @@ export const calculateIsometricDepth = (positionX: number, positionY: number, wi
}
async function loadTileTextures(tiles: TileT[], scene: Phaser.Scene) {
// Load each tile into the scene
for (const tile of tiles) {
const textureData = {
key: tile.id,
data: '/textures/tiles/' + tile.id + '.png',
group: 'tiles',
updatedAt: tile.updatedAt
} as TextureData
await loadTexture(scene, textureData)
}
const tileStorage = new TileStorage()
// Process all tiles in parallel using Promise.all
await Promise.all(
tiles.map(async (tileData) => {
try {
// Get complete tile data if needed
const tile = !tileData.id || !tileData.updatedAt ? await tileStorage.getById(tileData.id) : tileData
// Skip if tile data couldn't be retrieved
if (!tile?.id) {
console.warn(`Failed to load tile data for ID: ${tileData.id}`)
return
}
const textureData: TextureData = {
key: tile.id,
data: `/textures/tiles/${tile.id}.png`,
group: 'tiles',
updatedAt: tile.updatedAt
}
await loadTexture(scene, textureData)
} catch (error) {
console.error(`Error loading texture for tile ${tileData.id}:`, error)
}
})
)
}
export async function loadTileTexturesFromMapTileArray(map_id: string, scene: Phaser.Scene) {
const mapStorage = new MapStorage()
const tileStorage = new TileStorage()
const map = await mapStorage.get(map_id)
const map = await mapStorage.getById(map_id)
if (!map) return
const tileArray = unduplicateArray(map.tiles)

View File

@ -60,7 +60,7 @@ export async function loadSpriteTextures(scene: Phaser.Scene, sprite_id: string)
if (!sprite_id) return false
const spriteStorage = new SpriteStorage()
const sprite = await spriteStorage.get(sprite_id)
const sprite = await spriteStorage.getById(sprite_id)
if (!sprite) {
console.error('Failed to load sprite:', sprite_id)