Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public void AddGoal(IAgentGoal goal)
 {
     _goals.Add(goal);
 }
Esempio n. 3
0
 public FallbackAgent(IPlanner planner, IAgentGoal fallback) : base(planner)
 {
     _fallback = fallback;
 }
Esempio n. 4
0
 protected virtual IAgentGoal OnNewGoalSelected(IAgentGoal goal)
 {
     _logger.Debug("New goal selected: `{0}`", goal.GoalName);
     return(goal);
 }
Esempio n. 5
0
            public AgentAction BindTo(IAgentGoal goal)
            {
                _validGoals.Add(goal);

                return(this);
            }