少年修仙传客户端代码仓库
client_linchunjie
2019-03-30 db70e5230064c49bb39e8df7bf8b2c9b40134056
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2个文件已修改
65 ■■■■■ 已修改文件
Fight/Actor/AI/AI_Npc_200.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/SampleAI.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/AI_Npc_200.cs
@@ -4,18 +4,16 @@
{
    public AI_Npc_200(GA_NpcClientFightNorm owner, Vector3 bornPosition) : base(owner, bornPosition)
    {
        m_SleepTime = 1;
        m_SleepTime = .5f;
    }
    protected override void OnUpdate()
    public override void Update()
    {
        // ai休眠时间
        if (Time.realtimeSinceStartup - m_LastThinkTime < m_SleepTime)
        if (Time.realtimeSinceStartup - m_LastThinkTime > m_SleepTime)
        {
            return;
            _Thinking();
        }
        _Thinking();
        switch (m_AIStatus)
        {
@@ -49,6 +47,11 @@
    private void _Attack()
    {
        if (m_AIStatus == E_AIStatus.MoveToBornPos)
        {
            return;
        }
        GA_Hero _hero = PlayerDatas.Instance.hero;
        float _dis;
@@ -81,26 +84,39 @@
            case 0:
                var _skill = m_Owner.SkillMgr.Get(m_BaseAtkSkillID);
                _dis = _skill.skillInfo.config.AtkDist * .5f;
                if (m_Owner.posIndex != -1)
                {
                    HeroRoundGird.Instance.Release(m_Owner.posIndex);
                    m_Owner.posIndex = -1;
                }
                var _node = HeroRoundGird.Instance.Request(m_Owner.ServerInstID, m_Owner.Pos, _dis);
                if (_node != null)
                {
                    atkPos = HeroRoundGird.Instance.GetRealPos(_node);
                    m_Owner.posIndex = _node.index;
                }
                _dis = MathUtility.DistanceSqrtXZ(atkPos, m_Owner.Pos);
                if (_dis < 0.2f)
                var _compareDis = MathUtility.DistanceSqrtXZ(_hero.Pos, m_Owner.Pos);
                if (_compareDis < _dis * _dis)
                {
                    atkStep = 1;
                    m_Owner.StopPathFind();
                    m_Owner.Forward = MathUtility.ForwardXZ(_hero.Pos, m_Owner.Pos);
                }
                else
                {
                    atkStep = 2;
                    if (m_Owner.posIndex != -1)
                    {
                        HeroRoundGird.Instance.Release(m_Owner.posIndex);
                        m_Owner.posIndex = -1;
                    }
                    var _node = HeroRoundGird.Instance.Request(m_Owner.ServerInstID, m_Owner.Pos, _dis);
                    if (_node != null)
                    {
                        atkPos = HeroRoundGird.Instance.GetRealPos(_node);
                        m_Owner.posIndex = _node.index;
                    }
                    _dis = MathUtility.DistanceSqrtXZ(atkPos, m_Owner.Pos);
                    if (_dis < 0.2f)
                    {
                        atkStep = 1;
                        m_Owner.StopPathFind();
                        m_Owner.Forward = MathUtility.ForwardXZ(_hero.Pos, m_Owner.Pos);
                    }
                    else
                    {
                        atkStep = 2;
                    }
                }
                break;
            case 2:
                _dis = MathUtility.DistanceSqrtXZ(atkPos, m_Owner.Pos);
@@ -114,7 +130,6 @@
                }
                break;
            case 1:
                if (Time.realtimeSinceStartup - m_LastAttackTime < m_Owner.NpcConfig.AtkInterval * Constants.F_GAMMA)
                {
                    return;
@@ -135,6 +150,11 @@
    private Vector3 randomPos;
    private void _Patrol()
    {
        if (m_AIStatus == E_AIStatus.MoveToBornPos)
        {
            return;
        }
        switch (patrolStep)
        {
            case 0:
@@ -236,6 +256,7 @@
                        {
                            // 回到出生点
                            m_AIStatus = E_AIStatus.MoveToBornPos;
                            atkStep = 0;
                        }
                    }
                }
Fight/Actor/AI/SampleAI.cs
@@ -90,7 +90,7 @@
        SearchActor = true;
    }
    public void Update()
    public virtual void Update()
    {
        if (GA_Hero.s_MapSwitching)
        {