import { Entity } from '@mikro-orm/core' import { BaseSprite } from '#entities/base/sprite' @Entity() export class Sprite extends BaseSprite { public async cache() { await this.getSpriteActions().load() try { return { id: this.getId(), name: this.getName(), createdAt: this.getCreatedAt(), updatedAt: this.getUpdatedAt(), spriteActions: this.getSpriteActions().map((spriteAction) => ({ id: spriteAction.getId(), action: spriteAction.getAction(), originX: spriteAction.getOriginX(), originY: spriteAction.getOriginY(), isAnimated: spriteAction.getIsAnimated(), isLooping: spriteAction.getIsLooping(), frameWidth: spriteAction.getFrameWidth(), frameHeight: spriteAction.getFrameHeight(), frameRate: spriteAction.getFrameRate(), frameCount: spriteAction.getSprites()?.length })) } } catch (error) { console.error(error) return {} } } }