少年修仙传客户端代码仓库
2747 【1.4】建造守卫时,点击普攻,守卫图标会消失,且会出现“点击地基建造守卫击败怪物”的提示
4个文件已修改
68 ■■■■■ 已修改文件
Fight/Actor/AI/HeroAI_Auto.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/HeroAI_D5_Hlyy.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GAMgr.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Hero.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/HeroAI_Auto.cs
@@ -153,7 +153,7 @@
            }
        }
        if (_hero.IsCollect())
        if (_hero.IsCollect() && m_UserClickSkillID == 0)
        {
            return;
        }
Fight/Actor/AI/HeroAI_D5_Hlyy.cs
@@ -46,7 +46,7 @@
        }
#if UNITY_EDITOR
        Debug.Log("客户端AI检测配置ID: " + _chkKey);
        Debug.Log(PlayerDatas.Instance.baseData.MapID + ": 客户端AI检测配置ID: " + _chkKey);
#endif
        foreach (var _key in _data.Keys)
        {
Fight/GameActor/GAMgr.cs
@@ -884,6 +884,25 @@
        return null;
    }
    public GActor GetCloserCollectNpc(Vector3 center)
    {
        List<GActor> _list = GetTypeList(E_ActorClassType.NpcCollect);
        if (_list == null || _list.Count == 0)
        {
            return null;
        }
        _list.Sort((GActor a1, GActor a2) =>
        {
            float _d1 = MathUtility.DistanceSqrtXZ(center, a1.Pos);
            float _d2 = MathUtility.DistanceSqrtXZ(center, a2.Pos);
            return _d1 < _d2 ? -1 : 1;
        });
        return _list[0];
    }
    public GActor GetCloserFightNpc(Vector3 center)
    {
        List<GActor> _list = GetTypeList(E_ActorClassType.NpcFightNorm);
Fight/GameActor/GA_Hero.cs
@@ -426,19 +426,27 @@
            if (State == E_ActorState.AutoRun
            || State == E_ActorState.CtrlRun)
            {
                var _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcCollect);
                var _collect = GAMgr.Instance.GetCloserCollectNpc(Pos) as GA_NpcCollect;
                if (_list != null && _list.Count > 0)
                if (_collect != null)
                {
                    _list.Sort((a1, a2) =>
                    var _dist = MathUtility.DistanceSqrtXZ(_collect.Pos, Pos);
                    if (_dist < 6)
                    {
                        float _d1 = MathUtility.DistanceSqrtXZ(a1.Pos, Pos);
                        float _d2 = MathUtility.DistanceSqrtXZ(a2.Pos, Pos);
                        return _d2 > _d1 ? -1 : 1;
                    });
                    var _collect = _list[0] as GA_NpcCollect;
                        if ((SelectTarget == null || SelectTarget is GA_NpcCollect) && SelectTarget != _collect)
                        {
                            SelectTarget = _collect;
                            _collect.Arrive();
                        }
                    }
                }
            }
            else if (State == E_ActorState.Idle)
            {
                if (SelectTarget == null)
                {
                    var _collect = GAMgr.Instance.GetCloserCollectNpc(Pos) as GA_NpcCollect;
                    if (_collect != null)
                    {
@@ -446,13 +454,9 @@
                        if (_dist < 6)
                        {
                            if ((SelectTarget == null || SelectTarget is GA_NpcCollect) && SelectTarget != _collect)
                            {
                                SelectTarget = _collect;
                                _collect.Arrive();
                            }
                            SelectTarget = _collect;
                            _collect.Arrive();
                        }
                    }
                }
            }
@@ -696,7 +700,6 @@
            && !IsStun()
            && !IsHurt()
            && !IsDaZuo()
            && !IsCollect()
            && State != E_ActorState.Roll
            && State != E_ActorState.Mocked
            && !s_MapSwitching
@@ -994,7 +997,7 @@
    private void UpdateAutoStartFight()
    {
        timeType += Time.deltaTime;
        if (timeType> Second && !isbool)
        if (timeType > Second && !isbool)
        {
            timeType = 0f;
            isbool = true;
@@ -1012,7 +1015,7 @@
        {
            return;
        }
        if (taskmodel.IsTaskMove())
        {
            if (Time.realtimeSinceStartup - m_CalculAutoFightTime > taskmodel.TaskAutoTime
@@ -1027,7 +1030,7 @@
                else
                {
                    SnxxzGame.Instance.StartCoroutine(Wait());
                }
                }
            }
        }
@@ -1084,7 +1087,7 @@
            isbool = false;
            taskmodel.TaskMove(taskmodel.currentMission);
        }
    }
    private bool IsDungeon()//判断是否在副本中
    {