using cfg; using System.Collections.Generic; public class StepMM { public StepMM(StepMmt stepMmt) { ID = stepMmt.ID; StartTime = stepMmt.StartTime; PlayTime = stepMmt.PlayTime; BuildRequired = stepMmt.BuildRequired; FixRequired = stepMmt.FixRequired; } public StepMM(ConstructionStep constructionStep) { ID = constructionStep.ID; StartTime = constructionStep.StartTime; PlayTime = constructionStep.PlayTime; BuildRequired = constructionStep.BuildRequired; FixRequired = constructionStep.FixRequired; } public int ID { get; private set; } /// /// timeline中时间 /// public float StartTime { get; private set; } /// /// 动画播放时间 /// public float PlayTime { get; private set; } /// /// 建造所需钞票 /// public int BuildRequired { get; private set; } /// /// 修复所需钞票 /// public int FixRequired { get; private set; } } public class TBStepMM { private readonly Dictionary _dataMap; private readonly List _dataList; public TBStepMM(List stepMmts) { _dataMap = new Dictionary(); _dataList = new List(); foreach (var stepMmt in stepMmts) { var stepMM = new StepMM(stepMmt); _dataList.Add(stepMM); _dataMap.Add(stepMM.ID, stepMM); } } public TBStepMM(List constructionSteps) { _dataMap = new Dictionary(); _dataList = new List(); foreach (var constructionStep in constructionSteps) { var stepMM = new StepMM(constructionStep); _dataList.Add(stepMM); _dataMap.Add(stepMM.ID, stepMM); } } public Dictionary DataMap => _dataMap; public List DataList => _dataList; public StepMM GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : null; }