public GameStateViewModel([NotNull] States.GameState state, Genes.ActorChromosome brain) { _state = state ?? throw new ArgumentNullException(nameof(state)); foreach (var actor in _state.World.Actors.Where(a => a.IsActive)) { Actors.Add(new ActorViewModel(actor)); } var values = new Dictionary <WorldPos.WorldPos, double>(); for (int y = 1; y <= state.World.MaxY; y++) { for (int x = 1; x <= state.World.MaxX; x++) { var pos = new WorldPos.WorldPos(x, y); values[pos] = Genes.evaluateTile(brain, state.World, pos); } } var min = values.Values.Min(); var max = values.Values.Max(); foreach (var(pos, value) in values) { HeatMap.Add(new HeatMapViewModel(pos, value, min, max)); } }
public BrainInfoViewModel([NotNull] Genes.ActorChromosome brain) { Model = brain ?? throw new ArgumentNullException(nameof(brain)); }