1
0
forked from noxious/server
This commit is contained in:
Dennis Postma 2024-12-27 02:44:32 +01:00
parent 5d6cb478cd
commit 343c67a110
2 changed files with 12 additions and 23 deletions

View File

@ -37,7 +37,7 @@ export type AssetData = {
originX?: number originX?: number
originY?: number originY?: number
isAnimated?: boolean isAnimated?: boolean
frameCount?: number frameRate?: number
frameWidth?: number frameWidth?: number
frameHeight?: number frameHeight?: number
frameRate?: number frameRate?: number

View File

@ -6,8 +6,7 @@ import { getPublicPath } from '#application/storage'
import TileRepository from '#repositories/tileRepository' import TileRepository from '#repositories/tileRepository'
import ZoneRepository from '#repositories/zoneRepository' import ZoneRepository from '#repositories/zoneRepository'
import SpriteRepository from '#repositories/spriteRepository' import SpriteRepository from '#repositories/spriteRepository'
import { AssetData } from '#application/types' import { AssetData, UUID } from '#application/types'
import { FilterValue } from '@mikro-orm/core'
export class AssetsController extends BaseController { export class AssetsController extends BaseController {
/** /**
@ -20,12 +19,7 @@ export class AssetsController extends BaseController {
const tiles = await TileRepository.getAll() const tiles = await TileRepository.getAll()
for (const tile of tiles) { for (const tile of tiles) {
assets.push({ assets.push({ key: tile.getId(), data: '/assets/tiles/' + tile.getId() + '.png', group: 'tiles', updatedAt: tile.getUpdatedAt() } as AssetData)
key: tile.id,
data: '/assets/tiles/' + tile.getId() + '.png',
group: 'tiles',
updatedAt: tile.getUpdatedAt()
} as AssetData)
} }
return this.sendSuccess(res, assets) return this.sendSuccess(res, assets)
@ -52,12 +46,7 @@ export class AssetsController extends BaseController {
const tiles = await TileRepository.getByZoneId(zoneId) const tiles = await TileRepository.getByZoneId(zoneId)
for (const tile of tiles) { for (const tile of tiles) {
assets.push({ assets.push({ key: tile.getId(), data: '/assets/tiles/' + tile.getId() + '.png', group: 'tiles', updatedAt: tile.getUpdatedAt() } as AssetData)
key: tile.getId(),
data: '/assets/tiles/' + tile.getId() + '.png',
group: 'tiles',
updatedAt: tile.getUpdatedAt()
} as AssetData)
} }
return this.sendSuccess(res, assets) return this.sendSuccess(res, assets)
@ -69,7 +58,7 @@ export class AssetsController extends BaseController {
* @param res * @param res
*/ */
public async listSpriteActions(req: Request, res: Response) { public async listSpriteActions(req: Request, res: Response) {
const spriteId = req.params.spriteId as FilterValue<`${string}-${string}-${string}-${string}-${string}`> const spriteId = req.params.spriteId as UUID
if (!spriteId) { if (!spriteId) {
return this.sendError(res, 'Invalid sprite ID', 400) return this.sendError(res, 'Invalid sprite ID', 400)
@ -82,16 +71,16 @@ export class AssetsController extends BaseController {
const assets: AssetData[] = sprite.spriteActions.getItems().map((spriteAction) => ({ const assets: AssetData[] = sprite.spriteActions.getItems().map((spriteAction) => ({
key: sprite.id + '-' + spriteAction.action, key: sprite.id + '-' + spriteAction.action,
data: '/assets/sprites/' + sprite.id + '/' + spriteAction.action + '.png', data: '/assets/sprites/' + sprite.getId() + '/' + spriteAction.getAction() + '.png',
group: spriteAction.isAnimated ? 'sprite_animations' : 'sprites', group: spriteAction.isAnimated ? 'sprite_animations' : 'sprites',
updatedAt: sprite.updatedAt, updatedAt: sprite.getUpdatedAt(),
originX: Number(spriteAction.originX.toString()), originX: Number(spriteAction.originX.toString()),
originY: Number(spriteAction.originY.toString()), originY: Number(spriteAction.originY.toString()),
isAnimated: spriteAction.isAnimated, isAnimated: spriteAction.getIsAnimated(),
frameCount: JSON.parse(JSON.stringify(spriteAction.sprites)).length, frameRate: spriteAction.getFrameRate(),
frameWidth: spriteAction.frameWidth, frameWidth: spriteAction.getFrameWidth(),
frameHeight: spriteAction.frameHeight, frameHeight: spriteAction.getFrameHeight(),
frameRate: spriteAction.frameRate frameCount: JSON.parse(JSON.stringify(spriteAction.getSprites())).length
})) }))
return this.sendSuccess(res, assets) return this.sendSuccess(res, assets)