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); }
// 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); }