/// <summary> /// 正常寻路,寻路完成后进入Idle状态 /// </summary> /// <param name="self"></param> /// <param name="target"></param> public static void CommonNavigate(this UnitPathComponent self, Vector3 target) { if (!self.Entity.GetComponent <StackFsmComponent>().ChangeState <NavigateState>(StateTypes.Run, "Navigate", 1)) { return; } IdleState idleState = ReferencePool.Acquire <IdleState>(); idleState.SetData(StateTypes.Idle, "Idle", 1); self.MoveTodoSomething(target, self.Entity.GetComponent <StackFsmComponent>().GetCurrentFsmState(), idleState).Coroutine(); }