1
0
forked from noxious/server

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

@ -7,7 +7,7 @@ import fs from 'fs'
import { httpLogger } from './logger'
import { getPublicPath } from './storage'
import TileRepository from '../repositories/tileRepository'
import { TAsset } from './types'
import { AssetData } from './types'
import ZoneRepository from '../repositories/zoneRepository'
async function addHttpRoutes(app: Application) {
@ -61,21 +61,21 @@ async function addHttpRoutes(app: Application) {
})
/**
* Get all tiles
* Get all tiles and serve as AssetData array
* @param req
* @param res
*/
app.get('/assets/list_tiles', async (req: Request, res: Response) => {
// Get all tiles
let assets: TAsset[] = []
let assets: AssetData[] = []
const tiles = await TileRepository.getAll()
for (const tile of tiles) {
assets.push({
key: tile.id,
url: '/assets/tiles/' + tile.id + '.png',
data: '/assets/tiles/' + tile.id + '.png',
group: 'tiles',
updatedAt: tile.updatedAt
})
} as AssetData)
}
// Return the array
@ -83,7 +83,7 @@ async function addHttpRoutes(app: Application) {
})
/**
* Get all tiles
* Get all tiles from a zone and serve as AssetData array
* @param req
* @param res
*/
@ -102,15 +102,15 @@ async function addHttpRoutes(app: Application) {
}
// Get all tiles
let assets: TAsset[] = []
let assets: AssetData[] = []
const tiles = await TileRepository.getByZoneId(parseInt(zoneId))
for (const tile of tiles) {
assets.push({
key: tile.id,
url: '/assets/tiles/' + tile.id + '.png',
data: '/assets/tiles/' + tile.id + '.png',
group: 'tiles',
updatedAt: tile.updatedAt
})
} as AssetData)
}
// Return the array
@ -118,7 +118,7 @@ async function addHttpRoutes(app: Application) {
})
/**
* Get a specific asset
* Download asset file
* @param req
* @param res
*/

View File

@ -21,9 +21,9 @@ export type ExtendedCharacter = Character & {
resetMovement: boolean
}
export type TAsset = {
export type AssetData = {
key: string
url: string
data: string
group: 'tiles' | 'objects' | 'sprites' | 'sprite_animations' | 'sound' | 'music' | 'ui' | 'font' | 'other'
updatedAt: Date
frameCount?: number