少年修仙传客户端代码仓库
client_linchunjie
2018-09-10 547c3feac435008bb24d10d0043e9bad6f0544e0
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
15个文件已修改
509 ■■■■■ 已修改文件
Core/GameEngine/Model/TelPartialConfig/tagChinSkillConfig.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CB9_Team/CB90A_tagCGInvitePlayerJoinTeamByLV.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0405_tagPlayerDisappear.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0434_tagAreaPlayerAppearEx.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GAMgr.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Player.cs 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Achievement/AchievementModel.cs 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzModel.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzWin.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/WarehouseTipsWin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemTipsModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainWin/SkillContainer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RuneTower/RuneTowerSweepResultWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillAccordWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/tagChinSkillConfig.cs
@@ -104,6 +104,7 @@
            m_Skills.TryGetValue(occupy, out dic);
            return dic;
        }
        //------坐骑技能获取
        public static SkillConfig GetSkillTypeIDAndSkillLV(int _SkillTypeID, int SkillLV)
        {
@@ -112,7 +113,20 @@
            SkillConfig _tagChinSkillModel = null;
            T_HorseSkill.TryGetValue(_textBuilder.ToString(), out _tagChinSkillModel);
            return _tagChinSkillModel;
        }
        public static int FindSkillByJob(int[] skillIds,int job)
        {
            foreach (var skill in skillIds)
            {
                var config = Config.Instance.Get<SkillConfig>(skill);
                if (config != null && (config.UseType == 0 || config.UseType == 1 << job))
                {
                    return skill;
                }
            }
            return 0;
        }
    }
