2917 【1.5.100】选中怪物,反向移动同时点击攻击按钮 角色会卡住
| | |
| | | }
|
| | |
|
| | | // 移动至目标
|
| | | _hero.MoveToTarget(_target, _compareDist);
|
| | | _hero.MoveToTarget(_target, _compareDist, true);
|
| | |
|
| | | // 判断是否需要冲锋
|
| | | if (_hero.IsNeedRush(_currentDistSqrt))
|
| | |
| | |
|
| | | m_IsMovingToTarget = true;
|
| | |
|
| | | if (!_hero.IsRushing && UserInputHandler.isTouched)
|
| | | {
|
| | | m_LimitOnce = true;
|
| | | _hero.StopPathFind();
|
| | | }
|
| | |
|
| | | return;
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | if (m_Hero.aiHandler.currentType == E_HeroAIType.None)
|
| | | if (m_Hero.aiHandler.currentType == E_HeroAIType.None
|
| | | || m_Hero.aiHandler.currentType == E_HeroAIType.KillUntilDie)
|
| | | {
|
| | | byte _type = (byte)E_HeroAIType.KillUntilDie;
|
| | | KillUntilDieData _data = m_Hero.aiHandler.aiData[_type] as KillUntilDieData;
|
| | |
| | | _hero.Run();
|
| | |
|
| | | _hero.State = E_ActorState.CtrlRun;
|
| | | _hero.Behaviour.StopKillUntilDieAI();
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | GA_Hero _hero = PlayerDatas.Instance.hero;
|
| | |
|
| | | if ((StatusMgr.IsValid()
|
| | | && StatusMgr.Instance.CanMove(PlayerDatas.Instance.PlayerId)))
|
| | | if (_hero != null)
|
| | | {
|
| | | if (_hero != null
|
| | | && _hero.State == E_ActorState.AutoRun)
|
| | | _hero.Behaviour.StopKillUntilDieAI();
|
| | |
|
| | | if ((StatusMgr.IsValid()
|
| | | && StatusMgr.Instance.CanMove(PlayerDatas.Instance.PlayerId)))
|
| | | {
|
| | | _hero.StopPathFind();
|
| | | if (_hero.State == E_ActorState.AutoRun)
|
| | | {
|
| | | _hero.StopPathFind();
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | return m_Path.corners;
|
| | | }
|
| | |
|
| | | public void MoveToTarget(GActor target, float keepDist = 0)
|
| | | public void MoveToTarget(GActor target, float keepDist = 0, bool force = false)
|
| | | {
|
| | | if (PathFindStatus == E_PathFindStatus.Moving
|
| | | && m_SearchType == E_SearchType.Dynamic
|
| | | && TargetActor == target)
|
| | | && TargetActor == target
|
| | | && !force)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
| | |
|
| | | public void StopPathFind()
|
| | | {
|
| | | PathFindStatus = E_PathFindStatus.Stop;
|
| | |
|
| | | if (State != E_ActorState.AutoRun)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | PathFindStatus = E_PathFindStatus.Stop;
|
| | | TargetActor = null;
|
| | | DestPos = Vector3.zero;
|
| | | m_CornerIndex = 0;
|
| | |
|
| | |
|
| | | if (NextAction != GAStaticDefine.Act_Dead
|
| | | && NextAction != 200
|