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); }
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; }