少年修仙传客户端代码仓库
client_Hale
2019-01-15 0038a265a88e737f6e4703060fae1fa8d39d459e
382 战斗逻辑中可能出现的报错进行保护
12个文件已修改
243 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0406_tagNPCAppear.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0408_tagPlayerSummonNPCAppear.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0423_tagObjPropertyRefreshView.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0434_tagAreaPlayerAppearEx.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0435_tagPetAppear.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/HeroAI_Auto.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/HeroAI_NormalAuto.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/SelectionManager.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/State/SMB/STM_BaseAttack.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/Status/Status_Base.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcFunc.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorNpcNoFight.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0406_tagNPCAppear.cs
@@ -9,14 +9,6 @@
    {
        base.Done(vNetPack);
        if (CrossServerUtility.IsCrossServer())
        {
            if (vNetPack.socketType == GameNetSystem.SocketType.Main)
            {
                return;
            }
        }
        H0406_tagNPCAppear vNetData = vNetPack as H0406_tagNPCAppear;
        if (vNetData == null)
@@ -159,6 +151,17 @@
                    GAMgr.Instance.reAdjustPosList.Add(_actor);
                }
            }
            if (CrossServerUtility.IsCrossServer())
            {
                if (vNetPack.socketType == GameNetSystem.SocketType.Main)
                {
                    if (_actor != null && !GAMgr.Instance.reAdjustPosList.Contains(_actor))
                    {
                        GAMgr.Instance.reAdjustPosList.Add(_actor);
                    }
                }
            }
        }
#if UNITY_EDITOR
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0408_tagPlayerSummonNPCAppear.cs
@@ -10,14 +10,6 @@
    {
        base.Done(vNetPack);
        if (CrossServerUtility.IsCrossServer())
        {
            if (vNetPack.socketType == GameNetSystem.SocketType.Main)
            {
                return;
            }
        }
        H0408_tagPlayerSummonNPCAppear vNetData = vNetPack as H0408_tagPlayerSummonNPCAppear;
        if (vNetData == null)
@@ -63,6 +55,20 @@
                }
            }
        }
        if (CrossServerUtility.IsCrossServer())
        {
            if (vNetData.socketType == GameNetSystem.SocketType.Main)
            {
                if (_actor != null)
                {
                    if (!GAMgr.Instance.reAdjustPosList.Contains(_actor))
                    {
                        GAMgr.Instance.reAdjustPosList.Add(_actor);
                    }
                }
            }
        }
    }
}
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0423_tagObjPropertyRefreshView.cs
@@ -20,6 +20,14 @@
            return;
        }
        if (CrossServerUtility.IsCrossServer())
        {
            if (vNetData.socketType == GameNetSystem.SocketType.Main)
            {
                return;
            }
        }
        GActor _target = GAMgr.Instance.GetBySID(vNetData.ObjID);
        if (_target == null)
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0434_tagAreaPlayerAppearEx.cs
@@ -12,14 +12,6 @@
    {
        base.Done(vNetPack);
        if (CrossServerUtility.IsCrossServer())
        {
            if (vNetPack.socketType == GameNetSystem.SocketType.Main)
            {
                return;
            }
        }
        var vNetData = vNetPack as H0434_tagAreaPlayerAppearEx;
        if (vNetData == null)
@@ -52,6 +44,17 @@
            }
        }
        if (CrossServerUtility.IsCrossServer())
        {
            if (vNetPack.socketType == GameNetSystem.SocketType.Main)
            {
                if (_player != null && !GAMgr.Instance.reAdjustPosList.Contains(_player))
                {
                    GAMgr.Instance.reAdjustPosList.Add(_player);
                }
            }
        }
        if (vNetData.IsAlive == 1)
        {
            if (vNetData.PlayerState == 1)
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0435_tagPetAppear.cs
@@ -12,14 +12,6 @@
    {
        base.Done(vNetPack);
        if (CrossServerUtility.IsCrossServer())
        {
            if (vNetPack.socketType == GameNetSystem.SocketType.Main)
            {
                return;
            }
        }
        H0435_tagPetAppear vNetData = vNetPack as H0435_tagPetAppear;
        if (vNetData == null)
@@ -51,6 +43,17 @@
                GAMgr.Instance.reAdjustPosList.Add(_pet);
            }
        }
        if (CrossServerUtility.IsCrossServer())
        {
            if (vNetPack.socketType == GameNetSystem.SocketType.Main)
            {
                if (_pet != null && !GAMgr.Instance.reAdjustPosList.Contains(_pet))
                {
                    GAMgr.Instance.reAdjustPosList.Add(_pet);
                }
            }
        }
    }
}
Fight/Actor/AI/HeroAI_Auto.cs
@@ -424,6 +424,11 @@
    protected virtual void OnActiveInterrupt()
    {
        GA_Hero _hero = PlayerDatas.Instance.hero;
        if (_hero == null)
        {
            return;
        }
        //if (Time.realtimeSinceStartup - m_PauseStartTime > m_PauseResumeTime)
        //{
        //    // 弹出挂机暂停提示
@@ -431,12 +436,8 @@
        //}
        m_PauseStartTime = Time.realtimeSinceStartup;
        m_State = 1;
        GA_Hero _hero = PlayerDatas.Instance.hero;
        m_NeedMoveToPos = false;
        if (_hero != null)
        {
            _hero.StopRush();
        }
        _hero.StopRush();
        Skill _skill = _hero.SkillMgr.CurCastSkill;
        if (_skill != null)
Fight/Actor/AI/HeroAI_NormalAuto.cs
@@ -100,6 +100,11 @@
    protected override void OnUserClickSkill(int skillID)
    {
        if (PlayerDatas.Instance.hero == null)
        {
            return;
        }
        m_LockPos = PlayerDatas.Instance.hero.Pos;
        base.OnUserClickSkill(skillID);
@@ -107,6 +112,11 @@
    protected override void OnActiveInterrupt()
    {
        if (PlayerDatas.Instance.hero == null)
        {
            return;
        }
        m_LockPos = PlayerDatas.Instance.hero.Pos;
        base.OnActiveInterrupt();
Fight/Actor/SelectionManager.cs
@@ -187,18 +187,24 @@
        {
            case E_Type.Red:
                Release(E_Type.Green);
                if (s_Red != null)
                if (s_Red)
                {
                    s_Red.transform.SetParentEx(owner.Root, Vector3.zero, Quaternion.identity, Vector3.one * scale);
                    s_Red.target = CameraController.Instance.CameraObject.transform;
                    if (CameraController.Instance.CameraObject)
                    {
                        s_Red.target = CameraController.Instance.CameraObject.transform;
                    }
                }
                break;
            case E_Type.Green:
                Release(E_Type.Red);
                if (s_Green != null)
                if (s_Green)
                {
                    s_Green.transform.SetParentEx(owner.Root, Vector3.zero, Quaternion.identity, Vector3.one * scale);
                    s_Green.target = CameraController.Instance.CameraObject.transform;
                    if (CameraController.Instance.CameraObject)
                    {
                        s_Green.target = CameraController.Instance.CameraObject.transform;
                    }
                }
                break;
        }
Fight/Actor/State/SMB/STM_BaseAttack.cs
@@ -145,7 +145,14 @@
                    }
                }
                HeadUpSkillName.Popup(cacheSkillID, owner.MP_Name1.position, CameraController.Instance.CameraObject);
                if (owner.MP_Name1)
                {
                    HeadUpSkillName.Popup(cacheSkillID, owner.MP_Name1.position, CameraController.Instance.CameraObject);
                }
                else
                {
                    HeadUpSkillName.Popup(cacheSkillID, owner.Root.position, CameraController.Instance.CameraObject);
                }
            }
            if (_player is GA_Player)