Core/NetworkPackage/ClientPack/ClientToMapServer/CB9_Team/CB90A_tagCGInvitePlayerJoinTeamByLV.cs
@@ -3,18 +3,21 @@
// B9 0A 按条件邀请玩家加入队伍 #tagCGInvitePlayerJoinTeamByLV
public class CB90A_tagCGInvitePlayerJoinTeamByLV : GameNetPackBasic {
public class CB90A_tagCGInvitePlayerJoinTeamByLV : GameNetPackBasic
{
    public ushort LVLimit;    // 目标玩家大于等于此等级
    public byte InviteCnt;    // 邀请玩家个数
    public CB90A_tagCGInvitePlayerJoinTeamByLV () {
        combineCmd = (ushort)0x03FE;
    public CB90A_tagCGInvitePlayerJoinTeamByLV()
    {
        combineCmd = (ushort)0x1801;
        _cmd = (ushort)0xB90A;
    }
    public override void WriteToBytes () {
        WriteBytes (LVLimit, NetDataType.WORD);
        WriteBytes (InviteCnt, NetDataType.BYTE);
    public override void WriteToBytes()
    {
        WriteBytes(LVLimit, NetDataType.WORD);
        WriteBytes(InviteCnt, NetDataType.BYTE);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0405_tagPlayerDisappear.cs
@@ -30,6 +30,9 @@
            {
                GAMgr.Instance.ServerDie(vNetData.Players[i]);
                GAMgr.Instance.Release(_actor);
                // 离线玩家
                GAMgr.Instance.RemoveOffLinePlayer(vNetData.Players[i]);
            }
            else
            {
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0434_tagAreaPlayerAppearEx.cs
@@ -1,8 +1,10 @@
using UnityEngine;
using System.Collections;
//04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx
//04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx
public class DTC0434_tagAreaPlayerAppearEx : DtcBasic
{
    public override void Done(GameNetPackBasic vNetPack)
@@ -21,6 +23,12 @@
        if (_player != null)
        {
            // 异常
        }
        // 离线玩家
        if (vNetData.State == 1)
        {
            GAMgr.Instance.AddOffLinePlayer(vNetData.PlayerID);
        }
        _player = GAMgr.Instance.RequestPlayer<GA_Player>(vNetData.PlayerID, E_ActorGroup.Player, vNetData);
@@ -70,5 +78,7 @@
            StatusMgr.Instance.Request(_h0605);
        }
    }
}
}
Fight/GameActor/GAMgr.cs
@@ -63,6 +63,8 @@
    // 客户端id对应相应角色
    private Dictionary<uint, GActor> m_Cid2GA;
    private List<uint> m_OffLineList;
    // 服务端通知的死亡目标对应的客户端id,
    // 这里为了处理可能出现的无法死亡现象,对每一只目标进行计时,强制其死亡
    private List<uint> serverDeadList = new List<uint>();
@@ -85,10 +87,91 @@
            m_AllList = new List<GActor>();
            m_Sid2Cid = new Dictionary<uint, uint>();
            m_Cid2GA = new Dictionary<uint, GActor>();
            m_OffLineList = new List<uint>();
            m_Inited = true;
            SystemSetting.Instance.playerSyncCountChangeEvent += OnPlayerSyncCountChange;
            SystemSetting.Instance.OnSettingChanged += OnSettingChanged;
        }
    }
    public void AddOffLinePlayer(uint sid)
    {
        if (m_OffLineList.Contains(sid))
        {
            return;
        }
        m_OffLineList.Add(sid);
    }
    public void RemoveOffLinePlayer(uint sid)
    {
        if (m_OffLineList.Contains(sid))
        {
            m_OffLineList.Remove(sid);
        }
    }
    public void ClearOffLinePlayer()
    {
        m_OffLineList.Clear();
    }
    private float m_UpdateOffLineInterval;
    private List<uint> m_CacheList = new List<uint>();
    private List<uint> m_ContaintList = new List<uint>();
    private void UpdateOffLinePlayer()
    {
        if (m_OffLineList == null || m_OffLineList.Count == 0)
        {
            return;
        }
        if (Time.realtimeSinceStartup - m_UpdateOffLineInterval > 2)
        {
            m_CacheList.Clear();
            m_ContaintList.Clear();
            int _count = Mathf.Min(m_OffLineList.Count, 4);
            //Debug.LogFormat("此次将会有: {0} 个挂机者释放技能", _count);
            for (int i = 0; i < m_OffLineList.Count; ++i)
            {
                m_CacheList.Add(m_OffLineList[i]);
            }
            int _time = 0;
            while (m_ContaintList.Count < _count)
            {
                int _index = UnityEngine.Random.Range(0, m_CacheList.Count);
                m_ContaintList.Add(m_CacheList[_index]);
                //Debug.LogFormat("添加对象: {0}, 已添加: {1} 个", m_CacheList[_index], m_ContaintList.Count);
                m_CacheList.RemoveAt(_index);
                if (_time > _count)
                {
                    //Debug.LogFormat("共添加了: {0} 个玩家", m_ContaintList.Count);
                    break;
                }
                _time++;
            }
            GA_Player _player = null;
            for (int i = 0; i < m_ContaintList.Count; ++i)
            {
                _player = GAMgr.Instance.GetBySID(m_ContaintList[i]) as GA_Player;
                if (_player == null)
                {
                    continue;
                }
                _player.UpdateOffLineAction();
            }
            m_UpdateOffLineInterval = Time.realtimeSinceStartup;
        }
    }
@@ -838,6 +921,8 @@
        {
            m_AllList[i].Update();
        }
        UpdateOffLinePlayer();
    }
    public void DoLateUpdate()
