|  |  | 
 |  |  |     public byte Job;    //职业,  | 
 |  |  |     public ushort LV;    //等级 | 
 |  |  |     public int TitleID; | 
 |  |  |     public uint ExpPoint;    //扩充经验点数 | 
 |  |  |     public uint TotalExp;    //总经验 | 
 |  |  |     public uint ExpPoint;    //扩充经验点数(亿) | 
 |  |  |     public uint TotalExp;    //总经验(小于亿部分) | 
 |  |  |     public long curExp { get { return TotalExp + ExpPoint * Constants.ExpPointValue; } } | 
 |  |  |     public uint FamilyId;    //家族 | 
 |  |  |     public string FamilyName;    //家族名称 | 
 |  |  |     public uint diamond;    //仙玉 | 
 |  |  |     public uint bindDiamond;  //灵石 | 
 |  |  |     public uint copper;    //铜钱 | 
 |  |  |     public ulong allCopper { get { return (ulong)copper + (ulong)copperExtend * Constants.ExpPointValue; } } | 
 |  |  |     public ulong FightPoint;    //战斗值 | 
 |  |  |     public long allCopper { get { return copper + copperExtend * Constants.ExpPointValue; } } | 
 |  |  |     public long UseHarmerCount;    //消耗锤子个数(倍数) | 
 |  |  |     public ushort MapID;    //角色所在地图  地图规则:C/S一一对应的常规地图,C假地图(ExAttr14),多C一个S地图(ExAttr3) | 
 |  |  |     public ushort PosX;    //角色坐标 | 
 |  |  |     public ushort PosY; | 
 |  |  |     public ulong HP;    //当前HP | 
 |  |  |     public long HP;    //当前HP | 
 |  |  |     public uint FreePoint;    //未分配点数 | 
 |  |  |     public uint FreeSkillPoint;    //未分配的技能点 | 
 |  |  |     public int STR;    //力量 | 
 |  |  | 
 |  |  |     public string Setting;    //设定 | 
 |  |  |     public byte AttackMode;    //攻击模式 | 
 |  |  |     public byte FBID;    //fb id | 
 |  |  |     public byte realmLevel;    //旧服务端官阶,现项目用于境界 | 
 |  |  |     public byte realmLevel;    //官职 | 
 |  |  |     public byte VIPLv;    //VIP等级 | 
 |  |  |     public uint ExAttr1;    // 协助目标玩家ID,非0变0退出协助 | 
 |  |  |     public uint teamAutoOperateFlag;    //扩展属性2,各项目专用 | 
 |  |  |     public int ExAttr1;    // 策划配置关卡ID为201,即 过关2-1(0/1) ,使用 ExAttr1 值判断,如ExAttr1值为20103代表当前已经过了第2章第1关第3波,包含了波,需要击败该关卡boss后才算该关过关 | 
 |  |  |     public int ExAttr2;    // 用于记录主线当前刷怪所在章节关卡记录,记录值 = 章节*10000+关卡编号*100+第x波  ; 0418刷新类型103 | 
 |  |  |     public int dungeonLineId;    // 副本线路id | 
 |  |  |     public int dungeonMapId;    // 副本用作 DataMapId,单人副本存在1.假副本 2.服务端1对客户端多地图同分线 3.服务端1对客户端多地图不同分线 | 
 |  |  |     public uint shield;    //护盾值 | 
 |  |  | 
 |  |  |     uint m_coinPointTotal; | 
 |  |  |     public int face;//头像 | 
 |  |  |     public int facePic;//头像外框 | 
 |  |  |     public long FightPower;    //战斗力 | 
 |  |  |  | 
 |  |  |     public uint coinPointTotal {  | 
 |  |  |     public uint coinPointTotal | 
 |  |  |     { | 
 |  |  |         private get { return m_coinPointTotal; } | 
 |  |  |         set { | 
 |  |  |         set | 
 |  |  |         { | 
 |  |  |             CoinChangeEvent?.Invoke((int)m_coinPointTotal, (int)value); | 
 |  |  |             m_coinPointTotal = value; | 
 |  |  |         } | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void UpdateData(H0102_tagCDBPlayer _serverInfo) | 
 |  |  |     {
 | 
 |  |  | 
 | 
 |  |  |         AccID = _serverInfo.AccID;
 | 
 |  |  |         PlayerID = _serverInfo.PlayerID;
 | 
 |  |  |         PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", "");
 | 
 |  |  |         GMLevel = _serverInfo.GMLevel;
 | 
 |  |  |         Job = _serverInfo.Job;
 | 
 |  |  |         LV = _serverInfo.LV;
 | 
 |  |  |         ExpPoint = _serverInfo.ExpPoint;
 | 
 |  |  |         TotalExp = _serverInfo.TotalExp;
 | 
 |  |  |         FamilyId = _serverInfo.Family;
 | 
 |  |  |         FamilyName = _serverInfo.FamilyName.Trim().Replace("\0", "");
 | 
 |  |  |         diamond = _serverInfo.Gold;
 | 
 |  |  |         bindDiamond = _serverInfo.GoldPaper;
 | 
 |  |  |         copper = _serverInfo.Silver;
 | 
 |  |  |         MapID = _serverInfo.MapID;
 | 
 |  |  |         PosX = _serverInfo.PosX;
 | 
 |  |  |         PosY = _serverInfo.PosY;
 | 
 |  |  |         FreePoint = _serverInfo.FreePoint;
 | 
 |  |  |         FreeSkillPoint = _serverInfo.FreeSkillPoint;
 | 
 |  |  |         STR = _serverInfo.STR;
 | 
 |  |  |         PNE = _serverInfo.PNE;
 | 
 |  |  |         PHY = _serverInfo.PHY;
 | 
 |  |  |         CON = _serverInfo.CON;
 | 
 |  |  |         Setting = _serverInfo.Setting;
 | 
 |  |  |         FBID = _serverInfo.FBID;
 | 
 |  |  |         ExAttr1 = _serverInfo.ExAttr1;
 | 
 |  |  |         teamAutoOperateFlag = _serverInfo.ExAttr2;
 | 
 |  |  |         dungeonLineId = (int)_serverInfo.ExAttr3 % 1000;
 | 
 |  |  |         dungeonMapId = (int)_serverInfo.ExAttr3 / 1000;
 | 
 |  |  |         shield = _serverInfo.ExAttr4;
 | 
 |  |  |         CrossServerFlag = _serverInfo.ExAttr5;
 | 
 |  |  |         realmLevel = _serverInfo.OfficialRank;
 | 
 |  |  |         VIPLv = _serverInfo.VIPLv;
 | 
 |  |  |         copperExtend = _serverInfo.ExAttr6;
 | 
 |  |  |         sp = _serverInfo.ExAttr7;
 | 
 |  |  |         spExtend = _serverInfo.ExAttr8;
 | 
 |  |  |         bubbleId = _serverInfo.ExAttr10;
 | 
 |  |  |         ExAttr11 = _serverInfo.ExAttr11;
 | 
 |  |  |         ExAttr16 = _serverInfo.ExAttr16;
 | 
 |  |  |         ServerGroupId = _serverInfo.ExAttr13;
 | 
 |  |  |         faction = _serverInfo.Faction;
 | 
 |  |  |         coinPointTotal = _serverInfo.ChangeCoinPointTotal;
 | 
 |  |  |         equipShowSwitch = _serverInfo.EquipShowSwitch;
 | 
 |  |  |         mapRealmSelect = (int)_serverInfo.ExAttr18;
 | 
 |  |  |         leaveFamilyTime = (int)_serverInfo.ExAttr19;
 | 
 |  |  |         face = (int)_serverInfo.Face;
 | 
 |  |  |         facePic = (int)_serverInfo.FacePic;
 | 
 |  |  | 
 | 
 |  |  |         HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
 | 
 |  |  |         AttackMode = _serverInfo.AttackMode;
 | 
 |  |  | 
 | 
 |  |  |     { | 
 |  |  |  | 
 |  |  |         AccID = _serverInfo.AccID.Trim().Replace("\0", ""); | 
 |  |  |         PlayerID = _serverInfo.PlayerID; | 
 |  |  |         PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", ""); | 
 |  |  |         GMLevel = _serverInfo.GMLevel; | 
 |  |  |         Job = _serverInfo.Job; | 
 |  |  |         LV = _serverInfo.LV; | 
 |  |  |         ExpPoint = _serverInfo.ExpPoint; | 
 |  |  |         TotalExp = _serverInfo.TotalExp; | 
 |  |  |         FamilyId = _serverInfo.Family; | 
 |  |  |         FamilyName = _serverInfo.FamilyName.Trim().Replace("\0", ""); | 
 |  |  |         diamond = _serverInfo.Gold; | 
 |  |  |         bindDiamond = _serverInfo.GoldPaper; | 
 |  |  |         copper = _serverInfo.Silver; | 
 |  |  |         MapID = _serverInfo.MapID; | 
 |  |  |         PosX = _serverInfo.PosX; | 
 |  |  |         PosY = _serverInfo.PosY; | 
 |  |  |         FreePoint = _serverInfo.FreePoint; | 
 |  |  |         FreeSkillPoint = _serverInfo.FreeSkillPoint; | 
 |  |  |         STR = _serverInfo.STR; | 
 |  |  |         PNE = _serverInfo.PNE; | 
 |  |  |         PHY = _serverInfo.PHY; | 
 |  |  |         CON = _serverInfo.CON; | 
 |  |  |         Setting = _serverInfo.Setting; | 
 |  |  |         FBID = _serverInfo.FBID; | 
 |  |  |         ExAttr1 = Math.Max((int)_serverInfo.ExAttr1, 10100);  //策划配置关卡ID为201,即 过关2-1(0/1) ,使用 ExAttr1 值判断,如ExAttr1值为20103代表当前已经过了第2章第1关第3波,包含了波,需要击败该关卡boss后才算该关过关 | 
 |  |  |         ExAttr2 = Math.Max((int)_serverInfo.ExAttr2, 10101);  //用于记录主线当前刷怪所在章节关卡记录,记录值 = 章节*10000+关卡编号*100+第x波  ; 0418刷新类型103 | 
 |  |  |         dungeonLineId = (int)_serverInfo.ExAttr3 % 1000; | 
 |  |  |         dungeonMapId = (int)_serverInfo.ExAttr3 / 1000; | 
 |  |  |         shield = _serverInfo.ExAttr4; | 
 |  |  |         CrossServerFlag = _serverInfo.ExAttr5; | 
 |  |  |         realmLevel = _serverInfo.OfficialRank; | 
 |  |  |         VIPLv = _serverInfo.VIPLv; | 
 |  |  |         copperExtend = _serverInfo.ExAttr6; | 
 |  |  |         sp = _serverInfo.ExAttr7; | 
 |  |  |         spExtend = _serverInfo.ExAttr8; | 
 |  |  |         bubbleId = _serverInfo.ExAttr10; | 
 |  |  |         ExAttr11 = _serverInfo.ExAttr11; | 
 |  |  |         ExAttr16 = _serverInfo.ExAttr16; | 
 |  |  |         ServerGroupId = _serverInfo.ExAttr13; | 
 |  |  |         faction = _serverInfo.Faction; | 
 |  |  |         coinPointTotal = _serverInfo.ChangeCoinPointTotal; | 
 |  |  |         equipShowSwitch = _serverInfo.EquipShowSwitch; | 
 |  |  |         mapRealmSelect = (int)_serverInfo.ExAttr18; | 
 |  |  |         leaveFamilyTime = (int)_serverInfo.ExAttr19; | 
 |  |  |         face = (int)_serverInfo.Face; | 
 |  |  |         facePic = (int)_serverInfo.FacePic; | 
 |  |  |  | 
 |  |  |         HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue; | 
 |  |  |         AttackMode = _serverInfo.AttackMode; | 
 |  |  |         UseHarmerCount = (int)_serverInfo.FightPoint;   //锤子倍数,非战斗力 | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // 部分情况需要服务端非重登情况下同步所有数据 |