public virtual void WarnActionFailure(IReGoapAction thisAction) { if (thisAction != currentActionState.Action) { ReGoapLogger.LogWarning(string.Format("[GoapAgent] Action {0} warned for failure but is not current action.", thisAction)); return; } if (BlackListGoalOnFailure) { goalBlacklist[currentGoal] = Time.time + currentGoal.GetErrorDelay(); } CalculateNewGoal(true); }
public virtual void WarnActionFailure(IReGoapAction <T, W> thisAction) { if (currentActionState != null && thisAction != currentActionState.Action) { GodotBase.GD.PrintErr(string.Format("[GoapAgent] Action {0} warned for failure but is not current action.", thisAction)); return; } if (BlackListGoalOnFailure) { goalBlacklist[currentGoal] = GodotBase.OS.GetTicksMsec() + currentGoal.GetErrorDelay(); } this.currentGoal = null; // CalculateNewGoal(true); }