public MainMessage HandleMessage(MainMessage msg) { _log.Debug("In HandleMessage method."); RoomMsg roomMsg = msg.RoomMsg; switch (roomMsg.MessageTypeCase) { case RoomMsg.MessageTypeOneofCase.RoomCreate: return(RoomCreate(msg.MsgId, roomMsg.RoomCreate)); case RoomMsg.MessageTypeOneofCase.RoomEnter: return(RoomEnter(msg.MsgId, msg.ClientId, roomMsg.RoomEnter)); case RoomMsg.MessageTypeOneofCase.RoomExit: return(RoomExit(msg.MsgId, msg.ClientId, roomMsg.RoomExit)); case RoomMsg.MessageTypeOneofCase.RoomQuery: switch (roomMsg.RoomQuery.RoomQueryCase) { case RoomQuery.RoomQueryOneofCase.RoomDetailId: return(RoomDetail(roomMsg.RoomQuery.RoomDetailId)); case RoomQuery.RoomQueryOneofCase.RoomListQuery: return(RoomList(roomMsg.RoomQuery.RoomListQuery)); default: return(ISystemService.CreateErrorMessage(msg.MsgId, 0, 0, "Invalid Operation.")); } default: return(ISystemService.CreateErrorMessage(msg.MsgId, 0, 0, "Invalid Operation.")); } }
private int SendRoomMsg(RoomMsg rMsg) { UIDHeader <RoomMsgMapper <Msg> > header = new UIDHeader <RoomMsgMapper <Msg> > (rMsg); header.ID = curUserID; return(Send <NullMsg> (new NullMsg(), header)); }
public async Task <RoomMsg> SystemSendMessage(string message) { if (main_ch == null || client == null) { throw new System.Exception("CONNECT_CLIENT_IS_NULL"); } if (CurrentRoom == null) { throw new System.Exception("NO_CURRENT_ROOM"); } try { var msg = new RoomMsg { Key = CurrentRoom.Key, FromId = CurrentUser.Id, FmName = CurrentUser.Name, Message = message, MsgType = RoomMsg.Types.MsgType.SystemInfo, }; var task = await client.SendMessageAsync(msg); return(msg); } catch (RpcException) { throw; } }
/// <summary> /// 退出房间 /// </summary> /// <param name="roomNum">房间号</param> public static void ExitRoom(string roomNum, int peopleId) { RoomMsg roomMsg = new RoomMsg { roomNum = roomNum, otherId = peopleId, }; byte[] byt = Incode.IncodeSecondaryCommand(TYPE, (int)SecondCommands.EXITROOM, DataDo.Object2Json(roomMsg)); NetStart.SendContend(byt); }
/// <summary> /// 加入房间 /// </summary> /// <param name="roomNum">房间号</param> public static void JoinRoom(string roomNum, PersonalInfo my) { RoomMsg roomMsg = new RoomMsg { roomNum = roomNum, my = my, }; byte[] byt = Incode.IncodeSecondaryCommand(TYPE, (int)SecondCommands.JOINROOM, DataDo.Object2Json(roomMsg)); NetStart.SendContend(byt); }
public MainMessage HandleMessage(MainMessage msg) { RoomMsg roomMsg = msg.RoomMsg; int serverId = 0; switch (roomMsg.MessageTypeCase) { case RoomMsg.MessageTypeOneofCase.RoomCreate: return(RoomCreate(msg.MsgId, msg.ClientId, msg)); case RoomMsg.MessageTypeOneofCase.RoomDetail: return(ISystemService.CreateErrorMessage(msg.MsgId, 0, 0, "Invalid message.")); case RoomMsg.MessageTypeOneofCase.RoomEnter: serverId = _roomsPerServer.Where(x => x.Value.Find(y => y.Id == msg.RoomMsg.RoomEnter.RoomId) != null).FirstOrDefault().Key; if (serverId == 0) { return(ISystemService.CreateErrorMessage(msg.MsgId, 0, 0, "Room with this ID could not be found.")); } return(ISystemService.CreateRedirectMessage(msg, _api.Services.System.GetAddressById((uint)serverId))); case RoomMsg.MessageTypeOneofCase.RoomExit: serverId = _roomsPerServer.Where(x => x.Value.Find(y => y.Id == msg.RoomMsg.RoomExit.RoomId) != null).FirstOrDefault().Key; if (serverId == 0) { return(ISystemService.CreateErrorMessage(msg.MsgId, 0, 0, "Room with this ID could not be found.")); } return(ISystemService.CreateRedirectMessage(msg, _api.Services.System.GetAddressById((uint)serverId))); case RoomMsg.MessageTypeOneofCase.RoomList: if (msg.SenderIdCase == MainMessage.SenderIdOneofCase.ClientId) { return(ISystemService.CreateErrorMessage(msg.MsgId, 0, 0, "Invalid message.")); } return(RoomListServer(msg.MsgId, (int)msg.ServerId, msg.RoomMsg.RoomList)); case RoomMsg.MessageTypeOneofCase.RoomQuery: switch (msg.RoomMsg.RoomQuery.RoomQueryCase) { case RoomQuery.RoomQueryOneofCase.RoomDetailId: return(RoomDetail(msg.MsgId, msg.RoomMsg.RoomQuery.RoomDetailId)); case RoomQuery.RoomQueryOneofCase.RoomListQuery: return(RoomListClient(msg.RoomMsg.RoomQuery.RoomListQuery)); default: return(ISystemService.CreateErrorMessage(msg.MsgId, 0, 0, "Invalid message.")); } default: return(ISystemService.CreateErrorMessage(msg.MsgId, 0, 0, "Invalid message.")); } }
public void GenMessage(RoomMsg msg) { GameObject title = (GameObject)Instantiate(NamePref, ChatPanel.transform); title.GetComponent <Text>().text = msg.FmName + "\t< id : " + msg.FromId.ToString() + ">"; if (msg.MsgType == RoomMsg.Types.MsgType.UserText) { GameObject info = (GameObject)Instantiate(DespPref, ChatPanel.transform); info.GetComponent <Text>().text = msg.Message; } return; }
public override int GetHashCode() { int hash = 1; if (MsgId != 0UL) { hash ^= MsgId.GetHashCode(); } if (senderIdCase_ == SenderIdOneofCase.ServerId) { hash ^= ServerId.GetHashCode(); } if (senderIdCase_ == SenderIdOneofCase.ClientId) { hash ^= ClientId.GetHashCode(); } if (messageTypeCase_ == MessageTypeOneofCase.SystemMsg) { hash ^= SystemMsg.GetHashCode(); } if (messageTypeCase_ == MessageTypeOneofCase.TickMsg) { hash ^= TickMsg.GetHashCode(); } if (messageTypeCase_ == MessageTypeOneofCase.EventMsg) { hash ^= EventMsg.GetHashCode(); } if (messageTypeCase_ == MessageTypeOneofCase.RoomMsg) { hash ^= RoomMsg.GetHashCode(); } if (messageTypeCase_ == MessageTypeOneofCase.UserMngMsg) { hash ^= UserMngMsg.GetHashCode(); } if (messageTypeCase_ == MessageTypeOneofCase.AppMsg) { hash ^= AppMsg.GetHashCode(); } hash ^= (int)senderIdCase_; hash ^= (int)messageTypeCase_; return(hash); }
public override void OnInspectorGUI() { DrawDefaultInspector(); ChatPanelCtl d = (ChatPanelCtl)target; EditorGUILayout.Separator(); EditorGUILayout.LabelField("Test Block"); test_message = EditorGUILayout.TextField("Test text", test_message); if (GUILayout.Button("Test for Generate Text message")) { var msg = new RoomMsg { FromId = "test_id", Message = test_message, MsgType = RoomMsg.Types.MsgType.UserText, }; d.GenMessage(msg); } }
public void OnConnecterUpdate_CardChange(RoomMsg msg) { string js_str = msg.Message.Replace("CardChange::", ""); Debug.Log(js_str); RoomUpdateCardReq msg_blk = RoomUpdateCardReq.Parser.ParseJson(js_str); Debug.Log($"{msg_blk.CharcardId}, {msg_blk.CardsetId}, {msg_blk.Level}"); var Dataset = this.CardObjectDic[$"cc_{msg_blk.CharcardId.ToString()}"]; Debug.Log($"Dataset.name{Dataset.name.jp}"); var tmpAssetPack = this.CardAssetPack[$"cc_{msg_blk.CharcardId.ToString()}_{msg_blk.CardsetId.ToString()}"]; if ( (msg_blk.Side == RoomUpdateCardReq.Types.PlayerSide.Host && !this.Connecter.IsHost) || this.Connecter.IsWatcher ) { this.HostCard.CC_id = Dataset.id; this.HostCard.level = tmpAssetPack.level; this.HostCardObj = Dataset; this.HostCardAB = tmpAssetPack; this.isHostUpdated = true; } else if ( (msg_blk.Side == RoomUpdateCardReq.Types.PlayerSide.Dueler && this.Connecter.IsHost) || this.Connecter.IsWatcher ) { this.DuelerCard.CC_id = Dataset.id; this.DuelerCard.level = tmpAssetPack.level; this.DuelCardObj = Dataset; this.DuelCardAB = tmpAssetPack; this.isDuelUpdated = true; } }
public RoomMsgMapper(RoomMsg data) { this.data = Convert.ToInt32(data); //bTransAction = true; }