Worked on movement, added character limit
This commit is contained in:
parent
93cb7b7887
commit
f9ea866abf
@ -19,8 +19,14 @@ export default function (socket: TSocket, io: Server) {
|
||||
return socket.emit('notification', {message: 'Character name already exists'});
|
||||
}
|
||||
|
||||
let characters: Character[] = await CharacterRepository.getByUserId(user_id) as Character[];
|
||||
|
||||
if (characters.length >= 4) {
|
||||
return socket.emit('notification', {message: 'You can only have 3 characters'});
|
||||
}
|
||||
|
||||
const character: Character = await CharacterRepository.create(user_id, data.name) as Character;
|
||||
const characters: Character[] = await CharacterRepository.getByUserId(user_id) as Character[];
|
||||
characters = [...characters, character];
|
||||
|
||||
socket.emit('character:create:success');
|
||||
socket.emit('character:list', characters);
|
||||
|
@ -1,19 +1,19 @@
|
||||
import { Socket, Server } from "socket.io";
|
||||
import { Server } from "socket.io";
|
||||
import {TSocket} from "../utilities/Types";
|
||||
import CharacterRepository from "../repositories/CharacterRepository";
|
||||
import {Character} from "@prisma/client";
|
||||
|
||||
type SocketResponseT = {
|
||||
character_id: number
|
||||
position_x: number,
|
||||
position_y: number,
|
||||
}
|
||||
|
||||
export default function (socket: TSocket, io: Server) {
|
||||
socket.on('character:move', async (data: SocketResponseT) => {
|
||||
try {
|
||||
socket.character = await CharacterRepository.getById(data.character_id) as Character;
|
||||
socket.emit('character:connect', socket.character)
|
||||
|
||||
} catch (error: any) {
|
||||
console.log('character:connect error', error);
|
||||
console.log('character:move error', error);
|
||||
}
|
||||
});
|
||||
}
|
@ -34,7 +34,7 @@ export default function (socket: TSocket, io: Server) {
|
||||
// const characters = socketConnectionsInRoom.filter(socket => socket.id !== socket.id);
|
||||
|
||||
// let other clients know of new character
|
||||
socket.to(zone.name).emit('character:zone:character_join', socket.character);
|
||||
socket.to(zone.name).emit('zone:new_join', socket.character);
|
||||
|
||||
// send over zone and characters
|
||||
io.in(zone.name).to(socket.id).emit('character:zone:load', {
|
||||
|
Loading…
x
Reference in New Issue
Block a user