Ejemplo n.º 1
0
        public static bool AddUserToRoom(IWebSocketConnection socket, string roomName)
        {
            if (!Exists(roomName))
            {
                return(false);
            }

            var info    = socket.GetInfo();
            var oldRoom = info.RoomName != null ? Rooms[info.RoomName] : null;
            var newRoom = Rooms[roomName];

            if (newRoom == oldRoom)
            {
                return(true);
            }

            if (oldRoom != null)
            {
                RemoveUserFromRoom(socket, oldRoom.RoomName);
            }

            // Change name if a user with this name already exists in the new room.
            Helper.VerifyFixUsername(newRoom, info);

            newRoom.AddSocket(socket);

            return(true);
        }