浏览代码

Fixed issue with reaching the waypoint

/main
Amel Negra 4 年前
当前提交
1ce4260d
共有 2 个文件被更改,包括 38 次插入0 次删除
  1. 38
      UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/HasReachedWaypointSO.cs
  2. 0
      /UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/HasReachedWaypointSO.cs.meta

38
UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/HasReachedWaypointSO.cs


using UnityEngine;
using UnityEngine.AI;
using UOP1.StateMachine;
using UOP1.StateMachine.ScriptableObjects;
[CreateAssetMenu(fileName = "HasReachedRoamingDestination", menuName = "State Machines/Conditions/Has Reached Waypoint")]
public class HasReachedWaypointSO : StateConditionSO
{
protected override Condition CreateCondition() => new HasReachedWaypoint();
}
public class HasReachedWaypoint : Condition
{
private NavMeshAgent _agent;
public override void Awake(StateMachine stateMachine)
{
_agent = stateMachine.gameObject.GetComponent<NavMeshAgent>();
}
protected override bool Statement()
{
if (!_agent.pathPending)
{
//set the stop distance to 0.1 if it is set to 0 in the inspector
if (_agent.stoppingDistance == 0) _agent.stoppingDistance = 0.1f;
if (_agent.remainingDistance <= _agent.stoppingDistance)
{
if (!_agent.hasPath || _agent.velocity.sqrMagnitude == 0f)
{
return true;
}
}
}
return false;
}
}

/UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/HasReachedRoamingDestinationSO.cs.meta → /UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/HasReachedWaypointSO.cs.meta

正在加载...
取消
保存