stash work

This commit is contained in:
Dennis Postma 2024-09-09 19:27:33 +02:00
parent 4aad54604d
commit d7f441d570
2 changed files with 22 additions and 2 deletions

View File

@ -49,10 +49,10 @@ export default function (socket: TSocket, io: Server) {
io.to(zone.id.toString()).emit('zone:character:join', socket.character) io.to(zone.id.toString()).emit('zone:character:join', socket.character)
// add character to zone manager // add character to zone manager
ZoneManager.getZoneById(zone.id).addCharacter(socket.character as Character) ZoneManager.getZoneById(zone.id)?.addCharacter(socket.character as Character)
// send over zone and characters to socket // send over zone and characters to socket
callback({ zone, characters: ZoneManager.getZoneById(zone.id).getCharacters() }) callback({ zone, characters: ZoneManager.getZoneById(zone.id)?.getCharacters() })
} catch (error: any) { } catch (error: any) {
logger.error(`Error requesting zone: ${error.message}`) logger.error(`Error requesting zone: ${error.message}`)
socket.disconnect() socket.disconnect()

View File

@ -0,0 +1,20 @@
import { ExtendedCharacter } from '../utilities/types'
import { Zone } from '@prisma/client'
class CharacterManager {
private characters!: ExtendedCharacter[];
constructor() {
}
public addCharacterToZone(character: ExtendedCharacter) {
this.characters = [...this.characters, character]
}
public getCharactersByZone(zone: Zone) {
return this.characters.filter(x => x.zoneId === zone.id);
}
}