Fight/GameActor/GA_Player.cs
@@ -9,23 +9,16 @@
    // 为守护特殊定义的当前是否装备守护id
    public int serverGuardId;
    // 简易的脱机挂AI草稿
    // 步骤 1. 寻点 2. 移动至 3. 放个普攻
    private byte m_Step;
    private Vector3 m_DestPos;
    private Vector3 m_RecordBornPos;
    private float m_WaitTime;
    public static UnityAction<uint, bool> s_OnSelected;
    public static UnityAction<uint, ulong, ulong> s_OnRefreshLife;
    private H0434_tagAreaPlayerAppearEx m_H0434;
    protected H0434_tagAreaPlayerAppearEx m_H0434;
    private CmdManager m_CmdManager;
    private int m_ComAtkIndex;// 普攻索引
    private Skill m_CastSkill;// 要释放的技能
    protected sealed override void OnInit(GameNetPackBasic package)
    private int m_ComAtkIndex;// 普攻索引
    protected override void OnInit(GameNetPackBasic package)
    {
        m_H0434 = package as H0434_tagAreaPlayerAppearEx;
@@ -157,12 +150,6 @@
        RequestName();
        m_CmdManager = new CmdManager();
        if (m_H0434.State == 1)
        {
            m_RecordBornPos = Pos;
            m_Step = 0;
        }
    }
    protected sealed override void OnUnit()
@@ -183,151 +170,13 @@
    {
    }
    protected sealed override void OnUpdate()
    protected override void OnUpdate()
    {
        base.OnUpdate();
        if (m_CmdManager != null)
        {
            m_CmdManager.Update();
        }
        // 脱机挂
        if (m_H0434.State == 1)
        {
            switch (m_Step)
            {
                case 0:
                    //m_DestPos = m_RecordBornPos + Quaternion.Euler(0, Random.Range(0, 359), 0) * Vector3.forward * Random.Range(1f, 2f);
                    //TryGetValidPos(m_DestPos, ref m_DestPos);
                    if (SelectTarget == null)
                    {
                        SelectTarget = GAMgr.Instance.GetCloserFightNpc(Pos);
                    }
                    if (SelectTarget != null)
                    {
                        destForward = Forward = MathUtility.ForwardXZ(SelectTarget.Pos, Pos);
                    }
                    m_Step = 1;
                    break;
                case 1:
                    m_CastSkill = null;
                    for (int i = 0; i < JobSetup.HangupSkillList.Length; ++i)
                    {
                        if (SkillMgr.Get(JobSetup.HangupSkillList[i]).IsValid())
                        {
                            m_CastSkill = SkillMgr.Get(JobSetup.HangupSkillList[i]);
                            break;
                        }
                    }
                    if (m_CastSkill == null)
                    {
                        if (m_ComAtkIndex > JobSetup.ComAtkIdList.Length - 1)
                        {
                            m_ComAtkIndex = 0;
                        }
                        int _comSkillId = JobSetup.ComAtkIdList[m_ComAtkIndex];
                        m_CastSkill = SkillMgr.Get(_comSkillId);
                        m_ComAtkIndex += 1;
                    }
                    m_Step = 2;
                    break;
                case 2:
                    if (m_CastSkill != null)
                    {
                        SkillMgr.CastSkill(ServerInstID, m_CastSkill.id, true);
                        Vector3 _targetPosition = Pos + Forward * (m_CastSkill.skillInfo.config.AtkDist * .5f);
                        _targetPosition.y = 0;
                        UnityEngine.AI.NavMeshHit _navMeshHit;
                        if (UnityEngine.AI.NavMesh.Raycast(Pos, _targetPosition, out _navMeshHit, -1))
                        {
                            _targetPosition = _navMeshHit.position;
                        }
                        _targetPosition.y = Pos.y;
                        m_CastSkill.targetPosition = _targetPosition;
                        if (m_CastSkill.skillInfo.config.Skillactmark > 0
                         && m_CastSkill.skillInfo.config.Skillactmark < 20)
                        {
                            switch (m_CastSkill.skillInfo.config.Skillactmark)
                            {
                                case 10:
                                    Play(GAStaticDefine.State_Attack1Hash, 0);
                                    break;
                                case 11:
                                    Play(GAStaticDefine.State_Attack2Hash, 0);
                                    break;
                                case 12:
                                    Play(GAStaticDefine.State_Attack3Hash, 0);
                                    break;
                                case 13:
                                    Play(GAStaticDefine.State_Attack4Hash, 0);
                                    break;
                            }
                        }
                        else
                        {
                            switch (m_CastSkill.skillInfo.config.Skillactmark)
                            {
                                case 21:
                                    Play(GAStaticDefine.State_Skill21, 0);
                                    break;
                                case 22:
                                    Play(GAStaticDefine.State_Skill22, 0);
                                    break;
                                case 23:
                                    Play(GAStaticDefine.State_Skill23, 0);
                                    break;
                                case 24:
                                    Play(GAStaticDefine.State_Skill24, 0);
                                    break;
                                case 25:
                                    Play(GAStaticDefine.State_Skill25, 0);
                                    break;
                                case 26:
                                    Play(GAStaticDefine.State_Skill26, 0);
                                    break;
                                case 27:
                                    Play(GAStaticDefine.State_Skill27, 0);
                                    break;
                                case 28:
                                    Play(GAStaticDefine.State_Skill28, 0);
                                    break;
                                case 29:
                                    Play(GAStaticDefine.State_Skill29, 0);
                                    break;
                                case 99:
                                    Play(GAStaticDefine.State_RollHash, 0);
                                    break;
                            }
                        }
                    }
                    m_Step = 3;
                    break;
                case 3:
                    if (IsIdle())
                    {
                        m_Step = 0;
                    }
                    break;
            }
        }
    }
