import { Server } from 'socket.io' import { TSocket } from '../../../../utilities/types' import { Sprite } from '@prisma/client' import SpriteRepository from '../../../../repositories/spriteRepository' import CharacterManager from '../../../../managers/characterManager' interface IPayload {} /** * Handle game master list sprite event * @param socket * @param io */ export default function (socket: TSocket, io: Server) { socket.on('gm:sprite:list', async (data: any, callback: (response: Sprite[]) => void) => { const character = CharacterManager.getCharacterFromSocket(socket); if (character?.role !== 'gm') { console.log(`---Character #${character?.id} is not a game master.`) return } // get all sprites const sprites = await SpriteRepository.getAll() callback(sprites) }) }