Continuation dynamic asset loading

This commit is contained in:
2024-10-30 09:34:07 +01:00
parent f6bac403a2
commit bd04dc2ab8
5 changed files with 27 additions and 27 deletions

View File

@ -1,5 +1,5 @@
import prisma from '../utilities/prisma'
import { TAsset } from '../utilities/types'
import { AssetData } from '../utilities/types'
import tileRepository from '../repositories/tileRepository'
import zoneRepository from '../repositories/zoneRepository'
import { Object, Zone, ZoneObject } from '@prisma/client'
@ -38,8 +38,8 @@ class ZoneService {
return true
}
async getZoneAssets(zone: getZoneAsetsZoneType): Promise<TAsset[]> {
const assets: TAsset[] = []
async getZoneAssets(zone: getZoneAsetsZoneType): Promise<AssetData[]> {
const assets: AssetData[] = []
// zone.tiles is prisma jsonvalue
let tiles = JSON.parse(JSON.stringify(zone.tiles))
@ -52,10 +52,10 @@ class ZoneService {
assets.push({
key: tileInfo.id,
url: '/assets/tiles/' + tileInfo.id + '.png',
data: '/assets/tiles/' + tileInfo.id + '.png',
group: 'tiles',
updatedAt: tileInfo?.updatedAt || new Date()
})
} as AssetData)
}
// Add object assets
@ -64,14 +64,14 @@ class ZoneService {
assets.push({
key: zoneObject.object.id,
url: '/assets/objects/' + zoneObject.object.id + '.png',
data: '/assets/objects/' + zoneObject.object.id + '.png',
group: 'objects',
updatedAt: zoneObject.object.updatedAt || new Date()
})
} as AssetData)
}
// Filter out duplicate assets
return assets.reduce((acc: TAsset[], current) => {
return assets.reduce((acc: AssetData[], current) => {
const x = acc.find((item) => item.key === current.key && item.group === current.group)
if (!x) {
return acc.concat([current])