| | |
| | | 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)
|
| | | {
|
| | |
| | |
|
| | | if (_dist < 6)
|
| | | {
|
| | | if ((SelectTarget == null || SelectTarget is GA_NpcCollect) && SelectTarget != _collect)
|
| | | {
|
| | | SelectTarget = _collect;
|
| | | _collect.Arrive();
|
| | | }
|
| | | SelectTarget = _collect;
|
| | | _collect.Arrive();
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | && !IsStun()
|
| | | && !IsHurt()
|
| | | && !IsDaZuo()
|
| | | && !IsCollect()
|
| | | && State != E_ActorState.Roll
|
| | | && State != E_ActorState.Mocked
|
| | | && !s_MapSwitching
|
| | |
| | | private void UpdateAutoStartFight()
|
| | | {
|
| | | timeType += Time.deltaTime;
|
| | | if (timeType> Second && !isbool)
|
| | | if (timeType > Second && !isbool)
|
| | | {
|
| | | timeType = 0f;
|
| | | isbool = true;
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | if (taskmodel.IsTaskMove())
|
| | | {
|
| | | if (Time.realtimeSinceStartup - m_CalculAutoFightTime > taskmodel.TaskAutoTime
|
| | |
| | | else
|
| | | {
|
| | | SnxxzGame.Instance.StartCoroutine(Wait());
|
| | | } |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | isbool = false;
|
| | | taskmodel.TaskMove(taskmodel.currentMission);
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | | private bool IsDungeon()//判断是否在副本中
|
| | | {
|