10271 适配封包C001、C005、B207、0320、A003
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | // B2 07 助战机器人列表 #tagMCHelpBattleList
|
| | |
|
| | | // B2 07 助战机器人列表 #tagMCHelpBattleList
|
| | |
|
| | | public class HB207_tagMCHelpBattleList : GameNetPackBasic {
|
| | | public byte RefreshCount; // 已刷新次数
|
| | | public byte HelpCount; // 助战个数
|
| | | public tagMCHelpBattlePlayer[] HelpPlayerList; // 助战镜像信息
|
| | |
|
| | | public HB207_tagMCHelpBattleList () {
|
| | | _cmd = (ushort)0xB207;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out RefreshCount, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out HelpCount, vBytes, NetDataType.BYTE);
|
| | | HelpPlayerList = new tagMCHelpBattlePlayer[HelpCount];
|
| | | for (int i = 0; i < HelpCount; i ++) {
|
| | | HelpPlayerList[i] = new tagMCHelpBattlePlayer();
|
| | | TransBytes (out HelpPlayerList[i].ObjID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out HelpPlayerList[i].PlayerID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out HelpPlayerList[i].NameLen, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out HelpPlayerList[i].Name, vBytes, NetDataType.Chars, HelpPlayerList[i].NameLen);
|
| | | TransBytes (out HelpPlayerList[i].LV, vBytes, NetDataType.WORD);
|
| | | TransBytes (out HelpPlayerList[i].Job, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out HelpPlayerList[i].RealmLV, vBytes, NetDataType.WORD);
|
| | | TransBytes (out HelpPlayerList[i].FightPower, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out HelpPlayerList[i].Relation, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out HelpPlayerList[i].IsNeedGold, vBytes, NetDataType.BYTE);
|
| | | }
|
| | | }
|
| | |
|
| | | public struct tagMCHelpBattlePlayer {
|
| | | public uint ObjID; // 实例ID, 0代表未召唤
|
| | | public uint PlayerID; // 助战镜像ID, 大于1小于100代表机器人,如果是机器人,没有以下信息,相关信息自己读配置
|
| | | public byte NameLen;
|
| | | public string Name; // 玩家名,size = NameLen
|
| | | public ushort LV; // 玩家等级
|
| | | public byte Job; // 玩家职业, 如果是机器人,则职业有值,服务端控制
|
| | | public ushort RealmLV; // 玩家境界等级
|
| | | public uint FightPower; // 玩家战力
|
| | | public byte Relation; // 关系:0-无,1-好友,2-盟友
|
| | | public byte IsNeedGold; // 是否需要仙玉召唤
|
| | | }
|
| | |
|
| | | }
|
| | | public class HB207_tagMCHelpBattleList : GameNetPackBasic {
|
| | | public byte RefreshCount; // 已刷新次数
|
| | | public byte HelpCount; // 助战个数
|
| | | public tagMCHelpBattlePlayer[] HelpPlayerList; // 助战镜像信息
|
| | |
|
| | | public HB207_tagMCHelpBattleList () {
|
| | | _cmd = (ushort)0xB207;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out RefreshCount, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out HelpCount, vBytes, NetDataType.BYTE);
|
| | | HelpPlayerList = new tagMCHelpBattlePlayer[HelpCount];
|
| | | for (int i = 0; i < HelpCount; i ++) {
|
| | | HelpPlayerList[i] = new tagMCHelpBattlePlayer();
|
| | | TransBytes (out HelpPlayerList[i].ObjID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out HelpPlayerList[i].PlayerID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out HelpPlayerList[i].NameLen, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out HelpPlayerList[i].Name, vBytes, NetDataType.Chars, HelpPlayerList[i].NameLen);
|
| | | TransBytes (out HelpPlayerList[i].LV, vBytes, NetDataType.WORD);
|
| | | TransBytes (out HelpPlayerList[i].Job, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out HelpPlayerList[i].RealmLV, vBytes, NetDataType.WORD);
|
| | | TransBytes (out HelpPlayerList[i].Face, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out HelpPlayerList[i].FacePic, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out HelpPlayerList[i].FightPower, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out HelpPlayerList[i].Relation, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out HelpPlayerList[i].IsNeedGold, vBytes, NetDataType.BYTE);
|
| | | }
|
| | | }
|
| | |
|
| | | public struct tagMCHelpBattlePlayer {
|
| | | public uint ObjID; // 实例ID, 0代表未召唤
|
| | | public uint PlayerID; // 助战镜像ID, 大于1小于100代表机器人,如果是机器人,没有以下信息,相关信息自己读配置
|
| | | public byte NameLen;
|
| | | public string Name; // 玩家名,size = NameLen
|
| | | public ushort LV; // 玩家等级
|
| | | public byte Job; // 玩家职业, 如果是机器人,则职业有值,服务端控制
|
| | | public ushort RealmLV; // 玩家境界等级
|
| | | public uint Face; //基本脸型
|
| | | public uint FacePic; //头像框
|
| | | public uint FightPower; // 玩家战力
|
| | | public byte Relation; // 关系:0-无,1-好友,2-盟友
|
| | | public byte IsNeedGold; // 是否需要仙玉召唤
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | // C0 01 跨服PK匹配成功 #tagGCCrossRealmPKMatchOK |
| | | |
| | | public class HC001_tagGCCrossRealmPKMatchOK : GameNetPackBasic { |
| | | public ushort RoomID; // 房间ID |
| | | public byte NameLen; |
| | | public string PlayerName; // 跨服名字 |
| | | public byte Number; // 位置编号;1-左,2-右 |
| | | public byte MatchPlayerCount; |
| | | public tagGCCrossRealmPKMatchPlayer[] MatchPlayer; // 匹配到的玩家 |
| | | |
| | | public HC001_tagGCCrossRealmPKMatchOK () { |
| | | _cmd = (ushort)0xC001; |
| | | } |
| | | |
| | | public override void ReadFromBytes (byte[] vBytes) { |
| | | TransBytes (out RoomID, vBytes, NetDataType.WORD); |
| | | TransBytes (out NameLen, vBytes, NetDataType.BYTE); |
| | | TransBytes (out PlayerName, vBytes, NetDataType.Chars, NameLen); |
| | | TransBytes (out Number, vBytes, NetDataType.BYTE); |
| | | TransBytes (out MatchPlayerCount, vBytes, NetDataType.BYTE); |
| | | MatchPlayer = new tagGCCrossRealmPKMatchPlayer[MatchPlayerCount]; |
| | | for (int i = 0; i < MatchPlayerCount; i ++) { |
| | | MatchPlayer[i] = new tagGCCrossRealmPKMatchPlayer(); |
| | | TransBytes (out MatchPlayer[i].PlayerID, vBytes, NetDataType.DWORD); |
| | | TransBytes (out MatchPlayer[i].NameLen, vBytes, NetDataType.BYTE); |
| | | TransBytes (out MatchPlayer[i].PlayerName, vBytes, NetDataType.Chars, MatchPlayer[i].NameLen); |
| | | TransBytes (out MatchPlayer[i].Job, vBytes, NetDataType.BYTE); |
| | | TransBytes (out MatchPlayer[i].LV, vBytes, NetDataType.WORD); |
| | | TransBytes (out MatchPlayer[i].MaxHP, vBytes, NetDataType.DWORD); |
| | | TransBytes (out MatchPlayer[i].MaxHPEx, vBytes, NetDataType.DWORD); |
| | | TransBytes (out MatchPlayer[i].MaxProDef, vBytes, NetDataType.DWORD); |
| | | } |
| | | } |
| | | |
| | | public struct tagGCCrossRealmPKMatchPlayer { |
| | | public uint PlayerID; |
| | | public byte NameLen; |
| | | public string PlayerName; // 跨服名字 |
| | | public byte Job; |
| | | public ushort LV; |
| | | public uint MaxHP; // 默认满血,求余亿部分 |
| | | public uint MaxHPEx; // 默认满血,整除亿部分 |
| | | public uint MaxProDef; // 最大护盾 |
| | | } |
| | | |
| | | } |
| | | // C0 01 跨服PK匹配成功 #tagGCCrossRealmPKMatchOK
|
| | |
|
| | | public class HC001_tagGCCrossRealmPKMatchOK : GameNetPackBasic {
|
| | | public ushort RoomID; // 房间ID
|
| | | public byte NameLen;
|
| | | public string PlayerName; // 跨服名字
|
| | | public byte Number; // 位置编号;1-左,2-右
|
| | | public byte MatchPlayerCount;
|
| | | public tagGCCrossRealmPKMatchPlayer[] MatchPlayer; // 匹配到的玩家
|
| | |
|
| | | public HC001_tagGCCrossRealmPKMatchOK () {
|
| | | _cmd = (ushort)0xC001;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out RoomID, vBytes, NetDataType.WORD);
|
| | | TransBytes (out NameLen, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out PlayerName, vBytes, NetDataType.Chars, NameLen);
|
| | | TransBytes (out Number, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out MatchPlayerCount, vBytes, NetDataType.BYTE);
|
| | | MatchPlayer = new tagGCCrossRealmPKMatchPlayer[MatchPlayerCount];
|
| | | for (int i = 0; i < MatchPlayerCount; i ++) {
|
| | | MatchPlayer[i] = new tagGCCrossRealmPKMatchPlayer();
|
| | | TransBytes (out MatchPlayer[i].PlayerID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out MatchPlayer[i].NameLen, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out MatchPlayer[i].PlayerName, vBytes, NetDataType.Chars, MatchPlayer[i].NameLen);
|
| | | TransBytes (out MatchPlayer[i].Job, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out MatchPlayer[i].LV, vBytes, NetDataType.WORD);
|
| | | TransBytes (out MatchPlayer[i].Face, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out MatchPlayer[i].FacePic, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out MatchPlayer[i].MaxHP, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out MatchPlayer[i].MaxHPEx, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out MatchPlayer[i].MaxProDef, vBytes, NetDataType.DWORD);
|
| | | }
|
| | | }
|
| | |
|
| | | public struct tagGCCrossRealmPKMatchPlayer {
|
| | | public uint PlayerID;
|
| | | public byte NameLen;
|
| | | public string PlayerName; // 跨服名字
|
| | | public byte Job;
|
| | | public ushort LV;
|
| | | public uint Face; //基本脸型
|
| | | public uint FacePic; //头像框
|
| | | public uint MaxHP; // 默认满血,求余亿部分
|
| | | public uint MaxHPEx; // 默认满血,整除亿部分
|
| | | public uint MaxProDef; // 最大护盾
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | // C0 05 跨服PK赛季排行榜 #tagGCCrossRealmPKBillboardInfo
|
| | |
|
| | | // C0 05 跨服PK赛季排行榜 #tagGCCrossRealmPKBillboardInfo
|
| | |
|
| | | public class HC005_tagGCCrossRealmPKBillboardInfo : GameNetPackBasic {
|
| | | public byte ZoneID; // 赛区ID |
| | | public byte SeasonID; // 赛季ID |
| | | public ushort Count;
|
| | | public tagGCCrossRealmPKBillboardData[] PKBillboardList;
|
| | |
|
| | | public HC005_tagGCCrossRealmPKBillboardInfo () {
|
| | | _cmd = (ushort)0xC005;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out ZoneID, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out SeasonID, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out Count, vBytes, NetDataType.WORD);
|
| | | PKBillboardList = new tagGCCrossRealmPKBillboardData[Count];
|
| | | for (int i = 0; i < Count; i ++) {
|
| | | PKBillboardList[i] = new tagGCCrossRealmPKBillboardData();
|
| | | TransBytes (out PKBillboardList[i].PlayerID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out PKBillboardList[i].NameLen, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out PKBillboardList[i].PlayerName, vBytes, NetDataType.Chars, PKBillboardList[i].NameLen);
|
| | | TransBytes (out PKBillboardList[i].Job, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out PKBillboardList[i].FightPower, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out PKBillboardList[i].RealmLV, vBytes, NetDataType.WORD);
|
| | | TransBytes (out PKBillboardList[i].PKScore, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out PKBillboardList[i].DanLV, vBytes, NetDataType.BYTE);
|
| | | }
|
| | | }
|
| | |
|
| | | public struct tagGCCrossRealmPKBillboardData {
|
| | | public uint PlayerID;
|
| | | public byte NameLen;
|
| | | public string PlayerName;
|
| | | public byte Job;
|
| | | public uint FightPower;
|
| | | public ushort RealmLV;
|
| | | public uint PKScore;
|
| | | public byte DanLV;
|
| | | }
|
| | |
|
| | | }
|
| | | public class HC005_tagGCCrossRealmPKBillboardInfo : GameNetPackBasic {
|
| | | public byte ZoneID; // 赛区ID |
| | | public byte SeasonID; // 赛季ID |
| | | public ushort Count;
|
| | | public tagGCCrossRealmPKBillboardData[] PKBillboardList;
|
| | |
|
| | | public HC005_tagGCCrossRealmPKBillboardInfo () {
|
| | | _cmd = (ushort)0xC005;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out ZoneID, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out SeasonID, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out Count, vBytes, NetDataType.WORD);
|
| | | PKBillboardList = new tagGCCrossRealmPKBillboardData[Count];
|
| | | for (int i = 0; i < Count; i ++) {
|
| | | PKBillboardList[i] = new tagGCCrossRealmPKBillboardData();
|
| | | TransBytes (out PKBillboardList[i].PlayerID, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out PKBillboardList[i].NameLen, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out PKBillboardList[i].PlayerName, vBytes, NetDataType.Chars, PKBillboardList[i].NameLen);
|
| | | TransBytes (out PKBillboardList[i].Job, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out PKBillboardList[i].Face, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out PKBillboardList[i].FacePic, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out PKBillboardList[i].FightPower, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out PKBillboardList[i].RealmLV, vBytes, NetDataType.WORD);
|
| | | TransBytes (out PKBillboardList[i].PKScore, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out PKBillboardList[i].DanLV, vBytes, NetDataType.BYTE);
|
| | | }
|
| | | }
|
| | |
|
| | | public struct tagGCCrossRealmPKBillboardData {
|
| | | public uint PlayerID;
|
| | | public byte NameLen;
|
| | | public string PlayerName;
|
| | | public byte Job;
|
| | | public uint Face; //基本脸型
|
| | | public uint FacePic; //头像框
|
| | | public uint FightPower;
|
| | | public ushort RealmLV;
|
| | | public uint PKScore;
|
| | | public byte DanLV;
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | public int PlayerID;//玩家ID
|
| | | public string PlayerName;//玩家名
|
| | | public int Job;//职业
|
| | | public int Face;
|
| | | public int FacePic;
|
| | | public int Power;//战力
|
| | | public int DanLv;//段位
|
| | | public int PkScore;//积分
|
| | |
| | | RankingInformation.PlayerID = (int)info.PKBillboardList[i].PlayerID;
|
| | | RankingInformation.PlayerName = info.PKBillboardList[i].PlayerName;
|
| | | RankingInformation.Job = info.PKBillboardList[i].Job;
|
| | | RankingInformation.Face = (int)info.PKBillboardList[i].Face;
|
| | | RankingInformation.FacePic = (int)info.PKBillboardList[i].FacePic;
|
| | | RankingInformation.Power = (int)info.PKBillboardList[i].FightPower;
|
| | | RankingInformation.Realm = (int)info.PKBillboardList[i].RealmLV;
|
| | | RankingInformation.DanLv = (int)info.PKBillboardList[i].DanLV;
|
| | |
| | | RankingInformation.PlayerID = (int)info.PKBillboardList[i].PlayerID;
|
| | | RankingInformation.PlayerName = info.PKBillboardList[i].PlayerName;
|
| | | RankingInformation.Job = info.PKBillboardList[i].Job;
|
| | | RankingInformation.Face = (int)info.PKBillboardList[i].Face;
|
| | | RankingInformation.FacePic = (int)info.PKBillboardList[i].FacePic;
|
| | | RankingInformation.Power = (int)info.PKBillboardList[i].FightPower;
|
| | | RankingInformation.Realm = (int)info.PKBillboardList[i].RealmLV;
|
| | | RankingInformation.DanLv = (int)info.PKBillboardList[i].DanLV;
|
| | |
| | | {
|
| | | public int ObjID { get; private set; } // 实例ID, 0代表未召唤
|
| | | public int Job { get; private set; } // 玩家职业, 如果是机器人,则职业有值,服务端控制
|
| | | public int Face { get; private set; } |
| | | public int FacePic { get; private set; } |
| | | public int PlayerID { get; private set; } // 助战镜像ID, 大于1小于100代表机器人,如果是机器人,没有以下信息,相关信息自己读配置
|
| | | public string Name { get; private set; } // 玩家名,size = NameLen
|
| | | public int LV { get; private set; } // 玩家等级
|
| | |
| | | {
|
| | | ObjID = (int)battlePlayer.ObjID;
|
| | | Job = battlePlayer.Job;
|
| | | Face = (int)battlePlayer.Face;
|
| | | FacePic = (int)battlePlayer.FacePic;
|
| | | PlayerID = (int)battlePlayer.PlayerID;
|
| | | bool isMirror = PlayerID > 100 ? true : false;
|
| | | if(isMirror)
|
| | |
| | | public string Name;
|
| | | public int LV;
|
| | | public int Job;
|
| | | public int Face;
|
| | | public int FacePic;
|
| | | public int Relation;
|
| | | public int RealmLV;
|
| | | public int FightPower;
|
| | |
| | | kingFairyData.leaderId = (int)_sData.Value2;
|
| | | kingFairyData.allotCnt = (int)_sData.Value4;
|
| | | kingFairyData.finalCnt = (int)_sData.Value5;
|
| | |
|
| | | if (int.TryParse(_sData.StrValue2, out int result))
|
| | | {
|
| | | kingFairyData.emblemId = result;
|
| | | }
|
| | | else
|
| | | {
|
| | | kingFairyData.emblemId = 0;
|
| | | }
|
| | | |
| | | hasKingFairy = kingFairyData.fairyId != 0;
|
| | | if (isServerPrepare && WindowCenter.Instance.IsOpen<KingTempleWin>())
|
| | | {
|
| | |
| | | public int allotCnt;
|
| | | public int finalCnt;
|
| | | public string fairyName;
|
| | | public int emblemId;
|
| | | public RoleParticularModel.ViewPlayerData leaderData;
|
| | | }
|
| | | }
|
| | |
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using UnityEngine;
|
| | | using UnityEngine;
|
| | | using System;
|
| | |
|
| | |
|
| | | namespace vnxbqy.UI
|
| | | {
|
| | |
| | | autoEnsureTime = Time.time + 3f,
|
| | | myName = matchOK.PlayerName.Replace("@gm", ""),
|
| | | myJob = PlayerDatas.Instance.baseData.Job,
|
| | | myFace = AvatarHelper.GetMyAvatarID(),
|
| | | myFacePic = AvatarHelper.GetMyAvatarFrameID(),
|
| | | myBornPoint = matchOK.Number,
|
| | | opponentName = matchOK.MatchPlayer[0].PlayerName.Replace("@gm", ""),
|
| | | opponentJob = matchOK.MatchPlayer[0].Job,
|
| | | opponentFace = (int)matchOK.MatchPlayer[0].Face,
|
| | | opponentFacePic = (int)matchOK.MatchPlayer[0].FacePic,
|
| | | opponentMaxHp = matchOK.MatchPlayer[0].MaxHP + matchOK.MatchPlayer[0].MaxHPEx * Constants.ExpPointValue,
|
| | | opponentLevel = (int)matchOK.MatchPlayer[0].LV,
|
| | | opponentPlayerId = (int)matchOK.MatchPlayer[0].PlayerID,
|
| | |
| | | public float validTimeLimited;
|
| | | public string myName;
|
| | | public int myJob;
|
| | | public int myFace;
|
| | | public int myFacePic;
|
| | | public int myBornPoint;//1-左;2-右
|
| | | public int opponentPlayerId;
|
| | | public string opponentName;
|
| | | public int opponentJob;
|
| | | public int opponentFace;
|
| | | public int opponentFacePic;
|
| | | public int opponentLevel;
|
| | | public ulong opponentMaxHp;
|
| | | public int MaxProDef;// 最大护盾
|