Class ResourceContainer
  
  
  
    - Namespace
 - KSP.Sim.ResourceSystem
 
  - Assembly
 - Assembly-CSharp.dll
 
   
  
  
  
    public class ResourceContainer : IResourceContainer, IResourceContainerReadOnly, IReadOnlyCollection<ResourceDefinitionID>, IEnumerable<ResourceDefinitionID>, IEnumerable, IEquatable<ResourceContainer>
   
  
    - Inheritance
 
    - 
      
      
ResourceContainer
     
  
  
    - Implements
 
    - 
      
      
      
      
      
      
    
 
  
  
    - Inherited Members
 
    - 
    
    
    
    
    
    
    
  
 
  
    - Extension Methods
 
    - 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
      Enumerable.GroupBy<TSource, TKey, TElement, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)
   
  
      Enumerable.GroupBy<TSource, TKey, TElement, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)
   
  
      Enumerable.GroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>)
   
  
      Enumerable.GroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)
   
  
  
  
      Enumerable.Join<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>)
   
  
      Enumerable.Join<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>, IEqualityComparer<TKey>)
   
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
   
  Constructors
  
  
  ResourceContainer()
  
  
  
  
  
    public ResourceContainer()
   
  
  
  ResourceContainer(params ContainedResourceData[])
  
  
  
  
  
    public ResourceContainer(params ContainedResourceData[] containedResource)
   
  Parameters
  
    containedResource ContainedResourceData[] 
    
  
  
  
  ResourceContainer(ResourceContainer)
  
  
  
  
  
    public ResourceContainer(ResourceContainer container)
   
  Parameters
  
    container ResourceContainer 
    
  
  
  
  ResourceContainer(ResourceContainer, bool)
  
  
  
  
  
    public ResourceContainer(ResourceContainer container, bool freezeDefinitions)
   
  Parameters
  
    container ResourceContainer 
    
    freezeDefinitions bool 
    
  
  
  
  ResourceContainer(ResourceDefinitionDatabase, params ContainedResourceDefinition[])
  
  
  
  
  
    public ResourceContainer(ResourceDefinitionDatabase database, params ContainedResourceDefinition[] containedResources)
   
  Parameters
  
    database ResourceDefinitionDatabase 
    
    containedResources ContainedResourceDefinition[] 
    
  
  
  
  ResourceContainer(ResourceDefinitionDatabase, bool, params ContainedResourceDefinition[])
  
  
  
  
  
    public ResourceContainer(ResourceDefinitionDatabase database, bool freezeDefinitions, params ContainedResourceDefinition[] containedResources)
   
  Parameters
  
    database ResourceDefinitionDatabase 
    
    freezeDefinitions bool 
    
    containedResources ContainedResourceDefinition[] 
    
  
  
  
  ResourceContainer(ResourceDefinitionDatabase, IEnumerable<ContainedResourceDefinition>)
  
  
  
  
  
    public ResourceContainer(ResourceDefinitionDatabase database, IEnumerable<ContainedResourceDefinition> containedResources)
   
  Parameters
  
    database ResourceDefinitionDatabase 
    
    containedResources IEnumerable<ContainedResourceDefinition> 
    
  
  
  
  ResourceContainer(IEnumerable<ContainedResourceData>)
  
  
  
  
  
    public ResourceContainer(IEnumerable<ContainedResourceData> containedResource)
   
  Parameters
  
    containedResource IEnumerable<ContainedResourceData> 
    
  
  Properties
  
  
  AreDefinitionsFrozen
  
  
  
  
  
    public bool AreDefinitionsFrozen { get; }
   
  Property Value
  
    - bool
 
    
  
  Methods
  
  
  AddResourceUnits(ResourceDefinitionID, double)
  
  
  
  
  
    public double AddResourceUnits(ResourceDefinitionID resourceID, double totalUnitsToAdd)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    totalUnitsToAdd double 
    
  
  Returns
  
    - double
 
    
  
  
  
  AddResourceUnits(ResourceDefinitionID, double, double)
  
  
  
  
  
    public double AddResourceUnits(ResourceDefinitionID resourceID, double unitsToAddPerSecond, double timeInSeconds)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    unitsToAddPerSecond double 
    
    timeInSeconds double 
    
  
  Returns
  
    - double
 
    
  
  
  
  ClearContainedDefinition()
  
  
  
  
  
    public void ClearContainedDefinition()
   
  
  
  ConsumePreProcessedResourceUnits(ResourceDefinitionID, double)
  
  
  
  
  
    public double ConsumePreProcessedResourceUnits(ResourceDefinitionID resourceID, double totalUnitsToConsume)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    totalUnitsToConsume double 
    
  
  Returns
  
    - double
 
    
  
  
  
  CreateFillDataFromDefinition(ContainedResourceDefinition, ResourceDefinitionDatabase)
  
  
  
  
  
    public static List<ContainedResourceData> CreateFillDataFromDefinition(ContainedResourceDefinition definition, ResourceDefinitionDatabase database)
   
  Parameters
  
    definition ContainedResourceDefinition 
    
    database ResourceDefinitionDatabase 
    
  
  Returns
  
    - List<ContainedResourceData>
 
    
  
  
  
  CreateFillDataFromDefinition(ContainedResourceDefinition, ResourceDefinitionDatabase, ref List<ContainedResourceData>, bool)
  
  
  
  
  
    public static int CreateFillDataFromDefinition(ContainedResourceDefinition definition, ResourceDefinitionDatabase database, ref List<ContainedResourceData> containerData, bool clearList = true)
   
  Parameters
  
    definition ContainedResourceDefinition 
    
    database ResourceDefinitionDatabase 
    
    containerData List<ContainedResourceData> 
    
    clearList bool 
    
  
  Returns
  
    - int
 
    
  
  
  
  CreateFillDataFromDefinition(IEnumerable<ContainedResourceDefinition>, ResourceDefinitionDatabase)
  
  
  
  
  
    public static List<ContainedResourceData> CreateFillDataFromDefinition(IEnumerable<ContainedResourceDefinition> fillDefinitions, ResourceDefinitionDatabase database)
   
  Parameters
  
    fillDefinitions IEnumerable<ContainedResourceDefinition> 
    
    database ResourceDefinitionDatabase 
    
  
  Returns
  
    - List<ContainedResourceData>
 
    
  
  
  
  DumpAllResources()
  
  
  
  
  
    public void DumpAllResources()
   
  
  
  DumpPreProcessedResource(ResourceDefinitionID)
  
  
  
  
  
    public double DumpPreProcessedResource(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  DumpResource(ResourceDefinitionID)
  
  
  
  
  
    public double DumpResource(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  Equals(ResourceContainer)
  
  
  
  
  
    public bool Equals(ResourceContainer other)
   
  Parameters
  
    other ResourceContainer 
    
  
  Returns
  
    - bool
 
    
  
  
  
  FillAllResourcesToCapacity()
  
  
  
  
  
    public void FillAllResourcesToCapacity()
   
  
  
  FillPreProcessedResourceToCapacity(ResourceDefinitionID)
  
  
  
  
  
    public double FillPreProcessedResourceToCapacity(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  FillResourceToCapacity(ResourceDefinitionID)
  
  
  
  
  
    public double FillResourceToCapacity(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  FreezeDefinitions()
  
  
  
  
  
    public void FreezeDefinitions()
   
  
  
  GetAllNonStageableResourcesContained(ref ICollection<ResourceDefinitionID>, bool)
  
  
  
  
  
    public void GetAllNonStageableResourcesContained(ref ICollection<ResourceDefinitionID> containedResources, bool clear = true)
   
  Parameters
  
    containedResources ICollection<ResourceDefinitionID> 
    
    clear bool 
    
  
  
  
  GetAllNonStageableResourcesContainedData()
  
  
  
  
  
    public IEnumerable<ContainedResourceData> GetAllNonStageableResourcesContainedData()
   
  Returns
  
    - IEnumerable<ContainedResourceData>
 
    
  
  
  
  GetAllResourcesContained(ref ICollection<ResourceDefinitionID>, bool)
  
  
  
  
  
    public void GetAllResourcesContained(ref ICollection<ResourceDefinitionID> containedResources, bool clear = true)
   
  Parameters
  
    containedResources ICollection<ResourceDefinitionID> 
    
    clear bool 
    
  
  
  
  GetAllResourcesContainedData()
  
  
  
  
  
    public IEnumerable<ContainedResourceData> GetAllResourcesContainedData()
   
  Returns
  
    - IEnumerable<ContainedResourceData>
 
    
  
  
  
  GetEnumerator()
  
  
  
  
  
    public IEnumerator<ResourceDefinitionID> GetEnumerator()
   
  Returns
  
    - IEnumerator<ResourceDefinitionID>
 
    
  
  
  
  GetHashCode(ResourceContainer)
  
  
  
  
  
    public int GetHashCode(ResourceContainer obj)
   
  Parameters
  
    obj ResourceContainer 
    
  
  Returns
  
    - int
 
    
  
  
  
  GetNonStageableResourceContainedData(ResourceDefinitionID)
  
  
  
  
  
    public ContainedResourceData GetNonStageableResourceContainedData(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - ContainedResourceData
 
    
  
  
  
  GetNonStageableResourceStoredUnits(ResourceDefinitionID)
  
  
  
  
  
    public double GetNonStageableResourceStoredUnits(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetNonstageableResourceCapacityUnits(ResourceDefinitionID)
  
  
  
  
  
    public double GetNonstageableResourceCapacityUnits(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourceCapacityUnits(ResourceDefinitionID)
  
  
  
  
  
    public double GetResourceCapacityUnits(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourceContainedData(ResourceDefinitionID)
  
  
  
  
  
    public ContainedResourceData GetResourceContainedData(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - ContainedResourceData
 
    
  
  
  
  GetResourceEmptyUnits(ResourceDefinitionID)
  
  
  
  
  
    public double GetResourceEmptyUnits(ResourceDefinitionID resourceId)
   
  Parameters
  
    resourceId ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourceEmptyUnits(ResourceDefinitionID, bool)
  
  
  
  
  
    public double GetResourceEmptyUnits(ResourceDefinitionID resourceId, bool includePreProcessed)
   
  Parameters
  
    resourceId ResourceDefinitionID 
    
    includePreProcessed bool 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourceFillRatio(ResourceDefinitionID)
  
  
  
  
  
    public double GetResourceFillRatio(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourcePreProcessedUnits(ResourceDefinitionID)
  
  
  
  
  
    public double GetResourcePreProcessedUnits(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourceStoredMass(ResourceDefinitionDatabase, ResourceDefinitionID)
  
  
  
  
  
    public double GetResourceStoredMass(ResourceDefinitionDatabase database, ResourceDefinitionID resourceID)
   
  Parameters
  
    database ResourceDefinitionDatabase 
    
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourceStoredMass(ResourceDefinitionID)
  
  
  
  
  
    public double GetResourceStoredMass(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourceStoredUnits(ResourceDefinitionID)
  
  
  
  
  
    public double GetResourceStoredUnits(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourceUnitThermalMass(ResourceDefinitionDatabase, ResourceDefinitionID)
  
  
  
  
  
    public double GetResourceUnitThermalMass(ResourceDefinitionDatabase database, ResourceDefinitionID resourceID)
   
  Parameters
  
    database ResourceDefinitionDatabase 
    
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetResourcesContainedCount()
  
  
  
  
  
    public int GetResourcesContainedCount()
   
  Returns
  
    - int
 
    
  
  
  
  GetStoredResourceThermalMass(ResourceDefinitionID)
  
  
  
  
  
    public double GetStoredResourceThermalMass(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetStoredResourcesTotalMass()
  
  
  
  
  
    public double GetStoredResourcesTotalMass()
   
  Returns
  
    - double
 
    
  
  
  
  GetStoredResourcesTotalMass(ResourceDefinitionDatabase)
  
  
  
  
  
    public double GetStoredResourcesTotalMass(ResourceDefinitionDatabase database)
   
  Parameters
  
    database ResourceDefinitionDatabase 
    
  
  Returns
  
    - double
 
    
  
  
  
  GetStoredResourcesTotalThermalMass()
  
  
  
  
  
    public double GetStoredResourcesTotalThermalMass()
   
  Returns
  
    - double
 
    
  
  
  
  GetStoredResourcesTotalThermalMass(ResourceDefinitionDatabase)
  
  
  
  
  
    public double GetStoredResourcesTotalThermalMass(ResourceDefinitionDatabase database)
   
  Parameters
  
    database ResourceDefinitionDatabase 
    
  
  Returns
  
    - double
 
    
  
  
  
  IsResourceContained(ResourceDefinitionID)
  
  
  
  
  
    public bool IsResourceContained(ResourceDefinitionID resourceID)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
  
  Returns
  
    - bool
 
    
  
  
  
  OverrideContainedCapacity(ResourceDefinitionID, double, bool, bool)
  
  
  
  
  
    public bool OverrideContainedCapacity(ResourceDefinitionID resourceID, double capacityUnits, bool nonStageable, bool fillToCapacity = false)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    capacityUnits double 
    
    nonStageable bool 
    
    fillToCapacity bool 
    
  
  Returns
  
    - bool
 
    
  
  
  
  OverrideContainedData(ContainedResourceData)
  
  
  
  
  
    public bool OverrideContainedData(ContainedResourceData data)
   
  Parameters
  
    data ContainedResourceData 
    
  
  Returns
  
    - bool
 
    
  
  
  
  OverrideContainedData(ResourceDefinitionID, double, double, bool)
  
  
  
  
  
    public bool OverrideContainedData(ResourceDefinitionID resourceID, double capacityUnits, double storedUnits, bool nonStageable)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    capacityUnits double 
    
    storedUnits double 
    
    nonStageable bool 
    
  
  Returns
  
    - bool
 
    
  
  
  
  RemoveResourceUnits(ResourceDefinitionID, double)
  
  
  
  
  
    public double RemoveResourceUnits(ResourceDefinitionID resourceID, double totalUnitsToRemove)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    totalUnitsToRemove double 
    
  
  Returns
  
    - double
 
    
  
  
  
  RemoveResourceUnits(ResourceDefinitionID, double, double)
  
  
  
  
  
    public double RemoveResourceUnits(ResourceDefinitionID resourceID, double unitsToRemovePerSecond, double timeInSeconds)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    unitsToRemovePerSecond double 
    
    timeInSeconds double 
    
  
  Returns
  
    - double
 
    
  
  
  
  ResetPreProcessedResources()
  
  
  
  
  
    public void ResetPreProcessedResources()
   
  
  
  SetContainedData(params ContainedResourceData[])
  
  
  
  
  
    public void SetContainedData(params ContainedResourceData[] fillData)
   
  Parameters
  
    fillData ContainedResourceData[] 
    
  
  
  
  SetContainedData(IEnumerable<ContainedResourceData>)
  
  
  
  
  
    public void SetContainedData(IEnumerable<ContainedResourceData> fillData)
   
  Parameters
  
    fillData IEnumerable<ContainedResourceData> 
    
  
  
  
  SetContainedDefinition(ResourceDefinitionDatabase, params ContainedResourceDefinition[])
  
  
  
  
  
    public void SetContainedDefinition(ResourceDefinitionDatabase definitionDatabase, params ContainedResourceDefinition[] definition)
   
  Parameters
  
    definitionDatabase ResourceDefinitionDatabase 
    
    definition ContainedResourceDefinition[] 
    
  
  
  
  SetContainedDefinition(ResourceDefinitionDatabase, IEnumerable<ContainedResourceDefinition>)
  
  
  
  
  
    public void SetContainedDefinition(ResourceDefinitionDatabase definitionDatabase, IEnumerable<ContainedResourceDefinition> definitions)
   
  Parameters
  
    definitionDatabase ResourceDefinitionDatabase 
    
    definitions IEnumerable<ContainedResourceDefinition> 
    
  
  
  
  SetResourceFillRatio(ResourceDefinitionID, double)
  
  
  
  
  
    public double SetResourceFillRatio(ResourceDefinitionID resourceID, double percentOfCapacity)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    percentOfCapacity double 
    
  
  Returns
  
    - double
 
    
  
  
  
  SetResourceStoredUnits(ResourceDefinitionID, double)
  
  
  
  
  
    public double SetResourceStoredUnits(ResourceDefinitionID resourceID, double unitsToSet)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    unitsToSet double 
    
  
  Returns
  
    - double
 
    
  
  
  
  StorePreProcessedResourceUnits(ResourceDefinitionID, double)
  
  
  
  
  
    public double StorePreProcessedResourceUnits(ResourceDefinitionID resourceID, double totalUnitsToStore)
   
  Parameters
  
    resourceID ResourceDefinitionID 
    
    totalUnitsToStore double 
    
  
  Returns
  
    - double