@@ -695,4 +544,112 @@
    {
        m_CmdManager.Clear();
    }
    public void UpdateOffLineAction()
    {
        if (!IsIdle())
        {
            return;
        }
        if (SelectTarget == null)
        {
            SelectTarget = GAMgr.Instance.GetCloserFightNpc(Pos);
        }
        if (SelectTarget != null)
        {
            destForward = Forward = MathUtility.ForwardXZ(SelectTarget.Pos, Pos);
        }
        Skill _castSkill = null;
        int _skillIndex = UnityEngine.Random.Range(0, JobSetup.HangupSkillList.Length);
        if (SkillMgr.Get(JobSetup.HangupSkillList[_skillIndex]).IsValid())
        {
            _castSkill = SkillMgr.Get(JobSetup.HangupSkillList[_skillIndex]);
        }
        if (_castSkill == null)
        {
            if (m_ComAtkIndex > JobSetup.ComAtkIdList.Length - 1)
            {
                m_ComAtkIndex = 0;
            }
            int _comSkillId = JobSetup.ComAtkIdList[m_ComAtkIndex];
            _castSkill = SkillMgr.Get(_comSkillId);
            m_ComAtkIndex += 1;
        }
        if (_castSkill != null)
        {
            SkillMgr.CastSkill(ServerInstID, _castSkill.id, true);
            Vector3 _targetPosition = Pos + Forward * (_castSkill.skillInfo.config.AtkDist * .5f);
            _targetPosition.y = 0;
            UnityEngine.AI.NavMeshHit _navMeshHit;
            if (UnityEngine.AI.NavMesh.Raycast(Pos, _targetPosition, out _navMeshHit, -1))
            {
                _targetPosition = _navMeshHit.position;
            }
            _targetPosition.y = Pos.y;
            _castSkill.targetPosition = _targetPosition;
            if (_castSkill.skillInfo.config.Skillactmark > 0
             && _castSkill.skillInfo.config.Skillactmark < 20)
            {
                switch (_castSkill.skillInfo.config.Skillactmark)
                {
                    case 10:
                        Play(GAStaticDefine.State_Attack1Hash, 0);
                        break;
                    case 11:
                        Play(GAStaticDefine.State_Attack2Hash, 0);
                        break;
                    case 12:
                        Play(GAStaticDefine.State_Attack3Hash, 0);
                        break;
                    case 13:
                        Play(GAStaticDefine.State_Attack4Hash, 0);
                        break;
                }
            }
            else
            {
                switch (_castSkill.skillInfo.config.Skillactmark)
                {
                    case 21:
                        Play(GAStaticDefine.State_Skill21, 0);
                        break;
                    case 22:
                        Play(GAStaticDefine.State_Skill22, 0);
                        break;
                    case 23:
                        Play(GAStaticDefine.State_Skill23, 0);
                        break;
                    case 24:
                        Play(GAStaticDefine.State_Skill24, 0);
                        break;
                    case 25:
                        Play(GAStaticDefine.State_Skill25, 0);
                        break;
                    case 26:
                        Play(GAStaticDefine.State_Skill26, 0);
                        break;
                    case 27:
                        Play(GAStaticDefine.State_Skill27, 0);
                        break;
                    case 28:
                        Play(GAStaticDefine.State_Skill28, 0);
                        break;
                    case 29:
                        Play(GAStaticDefine.State_Skill29, 0);
                        break;
                    case 99:
                        Play(GAStaticDefine.State_RollHash, 0);
                        break;
                }
            }
        }
    }
}
System/Achievement/AchievementModel.cs
@@ -116,6 +116,7 @@
            {
                return this == (AchievementCondition)obj;
            }
            public override int GetHashCode()
            {
                var _value = type;
@@ -125,6 +126,7 @@
                }
                return _value.GetHashCode();
            }
            public static bool operator ==(AchievementCondition x, AchievementCondition y)
            {
                if (x.type != y.type)
@@ -144,6 +146,7 @@
                }
                return true;
            }
            public static bool operator !=(AchievementCondition x, AchievementCondition y)
            {
                return !(x == y);
@@ -225,7 +228,6 @@
                            {
                                var mapId = PlayerDatas.Instance.baseData.MapID;
                                var mapConfig = Config.Instance.Get<MapConfig>(mapId);
                                if (mapConfig != null && mapConfig.MapFBType != 0)
                                {
                                    SysNotifyMgr.Instance.ShowTip("InDungeon_CantGo");
@@ -248,7 +250,6 @@
                    case 4:
                    case 86:
                        WindowCenter.Instance.Close<TreasureLevelUpWin>();
                        var mapModel = ModelCenter.Instance.GetModel<MapModel>();
                        var pointId = mapModel.GetRecommendHangPoint();
                        var mapEventConfig = Config.Instance.Get<MapEventPointConfig>(pointId);
@@ -257,13 +258,11 @@
                        break;
                    case 36:
                        WindowCenter.Instance.Close<TreasureLevelUpWin>();
                        WindowCenter.Instance.Open<MainInterfaceWin>();
                        MapTransferUtility.Instance.MoveToNPC(config.Condition[0]);
                        break;
                    case 37:
                        WindowCenter.Instance.Close<TreasureLevelUpWin>();
                        WindowCenter.Instance.Open<MainInterfaceWin>();
                        MapTransferUtility.Instance.MoveToLocalMapPosition(config.Condition2.Vector3Parse());
                        break;
@@ -408,7 +407,7 @@
                    case 109:
                        WindowCenter.Instance.Close<TreasureLevelUpWin>();
                        var skillId = FindSkillByJob(config.Condition, PlayerDatas.Instance.baseData.Job);
                        var skillId = SkillConfig.FindSkillByJob(config.Condition, PlayerDatas.Instance.baseData.Job);
                        if (skillId != 0)
                        {
                            if (ModelCenter.Instance.GetModel<SkillModel>().GetXpSkillID() == skillId)
@@ -454,8 +453,8 @@
        private string GetHighestSorceEquipByPlace(List<int> _places)
        {
            var package = playerPack.GetSinglePackModel(PackType.rptItem);
            var allItems = package.GetPackModelIndexDict();
            var itemPackage = playerPack.GetSinglePackModel(PackType.rptItem);
            var allItems = itemPackage.GetPackModelIndexDict();
            var guid = string.Empty;
            var equips = new List<string>();
@@ -478,15 +477,14 @@
        private string GetBetterEquipByPlace(List<int> _places)
        {
            var package = playerPack.GetSinglePackModel(PackType.rptItem);
            var allItems = package.GetPackModelIndexDict();
            var equipPackage = playerPack.GetSinglePackModel(PackType.rptEquip);
            var itemPackage = playerPack.GetSinglePackModel(PackType.rptItem);
            var allItems = itemPackage.GetPackModelIndexDict();
            var guid = string.Empty;
            var equips = new List<string>();
            var score = 0;
            var job = PlayerDatas.Instance.baseData.Job;
            var equipPackage = playerPack.GetSinglePackModel(PackType.rptEquip);
            foreach (var item in allItems.Values)
            {
                var overdue = packModelInterface.IsOverdue(item.itemInfo.ItemGUID, item.itemId, item.useDataDict);
@@ -507,15 +505,14 @@
        public string GetBetterEquipByPlace()
        {
            var package = playerPack.GetSinglePackModel(PackType.rptItem);
            var allItems = package.GetPackModelIndexDict();
            var equipPackage = playerPack.GetSinglePackModel(PackType.rptEquip);
            var itemPackage = playerPack.GetSinglePackModel(PackType.rptItem);
            var allItems = itemPackage.GetPackModelIndexDict();
            var guid = string.Empty;
            var equips = new List<string>();
            var score = 0;
            var job = PlayerDatas.Instance.baseData.Job;
            var equipPackage = playerPack.GetSinglePackModel(PackType.rptEquip);
            foreach (var item in allItems.Values)
            {
                var config = Config.Instance.Get<ItemConfig>(item.itemId);
@@ -536,21 +533,6 @@
            }
            return guid;
        }
        public int FindSkillByJob(int[] _skillIds, int _job)
        {
            foreach (var skill in _skillIds)
            {
                var config = Config.Instance.Get<SkillConfig>(skill);
                if (config != null && (config.UseType == 0 || config.UseType == 1 << _job))
                {
                    return skill;
                }
            }
            return 0;
        }
        private void ProcessAchievementGotoGuide(int _achievementId)
System/Dogz/DogzModel.cs
@@ -155,6 +155,15 @@
            }
        }
        public event Action<int> OpenFuncEvent;
        public void OpenDogzFuncEvent(int functionOrder)
        {
            if(OpenFuncEvent != null)
            {
                OpenFuncEvent(functionOrder);
            }
        }
        #region 协议
        public int addAssistCnt { get; private set; } //额外购买的助战数
System/Dogz/DogzWin.cs
@@ -39,22 +39,9 @@
            });
        }
        private void OnDogzStrengthen()
        {
            CloseChild();
            functionOrder = 1;
            WindowCenter.Instance.Open<GodBeastReinforcementWin>();
        }
        private void OnDogz()
        {
            CloseChild();
            functionOrder = 0;
            WindowCenter.Instance.Open<DogzActiveWin>();
        }
        protected override void OnPreOpen()
        {
            dogzModel.OpenFuncEvent += OnOpenFuncEvent;
            dogzModel.SetDefaultSelectDogz();
        }
@@ -71,6 +58,7 @@
        protected override void OnPreClose()
        {
            dogzModel.OpenFuncEvent -= OnOpenFuncEvent;
        }
        protected override void OnAfterClose()
@@ -81,6 +69,26 @@
            }
        }
        private void OnOpenFuncEvent(int order)
        {
            funcBtnGroup.TriggerByOrder(order);
        }
        private void OnDogzStrengthen()
        {
            CloseChild();
            functionOrder = 1;
            WindowCenter.Instance.Open<GodBeastReinforcementWin>();
        }
        private void OnDogz()
        {
            CloseChild();
            functionOrder = 0;
            WindowCenter.Instance.Open<DogzActiveWin>();
        }
        void OnClose()
        {
            CloseChild();
System/FairyAu/WarehouseTipsWin.cs
@@ -76,6 +76,8 @@
        [SerializeField] GameObject _Dropdown;//装备颜色
        [SerializeField] GameObject _WarehouseCountBG;//仓库积分面板
        [SerializeField] int _FamilyPosition = 0;//家族职位
        [SerializeField] Button m_BtnAdd;//获取途径按钮
        private AchievementGuideEffect AchievementGuideEffect1;
        int Item_lv = 0;//标记物品阶数
        int Item_Color = 0;//标记物品颜色
@@ -85,6 +87,8 @@
        int _WPID = 0;//用来标记需要兑换的物品ID
        private int SpiritPetDan = 0;
        public static event Action RedPointUpdate;
        GetItemPathModel _GetItemPath;
        GetItemPathModel GetItemPath { get { return _GetItemPath ?? (_GetItemPath = ModelCenter.Instance.GetModel<GetItemPathModel>()); } }
        #endregion
@@ -100,6 +104,10 @@
        protected override void AddListeners()
        {
            AddListen();
            m_BtnAdd.AddListener(()=>
            {
                GetItemPath.SetChinItemModel(2150);
            });
        }
        protected override void OnPreOpen()
System/KnapSack/Logic/ItemTipsModel.cs
@@ -743,7 +743,7 @@
            });
            attrData.SetTipsFuncBtn(ItemWinBtnType.strength, (ItemWinBtnType, ItemAttrData) => {
                WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc1);
                dogzModel.OpenDogzFuncEvent(1);
            });
        }
