private List <BuildOrderItemInfo> GenerateBuildItems(BuildOrderProcessorData data, BuildOrderProcessorConfiguration config) { var result = new List <BuildOrderItemInfo>(); var items = data.GetBuildOrderItemsClone(); foreach (var item in items) { var itemData = config.BuildItemsDictionary.GetItem(item.ItemName); var infoItem = new BuildOrderItemInfo { Limit = item.StatisticsProvider.CurrentSupply, Name = itemData.Name, DisplayName = itemData.DisplayName, StartedSecond = item.SecondInTimeLine, FinishedSecond = item.FinishedSecond, MaxLimit = item.StatisticsProvider.MaximumSupply, ItemType = itemData.ItemType.ToString() }; foreach (var stat in item.StatisticsProvider.CloneItemsCountDictionary()) { infoItem.AdditionalValues.Add(stat.Key, stat.Value); } result.Add(infoItem); } return(result); }
public void InitBuildManagerModules(BuildOrderProcessorData buildOrder, BuildOrderProcessorConfiguration config) { foreach (var module in this) { module.InitBuildOrder(buildOrder, config); } }