fix: target property is now used for setting a new pathfinding path. enemies do not stand still in combat.

This commit is contained in:
Chris
2025-12-03 15:52:23 -05:00
parent 20c8b2b8c3
commit b19421adfc
2 changed files with 14 additions and 6 deletions

View File

@@ -1,17 +1,24 @@
using NodeCanvas.Framework;
using ParadoxNotion.Design;
using Pathfinding;
using UnityEngine;
namespace Reset.Units {
[Category("Reset/Units")]
[Description("Set a new path towards a provided target")]
public class SetNewPathfindingPath : ActionTask<UnitPathfinding> {
public class SetNewPathfindingPath : ActionTask<UnitPathfinding>{
public BBParameter<GameObject> target;
//Use for initialization. This is called only once in the lifetime of the task.
//Return null if init was successfull. Return an error string otherwise
protected override string OnInit() {
if (target.isNoneOrNull) {
Debug.Log($"There is no target set for {agent.name} to pathfind to.", agent.gameObject);
return $"There is no target set for {agent.name} to pathfind to.";
}
return null;
}
@@ -19,7 +26,7 @@ namespace Reset.Units {
//Call EndAction() to mark the action as finished, either in success or failure.
//EndAction can be called from anywhere.
protected override void OnExecute() {
agent.seeker.StartPath(agent.transform.position, agent.GetComponent<IUnitTargetProvider>().UnitTarget.transform.position, OnPathComplete);
agent.seeker.StartPath(agent.transform.position, target.value.transform.position, OnPathComplete);
EndAction(true);
}