1
0
forked from noxious/server

More cache stuff

This commit is contained in:
2025-01-07 22:20:27 +01:00
parent 010454914b
commit 39ec4daa06
12 changed files with 222 additions and 166 deletions

View File

@ -3,4 +3,13 @@ import { Entity } from '@mikro-orm/core'
import { BaseCharacterHair } from '#entities/base/characterHair'
@Entity()
export class CharacterHair extends BaseCharacterHair {}
export class CharacterHair extends BaseCharacterHair {
public async cache() {
try {
return this
} catch (error) {
console.error(error)
return {}
}
}
}

View File

@ -3,4 +3,13 @@ import { Entity } from '@mikro-orm/core'
import { BaseCharacterType } from '#entities/base/characterType'
@Entity()
export class CharacterType extends BaseCharacterType {}
export class CharacterType extends BaseCharacterType {
public async cache() {
try {
return this
} catch (error) {
console.error(error)
return {}
}
}
}

View File

@ -3,4 +3,33 @@ import { Entity } from '@mikro-orm/core'
import { BaseSprite } from '#entities/base/sprite'
@Entity()
export class Sprite extends BaseSprite {}
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(),
sprite: spriteAction.getSprite().getId(),
action: spriteAction.getAction(),
// sprites: spriteAction.getSprites(), // We dont want to send this to the client
originX: spriteAction.getOriginX(),
originY: spriteAction.getOriginY(),
isAnimated: spriteAction.getIsAnimated(),
isLooping: spriteAction.getIsLooping(),
frameWidth: spriteAction.getFrameWidth(),
frameHeight: spriteAction.getFrameHeight(),
frameRate: spriteAction.getFrameRate()
}))
}
} catch (error) {
console.error(error)
return {}
}
}
}

View File

@ -3,4 +3,13 @@ import { Entity } from '@mikro-orm/core'
import { BaseTile } from '#entities/base/tile'
@Entity()
export class Tile extends BaseTile {}
export class Tile extends BaseTile {
public async cache() {
try {
return this
} catch (error) {
console.error(error)
return {}
}
}
}