예제 #1
0
        public static void Init()
        {
            var itemTypes = AppDomain.CurrentDomain.GetAssemblies()
                            .SelectMany(s => s.GetTypes())
                            .Where(p => typeof(IItem).IsAssignableFrom(p) && !p.IsInterface);

            foreach (var itemType in itemTypes)
            {
                IItem instance = (IItem)Activator.CreateInstance(itemType);
                Items.Add(itemType, instance);
            }


            var buildingTypes = AppDomain.CurrentDomain.GetAssemblies()
                                .SelectMany(s => s.GetTypes())
                                .Where(p => typeof(IIndustryBuilding).IsAssignableFrom(p) && !p.IsInterface);

            foreach (var buildingType in buildingTypes)
            {
                IIndustryBuilding instance = (IIndustryBuilding)Activator.CreateInstance(buildingType);
                Buildings.Add(buildingType, instance);
            }
        }
예제 #2
0
 public IndustryNode(Type productType)
 {
     Product     = Statics.Items[productType];
     ItemsNeeded = Product.GetRecipe();
     Building    = Statics.Buildings[Product.GetIndustryBuildingType()];
 }