using System; 
 | 
  
 | 
public class PlayerBaseData 
 | 
{ 
 | 
    public string AccID;    //_KEY_i_帐号名, 该角色所在的帐号的用户名 
 | 
    public uint PlayerID;    //_IDT_ 
 | 
    public string PlayerName;    //size = 14 
 | 
    public byte GMLevel;    //GM等级, 0:不是GM  >=1 : GM的等级 
 | 
    public byte Job;    //职业,  
 | 
    public ushort LV;    //等级 
 | 
    public int TitleID; 
 | 
    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 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 long HP;    //当前HP 
 | 
    public uint FreePoint;    //未分配点数 
 | 
    public uint FreeSkillPoint;    //未分配的技能点 
 | 
    public int STR;    //力量 
 | 
    public int PNE;    //真元 
 | 
    public int PHY;    //筋骨 
 | 
    public int CON;    //体魄 
 | 
    public string Setting;    //设定 
 | 
    public byte AttackMode;    //攻击模式 
 | 
    public byte FBID;    //fb id 
 | 
    public byte realmLevel;    //官职 
 | 
    public byte VIPLv;    //VIP等级 
 | 
    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;    //护盾值 
 | 
    public uint CrossServerFlag;    //跨服标识,大于2标识在跨服状态,值是跨服地图的datamapid 
 | 
    public uint copperExtend;    //扩展属性6,各项目专用 
 | 
    public uint sp;    //扩展属性7,各项目专用 
 | 
    public uint spExtend;    //扩展属性8,各项目专用 
 | 
    public uint bubbleId;    //扩展属性10,各项目专用 
 | 
    public uint ExAttr11;    //预留的扩展属性字段,用来存放项目特定的属性121 现金代币(代金券) 
 | 
    public uint ExAttr16;    //预留的扩展属性字段,用来存放项目特定的属性    全身特效 
 | 
    public uint ServerGroupId;    //服务器组ID 
 | 
    public uint hangTime;//现为脱机挂剩余时间 23 
 | 
    public uint faction; //阵营 107 
 | 
    uint m_coinPointTotal; 
 | 
    public int face;//头像 
 | 
    public int facePic;//头像外框 
 | 
    public long FightPower;    //战斗力 
 | 
  
 | 
    public uint coinPointTotal 
 | 
    { 
 | 
        private get { return m_coinPointTotal; } 
 | 
        set 
 | 
        { 
 | 
            CoinChangeEvent?.Invoke((int)m_coinPointTotal, (int)value); 
 | 
            m_coinPointTotal = value; 
 | 
        } 
 | 
    }//已充值金额,单位分 112 越南盾真实充值金额 
 | 
  
 | 
    public event Action<int, int> CoinChangeEvent; 
 | 
    public float coinTotal 
 | 
    { 
 | 
        get 
 | 
        { 
 | 
            return UIHelper.GetRealCoin((int)coinPointTotal); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public int BasicsMinimum;//基础最小攻击 
 | 
    public int BasicsMaxAttack;//基础最大攻击 
 | 
    public int BasicsLife;//基础生命 
 | 
    public int BasicsDefense;//基础防御 
 | 
    public int BasicsScoreAHit;//基础命中 
 | 
    public int BasicsDodge;//基础闪避 
 | 
    public uint equipShowSwitch;//装备显隐开关 
 | 
    public int mater;//灵根属性——金 
 | 
    public int wood;//灵根属性——木 
 | 
    public int water;//灵根属性——水 
 | 
    public int fire;//灵根属性——火 
 | 
    public int earth;//灵根属性——土 
 | 
    public int NormalHurt; 
 | 
    public int NormalHurtPer; 
 | 
    public int FabaoHurt; 
 | 
    public int FabaoHurtPer; 
 | 
    public int reduceCrit;//暴击抗性 
 | 
    public int reduceHeartHurt;//会心一击伤害固定值减免 
 | 
    public int reduceFinalHurt;//最终伤害百分比减免 
 | 
  
 | 
    public int yinjiCount;//当前印记数量 
 | 
    public int yinjiTime;//印记转圈时间 
 | 
  
 | 
    public int skillAddPerA;//定海神针技能伤害百分比 
 | 
    public int skillAddPerB; //皓月枪技能伤害百分比 
 | 
    public int skillAddPerC; //鬼牙刃技能伤害百分比 
 | 
    public int skillAddPerD; //磐龙印技能伤害百分比 
 | 
    public int skillAddPerE; //杏黄旗技能伤害百分比 
 | 
    public int skillAddPerF;//嗜天斧技能伤害百分比 
 | 
    public int skillAddPerG; //射日神弓技能伤害百分比 
 | 
    public int skillReducePerA; //定海神针技能减伤百分比 
 | 
    public int skillReducePerB; //皓月枪技能减伤百分比 
 | 
    public int skillReducePerC; //鬼牙刃技能减伤百分比 
 | 
    public int skillReducePerD; //磐龙印技能减伤百分比 
 | 
    public int skillReducePerE; //杏黄旗技能减伤百分比 
 | 
    public int skillReducePerF; //嗜天斧技能减伤百分比 
 | 
    public int skillReducePerG; //射日神弓技能减伤百分比 
 | 
  
 | 
    public int mapRealmSelect;  //地图境界难度 
 | 
    public int leaveFamilyTime; //离开家族时间 
 | 
    public int leaveGuildInfo; //公会:主动离开次数*100 + 被踢次数*10  + 最后一次是否主动离开的,暂时最多累计记录到9次 
 | 
  
 | 
    public bool IsActive90Off = true; //代表默认激活0.1折 
 | 
    public long treasurePotentialSp 
 | 
    { 
 | 
        get 
 | 
        { 
 | 
            return spExtend * (long)Constants.ExpPointValue + sp; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public int reikiRootEffectId 
 | 
    { 
 | 
        get 
 | 
        { 
 | 
            return (int)equipShowSwitch / 1000 % 1000; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public int suitLevel 
 | 
    { 
 | 
        //当前穿的第几套装备,命名和套装无关 
 | 
        get 
 | 
        { 
 | 
            return (int)equipShowSwitch / 10 % 100; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public void UpdateData(H0102_tagCDBPlayer _serverInfo) 
 | 
    { 
 | 
  
 | 
        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; 
 | 
        leaveGuildInfo = (int)_serverInfo.ExAttr12; 
 | 
        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;   //锤子倍数,非战斗力 
 | 
  
 | 
    } 
 | 
  
 | 
    // 部分情况需要服务端非重登情况下同步所有数据 
 | 
    public void UpdateData(/*HA112_tagMCDBPlayer 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; 
 | 
        // AttackMode = serverInfo.AttackMode; 
 | 
        // 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; 
 | 
        // HP = serverInfo.HP + serverInfo.HPEx * Constants.ExpPointValue; 
 | 
        // if (PlayerDatas.Instance.hero != null) 
 | 
        // { 
 | 
        //     PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP); 
 | 
        // } 
 | 
        // equipShowSwitch = serverInfo.EquipShowSwitch; 
 | 
        // mapRealmSelect = (int)serverInfo.ExAttr18; 
 | 
        // leaveFamilyTime = (int)serverInfo.ExAttr19; 
 | 
        // face = (int)serverInfo.Face; 
 | 
        // facePic = (int)serverInfo.FacePic; 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 |