hch
4 天以前 cfe2a2d5bc6fe9a85488542597d4f73dddbfeee8
Main/Core/GameEngine/Player/PlayerBaseData.cs
@@ -1,4 +1,5 @@
using System;
using Cysharp.Threading.Tasks;
public class PlayerBaseData
{
@@ -12,13 +13,34 @@
    public uint ExpPoint;    //扩充经验点数(亿)
    public uint TotalExp;    //总经验(小于亿部分)
    public long curExp { get { return TotalExp + ExpPoint * Constants.ExpPointValue; } }
    public uint FamilyId;    //家族
    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 long allCopper { get { return copper + copperExtend * Constants.ExpPointValue; } }
    public long FightPoint;    //战斗值
    public long UseHarmerCount;    //消耗锤子个数(倍数)
    public ushort MapID;    //角色所在地图  地图规则:C/S一一对应的常规地图,C假地图(ExAttr14),多C一个S地图(ExAttr3)
    public ushort PosX;    //角色坐标
    public ushort PosY;
@@ -34,8 +56,8 @@
    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;    //护盾值
@@ -52,10 +74,13 @@
    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;
        }
@@ -110,6 +135,7 @@
    public int mapRealmSelect;  //地图境界难度
    public int leaveFamilyTime; //离开家族时间
    public int leaveGuildInfo; //公会:主动离开次数*100 + 被踢次数*10  + 最后一次是否主动离开的,暂时最多累计记录到9次
    public bool IsActive90Off = true; //代表默认激活0.1折
    public long treasurePotentialSp
@@ -164,8 +190,8 @@
        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;
@@ -177,6 +203,7 @@
        spExtend = _serverInfo.ExAttr8;
        bubbleId = _serverInfo.ExAttr10;
        ExAttr11 = _serverInfo.ExAttr11;
        leaveGuildInfo = (int)_serverInfo.ExAttr12;
        ExAttr16 = _serverInfo.ExAttr16;
        ServerGroupId = _serverInfo.ExAttr13;
        faction = _serverInfo.Faction;
@@ -189,6 +216,7 @@
        HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
        AttackMode = _serverInfo.AttackMode;
        UseHarmerCount = (int)_serverInfo.FightPoint;   //锤子倍数,非战斗力
    }