using System.Collections; using System.Collections.Generic; using UnityEngine; namespace ShotSimulator.Train.Info { public class TrainResultData { public Dictionary metricsDic = new Dictionary(); public TrainResultData(List info) { InitTrainResultData(info); } private void InitTrainResultData(List metricsInfo) { metricsDic.Clear(); for(int i = 0; i < metricsInfo.Count; i++) { if (!metricsDic.ContainsKey(metricsInfo[i].Type)) { MetricsData data = new MetricsData() { typeNameID = TrainTaskLoader.GetInstance().m_MetricsTypeConfig.GetMetricsTypeNameID(metricsInfo[i].Type), valueType = TrainTaskLoader.GetInstance().m_MetricsTypeConfig.GetValueTypeByMetricsType(metricsInfo[i].Type), StageValues = metricsInfo[i].StageValues }; metricsDic.Add(metricsInfo[i].Type, data); } } } public bool SetMetricsDataValue(MetricsType type, double value) { if (metricsDic.TryGetValue(type, out var data)) { data.value = value; return true; } else { return false; } } public MetricsData GetMetrics(MetricsType type) { if(metricsDic.TryGetValue(type, out var data)) { return data; } else { return null; } } public void ResetMetricsDataValue() { foreach(var data in metricsDic.Values) { data.value = 0; } } } }