@@ -1022,6 +1029,11 @@
        GActorFight _fight = owner as GActorFight;
        if (_fight == null)
        {
            return;
        }
        if (_fight.ServerInstID == PlayerDatas.Instance.PlayerId)
        {
            if (PreFightMission.Instance.IsFinished())
@@ -1032,7 +1044,8 @@
                    //                                                             (int)_fight.prevPos.z * 2),
                    //                                                 new Vector2((int)_fight.Pos.x * 2,
                    //                                                             (int)_fight.Pos.z * 2));
                    if (m_CacheSkill.skillInfo.config.AtkType != 9
                    if (m_CacheSkill != null
                     && m_CacheSkill.skillInfo.config.AtkType != 9
                     && m_CacheSkill.skillInfo.config.AtkType != 10
                     && m_CacheSkill.skillInfo.config.AtkType != 34)
                    {
Fight/Actor/Status/Status_Base.cs
@@ -136,13 +136,16 @@
        GActorFight _target = GAMgr.Instance.GetBySID(objID) as GActorFight;
        if (buffType == (int)E_BuffType.bfActionBuff)
        if (_target != null)
        {
            // 调用动作
            if (m_SkillConfig.CtrlActionID != 0)
            if (buffType == (int)E_BuffType.bfActionBuff)
            {
                _target.NextAction = GAStaticDefine.Act_Idle;
                _target.IdleImmediate();
                // 调用动作
                if (m_SkillConfig.CtrlActionID != 0)
                {
                    _target.NextAction = GAStaticDefine.Act_Idle;
                    _target.IdleImmediate();
                }
            }
        }
Fight/GameActor/GA_NpcFunc.cs
@@ -175,6 +175,11 @@
        var _modelResConfig = Config.Instance.Get<ModelResConfig>(_horseConfig.Model);
        m_HorseModel = GameObjectPoolManager.Instance.RequestGameObject(prefab as GameObject);
        if (!m_HorseModel)
        {
            return;
        }
        var _animator = m_HorseModel.GetComponent<Animator>();
        if (_animator)
        {
@@ -197,24 +202,27 @@
                m_Model.transform.localPosition = Vector3.zero;
                m_Model.transform.localEulerAngles = new Vector3(90, 0, 0);
                _animator = m_Model.GetComponent<Animator>();
                _animator.SetInteger(GAStaticDefine.Param_Action, GAStaticDefine.Act_HorseIdle);
                switch (_horseConfig.ActionType)
                if (_animator)
                {
                    case 0:
                        _animator.Play(GAStaticDefine.State_HorseIdleHash);
                        break;
                    case 1:
                        _animator.Play(GAStaticDefine.State_HorseIdle1Hash);
                        break;
                    case 2:
                        _animator.Play(GAStaticDefine.State_HorseIdle2Hash);
                        break;
                    case 3:
                        _animator.Play(GAStaticDefine.State_HorseIdle3Hash);
                        break;
                    case 4:
                        _animator.Play(GAStaticDefine.State_HorseIdle4Hash);
                        break;
                    _animator.SetInteger(GAStaticDefine.Param_Action, GAStaticDefine.Act_HorseIdle);
                    switch (_horseConfig.ActionType)
                    {
                        case 0:
                            _animator.Play(GAStaticDefine.State_HorseIdleHash);
                            break;
                        case 1:
                            _animator.Play(GAStaticDefine.State_HorseIdle1Hash);
                            break;
                        case 2:
                            _animator.Play(GAStaticDefine.State_HorseIdle2Hash);
                            break;
                        case 3:
                            _animator.Play(GAStaticDefine.State_HorseIdle3Hash);
                            break;
                        case 4:
                            _animator.Play(GAStaticDefine.State_HorseIdle4Hash);
                            break;
                    }
                }
            }
        }
@@ -228,15 +236,22 @@
        }
        m_WingModel = GameObjectPoolManager.Instance.RequestGameObject(prefab as GameObject);
        if (!m_WingModel)
        {
            return;
        }
        var _animator = m_WingModel.GetComponent<Animator>();
        if (_animator)
        {
            _animator.enabled = true;
        }
        Transform _bindNode = m_Model.transform.GetChildTransformDeeply(GAStaticDefine.WingBindBoneName);
        m_WingModel.transform.SetParent(_bindNode);
        m_WingModel.transform.localPosition = Vector3.zero;
        m_WingModel.transform.localRotation = Quaternion.identity;
        if (_bindNode)
        {
            m_WingModel.transform.SetParent(_bindNode);
            m_WingModel.transform.localPosition = Vector3.zero;
            m_WingModel.transform.localRotation = Quaternion.identity;
        }
        ModelResConfig _resConfig = Config.Instance.Get<ModelResConfig>(m_WingID);
        m_WingModel.transform.localScale = _resConfig.Scale;
@@ -250,6 +265,10 @@
        }
        m_SecondaryModel = GameObjectPoolManager.Instance.RequestGameObject(prefab as GameObject);
        if (!m_SecondaryModel)
        {
            return;
        }
        var _animator = m_SecondaryModel.GetComponent<Animator>();
        if (_animator)
        {
@@ -257,9 +276,12 @@
        }
        int _job = NpcConfig.MODE.Contains("A_Zs") ? 1 : 2;
        Transform _bindNode = m_Model.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[_job - 1]);
        m_SecondaryModel.transform.SetParent(_bindNode);
        m_SecondaryModel.transform.localPosition = Vector3.zero;
        m_SecondaryModel.transform.localRotation = Quaternion.identity;
        if (_bindNode)
        {
            m_SecondaryModel.transform.SetParent(_bindNode);
            m_SecondaryModel.transform.localPosition = Vector3.zero;
            m_SecondaryModel.transform.localRotation = Quaternion.identity;
        }
    }
    private void OnWeaponLoaded(bool result, UnityEngine.Object prefab)
