Exemplo n.º 1
0
        private static bool TryConvertResource(string key, float amount, out IndustryResource resource)
        {
            if (ResourceClass.TryParse(key, out ResourceClass rClass))
            {
                resource = new IndustryResource(rClass, amount);
                return(true);
            }

            resource = null;
            DVIndustry.ModEntry.Logger.Critical($"Unrecognized resource class \"{key}\"");
            return(false);
        }
Exemplo n.º 2
0
        //{
        //    { AgProducts.ID, AgProducts },
        //    { FreshFood.ID, FreshFood },
        //    { Steel.ID, Steel },
        //    { Lumber.ID, Lumber },
        //    { NewVehicles.ID, NewVehicles },
        //    { Electronics.ID, Electronics },
        //    { Tooling.ID, Tooling },
        //    { Clothing.ID, Clothing },
        //    { ConsumerGoods.ID, ConsumerGoods }
        //};

        static ResourceClass()
        {
            // get all public ResourceClass Fields
            var builtinClassFields = typeof(ResourceClass).GetFields(BindingFlags.Public | BindingFlags.Static)
                                     .Where(f => f.FieldType.Equals(typeof(ResourceClass)));

            foreach (FieldInfo field in builtinClassFields)
            {
                ResourceClass resource = field.GetValue(null) as ResourceClass;
                BuiltinClasses[resource.ID] = resource;
            }
        }
Exemplo n.º 3
0
 public static ResourceClass SingleCargoClass(CargoType singleType)
 {
     if (singleResourceClassMap.TryGetValue(singleType, out var resource))
     {
         return(resource);
     }
     else
     {
         resource = new ResourceClass(singleType);
         singleResourceClassMap[singleType] = resource;
         return(resource);
     }
 }
Exemplo n.º 4
0
 public static bool TryParse(string id, out ResourceClass resource)
 {
     if (BuiltinClasses.TryGetValue(id, out resource))
     {
         return(true);
     }
     else if (Enum.TryParse(id, out CargoType cargo))
     {
         resource = SingleCargoClass(cargo);
         return(true);
     }
     return(false);
 }
Exemplo n.º 5
0
 public IndustryResource(CargoType singleType, float amount)
     : this(ResourceClass.SingleCargoClass(singleType), amount)
 {
 }
Exemplo n.º 6
0
 public IndustryResource(ResourceClass accepted, float amount)
 {
     AcceptedItems = accepted;
     Amount        = amount;
 }