private IAgentGoal FindBestRatedGoal(DomainState currentState) { _logger.Debug("Searching goal for next plan, was `{0}`.", CurrentGoal?.GoalName ?? "None"); var currentMax = float.MinValue; IAgentGoal bestGoal = null; foreach (var goal in Goals) { var goalScore = goal.GetGoalWeight(currentState); if (!(goalScore > currentMax)) { continue; } currentMax = goalScore; bestGoal = goal; } return(bestGoal); }
public void AddGoal(IAgentGoal goal) { _goals.Add(goal); }
public FallbackAgent(IPlanner planner, IAgentGoal fallback) : base(planner) { _fallback = fallback; }
protected virtual IAgentGoal OnNewGoalSelected(IAgentGoal goal) { _logger.Debug("New goal selected: `{0}`", goal.GoalName); return(goal); }
public AgentAction BindTo(IAgentGoal goal) { _validGoals.Add(goal); return(this); }