using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; public class ScoreHistogramData { int _columnCount; int _historyDepth; public List> Items; public ScoreHistogramData (int columnCount, int historyDepth) { _columnCount = columnCount; _historyDepth = historyDepth; ReCreateScoreHistogramData(); } public void ReCreateScoreHistogramData () { Items = new List>(); for (int i = 0; i < _columnCount; i++) { // var item = Enumerable.Range(0,_historyDepth).Select(x=>default(T)).ToList(); var item = new List(); Items.Add(item); } } public void SetItem(int column, double value) { Items[column].Add(value); if (Items[column].Count > _historyDepth) Items[column].RemoveAt(0); } public double GetAverage(int column) { double average = Items[column].Average(); return average; } public List GetAverages() { List averages = Items.Select(x=>x.Count > 0 ? x.Average() : 0).ToList(); return averages; } }