/// <summary> /// finds the closest target and turns toward it /// fails if it cant find a target /// </summary> /// <param name="agent"></param> /// <param name="_range"></param> /// <param name="ArriveRadius"></param> /// <param name="_type"></param> public Node_AlignToTarget(UnityEngine.AI.NavMeshAgent agent, float _range, float ArriveRadius, AItype _type = AItype.none, float TurnSpeed = 3) { m_child1 = new Node_FindClosestTarget(_range, _type); m_child2 = new Node_Align(TurnSpeed); }
/// <summary> /// finds a target of specific type /// then it moves toward it until it is close enought /// fails if no units in detection range /// </summary> /// <param name="agent"></param> /// <param name="_range"></param> /// <param name="ArriveRadius"></param> /// <param name="_type"></param> public Node_Seek_Modular(IMoveToNode MoveNode, float _range, float ArriveRadius, AItype _type = AItype.none) { m_range = _range; m_child1 = MoveNode; m_child2 = new Node_FindClosestTarget(m_range, _type); m_child1.SetArriveRadius(ArriveRadius); }
/// <summary> /// finds a target of specific type /// then it moves toward it until it is close enought /// fails if no units in detection range /// </summary> /// <param name="agent"></param> /// <param name="_range"></param> /// <param name="ArriveRadius"></param> /// <param name="_type"></param> public Node_Seek(UnityEngine.AI.NavMeshAgent agent, float _range, float ArriveRadius, AItype _type = AItype.none) { m_range = _range; m_child1 = new Node_MoveTo_With_Avoid(agent); m_child2 = new Node_FindClosestTarget(m_range, _type); m_child1.SetArriveRadius(ArriveRadius); }