// Evaluates and averages all the score results after they're transformed public EvaluatedActionWithScore Evaluate(Agent agent, World world) { float sum = 0; List <EvaluatedScorerWithScore> evaledScorers = new List <EvaluatedScorerWithScore>(); foreach (ScorerAndTransformer scorer in scorers) { EvaluatedScorerWithScore scorerResult = new EvaluatedScorerWithScore(); scorerResult.scorer = scorer; scorerResult.score = scorer.EvaluateAndTransform(agent, world); sum += scorerResult.score; evaledScorers.Add(scorerResult); } EvaluatedActionWithScore result = new EvaluatedActionWithScore(); result.action = action; result.score = sum;// / scorers.Count; result.scorers = evaledScorers.ToArray(); return(result); }
public void Setup(EvaluatedScorerWithScore scorer) { scorerName.text = scorer.scorer.scorer.GetType().Name; score.text = scorer.score.ToString(); }