public ResourceData(KITResourceVesselModule resourceManager, ICheatOptions cheatOptions)
        {
            ResourceManager = resourceManager;
            _myCheatOptions = cheatOptions;

            AvailableKITModules     = new List <IKITModule>(128);
            VariableSupplierModules = new SortedDictionary <ResourceName, List <IKITVariableSupplier> >();

            TappedOutMods = new HashSet <IKITVariableSupplier>(128);

            FixedUpdateCalledMods = new List <IKITModule>(128);
            ModsCurrentlyRunning  = new List <IKITModule>(32);

            AvailableResources = new Dictionary <ResourceName, double>();
            MaxResources       = new Dictionary <ResourceName, double>();

            FixedDeltaTimeValue = 0;
            OverheatMultiplier  = 1;

            ResourceProductionStats = new ResourceProduction[(int)(ResourceName.WasteHeat + 1)];

            ModProduction  = new Dictionary <ResourceName, Dictionary <IKITModule, PerPartResourceInformation> >();
            ModConsumption = new Dictionary <ResourceName, Dictionary <IKITModule, PerPartResourceInformation> >();
            for (var i = ResourceName.ElectricCharge; i <= ResourceName.WasteHeat; i++)
            {
                ModProduction[i]  = new Dictionary <IKITModule, PerPartResourceInformation>();
                ModConsumption[i] = new Dictionary <IKITModule, PerPartResourceInformation>();
            }

            _electricChargeKeyValue = new ResourceKeyValue(ResourceName.ElectricCharge, 0);
        }
Exemplo n.º 2
0
 // TODO replace with vessel built in, now that we target a newer api version
 private KITResourceVesselModule FindVesselModuleImplementing(Vessel v)
 {
     foreach (var t in v.vesselModules)
     {
         KITResourceVesselModule ret = t as KITResourceVesselModule;
         if (ret != null)
         {
             return(ret);
         }
     }
     return(null);
 }