|  |  |  | 
|---|
|  |  |  | using System; | 
|---|
|  |  |  | using Cysharp.Threading.Tasks; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public class PlayerBaseData | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | public int TitleID; | 
|---|
|  |  |  | public uint ExpPoint;    //扩充经验点数(亿) | 
|---|
|  |  |  | public uint TotalExp;    //总经验(小于亿部分) | 
|---|
|  |  |  | public ulong curExp { get { return TotalExp + ExpPoint * Constants.ExpPointValue; } } | 
|---|
|  |  |  | public uint FamilyId;    //家族 | 
|---|
|  |  |  | public long curExp { get { return TotalExp + ExpPoint * Constants.ExpPointValue; } } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | uint m_FamilyId; | 
|---|
|  |  |  | public uint FamilyId | 
|---|
|  |  |  | { | 
|---|
|  |  |  | get | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return m_FamilyId; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | set | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var beforeFamilyId = m_FamilyId; | 
|---|
|  |  |  | m_FamilyId = value; | 
|---|
|  |  |  | if (beforeFamilyId == 0 && m_FamilyId != 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | GuildManager.Instance.AfterEnterGuild().Forget(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (beforeFamilyId != 0 && m_FamilyId == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | GuildManager.Instance.AfterQuitGuild(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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 byte FBID;    //fb id | 
|---|
|  |  |  | 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 int mapRealmSelect;  //地图境界难度 | 
|---|
|  |  |  | public int leaveFamilyTime; //离开家族时间 | 
|---|
|  |  |  | public int leaveGuildInfo; //公会:主动离开次数*100 + 被踢次数*10  + 最后一次是否主动离开的,暂时最多累计记录到9次 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public bool IsActive90Off = true; //代表默认激活0.1折 | 
|---|
|  |  |  | public long treasurePotentialSp | 
|---|
|  |  |  | 
|---|
|  |  |  | CON = _serverInfo.CON; | 
|---|
|  |  |  | Setting = _serverInfo.Setting; | 
|---|
|  |  |  | FBID = _serverInfo.FBID; | 
|---|
|  |  |  | ExAttr1 = _serverInfo.ExAttr1; | 
|---|
|  |  |  | teamAutoOperateFlag = _serverInfo.ExAttr2; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | spExtend = _serverInfo.ExAttr8; | 
|---|
|  |  |  | bubbleId = _serverInfo.ExAttr10; | 
|---|
|  |  |  | ExAttr11 = _serverInfo.ExAttr11; | 
|---|
|  |  |  | leaveGuildInfo = (int)_serverInfo.ExAttr12; | 
|---|
|  |  |  | ExAttr16 = _serverInfo.ExAttr16; | 
|---|
|  |  |  | ServerGroupId = _serverInfo.ExAttr13; | 
|---|
|  |  |  | faction = _serverInfo.Faction; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue; | 
|---|
|  |  |  | AttackMode = _serverInfo.AttackMode; | 
|---|
|  |  |  | UseHarmerCount = (int)_serverInfo.FightPoint;   //锤子倍数,非战斗力 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|