1
0
forked from noxious/server

Entirely replaces asset controller with improved ones (textures & cache)

This commit is contained in:
2025-01-08 21:12:33 +01:00
parent 39ec4daa06
commit 849ef07297
3 changed files with 0 additions and 52 deletions

View File

@ -1,45 +0,0 @@
import { Request, Response } from 'express'
import { BaseController } from '#application/base/baseController'
import { AssetData, UUID } from '#application/types'
import SpriteRepository from '#repositories/spriteRepository'
export class AssetsController extends BaseController {
private readonly spriteRepository = new SpriteRepository()
/**
* List sprite actions
* @param req
* @param res
*/
public async listSpriteActions(req: Request, res: Response) {
const spriteId = req.params.spriteId as UUID
if (!spriteId) {
return this.sendError(res, 'Invalid sprite ID', 400)
}
const sprite = await this.spriteRepository.getById(spriteId)
if (!sprite) {
return this.sendError(res, 'Sprite not found', 404)
}
await this.spriteRepository.getEntityManager().populate(sprite, ['spriteActions'])
const assets: AssetData[] = sprite.getSpriteActions().map((spriteAction) => ({
key: sprite.getId() + '-' + spriteAction.getAction(),
data: '/textures/sprites/' + sprite.getId() + '/' + spriteAction.getAction() + '.png',
group: spriteAction.getIsAnimated() ? 'sprite_animations' : 'sprites',
updatedAt: sprite.getUpdatedAt(),
originX: Number(spriteAction.getOriginX().toString()),
originY: Number(spriteAction.getOriginY().toString()),
isAnimated: spriteAction.getIsAnimated(),
frameRate: spriteAction.getFrameRate(),
frameWidth: spriteAction.getFrameWidth(),
frameHeight: spriteAction.getFrameHeight(),
frameCount: spriteAction.getSprites()?.length
}))
return this.sendSuccess(res, assets)
}
}