示例#1
0
        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);
        }
示例#2
0
 public void InitBuildManagerModules(BuildOrderProcessorData buildOrder, BuildOrderProcessorConfiguration config)
 {
     foreach (var module in this)
     {
         module.InitBuildOrder(buildOrder, config);
     }
 }