Ejemplo n.º 1
0
        private IList <ChatPayloadDTO> ProcessRequestExitRoom(string userId, Message message)
        {
            IList <ChatPayloadDTO> result = new List <ChatPayloadDTO>();

            message.User = GetUserById(userId);
            int roomId = 0;

            if (message.User != null && message.User.IdActiveRoom.HasValue)
            {
                roomId = message.User.IdActiveRoom.Value;
            }



            message = new ExitRoomHandler(_userService, _roomService)
                      .Handle(userId, message);

            result.Add(message.MessageToPayload(userId));

            if (message.Event != EventEnum.Error && roomId != 0)
            {
                Message newMessage = message.GenerateEventMessage(EventEnum.UpdateUserList);
                newMessage = AddRoomInMessage(roomId, newMessage);
                result.Add(newMessage.MessageToPayload(userId));

                newMessage = message.GenerateEventMessage(EventEnum.UpdateUsersRooms);
                newMessage.AvailableRooms = GetAllRooms();
                result.Add(newMessage.MessageToPayload(userId));
            }

            return(result);
        }
Ejemplo n.º 2
0
    public void Start()
    {
        createRoomHandler = m_CreateRoomPanel.AddComponent <CreateRoomHandler>();
        roomListHandler   = m_RoomListPanel.AddComponent <RoomListHandler>();
        joinRoomHandler   = m_RoomListPanel.AddComponent <JoinRoomHandler>();
        exitRoomHandler   = m_RoomPanel.AddComponent <ExitRoomHandler>();

        joinRoomHandler.JoinRoomEvent   += JoinRoomHandler_JoinRoomEvent;
        roomListHandler.OnRoomListEvent += RoomListHandler_OnRoomListEvent;
    }