System/MainInterfacePanel/MainInterfaceWin.cs
@@ -977,7 +977,7 @@
                    ShowCastSkill();//显示技能组隐藏按钮组(强制切换)
                }
                var _cfg = Config.Instance.Get<SuccessConfig>(AchievementGoto.guideAchievementId);
                var _skillId = ModelCenter.Instance.GetModel<AchievementModel>().FindSkillByJob(_cfg.Condition, PlayerDatas.Instance.baseData.Job);
                var _skillId = SkillConfig.FindSkillByJob(_cfg.Condition, PlayerDatas.Instance.baseData.Job);
                if (_skillId != 0)
                {
                    if (ModelCenter.Instance.GetModel<SkillModel>().GetXpSkillID() != _skillId)
System/MainWin/SkillContainer.cs
@@ -430,7 +430,7 @@
            if (AchievementGoto.achievementType == AchievementGoto.ExcuteSkill)
            {
                var _cfg = Config.Instance.Get<SuccessConfig>(AchievementGoto.guideAchievementId);
                var _skillId = ModelCenter.Instance.GetModel<AchievementModel>().FindSkillByJob(_cfg.Condition, PlayerDatas.Instance.baseData.Job);
                var _skillId = SkillConfig.FindSkillByJob(_cfg.Condition, PlayerDatas.Instance.baseData.Job);
                if (_skillId != 0)
                {
                    if (ModelCenter.Instance.GetModel<SkillModel>().GetXpSkillID() == _skillId)
System/RuneTower/RuneTowerSweepResultWin.cs
@@ -217,6 +217,8 @@
                yield return null;
            }
            yield return null;
            m_ResultScrollRect.content.anchoredPosition = m_ResultScrollRect.content.anchoredPosition.SetY(end);
            foreach (var behaviour in resultBehavioursBuf)
            {
System/Skill/SkillAccordWin.cs
@@ -478,7 +478,7 @@
            if (AchievementGoto.achievementType == AchievementGoto.ExcuteSkill)
            {
                var _cfg = Config.Instance.Get<SuccessConfig>(AchievementGoto.guideAchievementId);
                var _skillId = ModelCenter.Instance.GetModel<AchievementModel>().FindSkillByJob(_cfg.Condition, PlayerDatas.Instance.baseData.Job);
                var _skillId = SkillConfig.FindSkillByJob(_cfg.Condition, PlayerDatas.Instance.baseData.Job);
                if (_skillId != 0)
                {
                    m_AchieveSkillId = _skillId;