public void JoinChatRoom(UserLogicModel user, JoinChatRoomRequest joinChatRoomRequest) { qManager.SendMessage(joinChatRoomRequest.Room.ChatServer, "Area.Chat.JoinChatRoom", user, joinChatRoomRequest); }
private void OnJoinChatChannel(UserLogicModel user, JoinChatRoomRequest data) { var cur = getRoomFromUser(user); if (cur != null) leaveChatRoom(user); ChatRoomDataModel currentRoomData = null; foreach (var chatRoomModel in runningRooms) { if (chatRoomModel.RoomName == data.Room.ChatChannel) currentRoomData = chatRoomModel; } if (currentRoomData == null) throw new Exception("idk"); myDataManager.ChatData.AddUser(currentRoomData, user, room => { myServerManager.RegisterChatServer(user); var roomToSend = new ChatRoomDataModel(room.RoomName, room.Users, room.Messages); roomToSend.Messages = room.Messages.Extract(room.Messages.Count - 5); myServerManager.SendChatInfo(user, roomToSend.ToModel()); roomToSend = new ChatRoomDataModel(room.RoomName, room.Users, null); foreach (var userLogicModel in currentRoomData.Users) { myServerManager.SendChatInfo(userLogicModel, roomToSend.ToModel() ); } }); }