@@ -268,17 +290,23 @@
        {
            return;
        }
        m_WeaponModel = GameObjectPoolManager.Instance.RequestGameObject(prefab as GameObject);
        if (!m_WeaponModel)
        {
            return;
        }
        var _animator = m_WeaponModel.GetComponent<Animator>();
        if (_animator)
        {
            _animator.enabled = true;
        }
        Transform _bindNode = m_Model.transform.GetChildTransformDeeply(GAStaticDefine.WeaponBindBoneName);
        m_WeaponModel.transform.SetParent(_bindNode);
        m_WeaponModel.transform.localPosition = Vector3.zero;
        m_WeaponModel.transform.localRotation = Quaternion.identity;
        if (_bindNode)
        {
            m_WeaponModel.transform.SetParent(_bindNode);
            m_WeaponModel.transform.localPosition = Vector3.zero;
            m_WeaponModel.transform.localRotation = Quaternion.identity;
        }
    }
    protected override void OnUnit()
Fight/GameActor/GActorNpcNoFight.cs
@@ -16,11 +16,18 @@
    {
        get
        {
            if (!m_Animator)
            {
                return -1;
            }
            return m_Animator.GetInteger(GAStaticDefine.Param_Action);
        }
        set
        {
            m_Animator.SetInteger(GAStaticDefine.Param_Action, value);
            if (m_Animator)
            {
                m_Animator.SetInteger(GAStaticDefine.Param_Action, value);
            }
        }
    }