forked from noxious/server
24 lines
619 B
TypeScript
24 lines
619 B
TypeScript
import { ExtendedCharacter } from '../utilities/types'
|
|
import { Zone } from '@prisma/client'
|
|
|
|
class CharacterManager {
|
|
private characters!: ExtendedCharacter[];
|
|
|
|
public async boot() {
|
|
this.characters = [];
|
|
}
|
|
|
|
public initCharacter(character: ExtendedCharacter) {
|
|
this.characters = [...this.characters, character]
|
|
}
|
|
|
|
public removeCharacter(character: ExtendedCharacter) {
|
|
this.characters = this.characters.filter(x => x.id !== character.id);
|
|
}
|
|
|
|
public getCharactersInZone(zone: Zone) {
|
|
return this.characters.filter(x => x.zoneId === zone.id);
|
|
}
|
|
}
|
|
|
|
export default new CharacterManager(); |