Class MyResourceSinkComponent
  
  
  
  
    Inheritance
    System.Object
    
    
    
    MyResourceSinkComponent
   
  
  
  Assembly: Sandbox.Game.dll
  Syntax
  
    [MyComponentType]
[MyComponentBuilder]
public class MyResourceSinkComponent : MyResourceSinkComponentBase, IMyEntityComponentBase, IMyComponentBase, IMyResourceSinkComponent
   
  Constructors
  
  
  
  
  MyResourceSinkComponent()
  
  
  Declaration
  
    public MyResourceSinkComponent()
   
  
  
  
  MyResourceSinkComponent(Int32)
  
  
  Declaration
  
    public MyResourceSinkComponent(int initialAllocationSize = 1)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Int32 | initialAllocationSize |  | 
    
  
  Fields
  
  
  
  ParentBlock
  
  
  Declaration
  
    public MyCubeBlock ParentBlock
   
  Field Value
  
  Properties
  
  
  
  
  AcceptedResources
  
  
  Declaration
  
    public override ListReader<MyDefinitionId> AcceptedResources { get; }
   
  Property Value
  
  Overrides
  
  
  
  
  ComponentTypeDebugString
  
  
  Declaration
  
    public override string ComponentTypeDebugString { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.String |  | 
    
  
  Overrides
  
  
  
  
  
  
  
  Declaration
  
    public float CurrentInput { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  
  
  
  Entity
  
  
  Declaration
  
    public MyEntity Entity { get; }
   
  Property Value
  
  
  
  
  Grid
  Grid of assigned entity. If no entity is assigned gets manualy set grid
Declaration
  
    public MyCubeGrid Grid { get; set; }
   
  Property Value
  
  
  
  
  IsPowered
  
  
  Declaration
  
    public bool IsPowered { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  
  
  
  
  
  
  Declaration
  
    public float MaxRequiredInput { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  
  
  
  
  
  
  Declaration
  
    public float RequiredInput { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  
  
  
  SuppliedRatio
  
  
  Declaration
  
    public float SuppliedRatio { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  
  
  
  TemporaryConnectedEntity
  
  
  Declaration
  
    public override IMyEntity TemporaryConnectedEntity { get; set; }
   
  Property Value
  
  Overrides
  
  Methods
  
  
  
  
  
  
  
  Declaration
  
    public void add_CurrentInputChanged(MyCurrentResourceInputChangedDelegate value)
   
  Parameters
  
  
  
  
  
  
  
  Declaration
  
    public void add_RequiredInputChanged(MyRequiredResourceChangeDelegate value)
   
  Parameters
  
  
  
  
  add_ResourceAvailable(MyResourceAvailableDelegate)
  
  
  Declaration
  
    public void add_ResourceAvailable(MyResourceAvailableDelegate value)
   
  Parameters
  
  
  
  
  AddType(ref MyResourceSinkInfo)
  
  
  Declaration
  
    public void AddType(ref MyResourceSinkInfo sinkData)
   
  Parameters
  
  
  
  
  ClearAllData()
  
  
  Declaration
  
    public void ClearAllData()
   
  
  
  
  
  
  
  Declaration
  
    public override float CurrentInputByType(MyDefinitionId resourceTypeId)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  Overrides
  
  
  
  
  DebugDraw(Matrix)
  
  
  Declaration
  
    public void DebugDraw(Matrix worldMatrix)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Matrix | worldMatrix |  | 
    
  
  
  
  
  ForceCallNextIsPoweredChanged()
  
  
  Declaration
  
    public void ForceCallNextIsPoweredChanged()
   
  
  
  
  GetTypeIndex(MyDefinitionId)
  
  
  Declaration
  
    protected int GetTypeIndex(MyDefinitionId resourceTypeId)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  
  
  
  Init(MyStringHash, List<MyResourceSinkInfo>, MyCubeBlock)
  
  
  Declaration
  
    public void Init(MyStringHash group, List<MyResourceSinkInfo> sinkData, MyCubeBlock parent)
   
  Parameters
  
  
  
  
  Init(MyStringHash, Single, Func<Single>, MyCubeBlock)
  
  
  Declaration
  
    public void Init(MyStringHash group, float maxRequiredInput, Func<float> requiredInputFunc, MyCubeBlock parent)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | MyStringHash | group |  | 
      
        | System.Single | maxRequiredInput |  | 
      
        | System.Func<System.Single> | requiredInputFunc |  | 
      
        | MyCubeBlock | parent |  | 
    
  
  
  
  
  Init(MyStringHash, MyResourceSinkInfo)
  
  
  Declaration
  
    public void Init(MyStringHash group, MyResourceSinkInfo sinkData)
   
  Parameters
  
  
  
  
  Init(MyStringHash, MyResourceSinkInfo, MyCubeBlock)
  
  
  Declaration
  
    public void Init(MyStringHash group, MyResourceSinkInfo sinkData, MyCubeBlock parent)
   
  Parameters
  
  
  
  
  IsPowerAvailable(MyDefinitionId, Single)
  
  
  Declaration
  
    public override bool IsPowerAvailable(MyDefinitionId resourceTypeId, float power)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | MyDefinitionId | resourceTypeId |  | 
      
        | System.Single | power |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  Overrides
  
  
  
  
  IsPoweredByType(MyDefinitionId)
  
  
  Declaration
  
    public override bool IsPoweredByType(MyDefinitionId resourceTypeId)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  Overrides
  
  
  
  
  
  
  
  Declaration
  
    public override float MaxRequiredInputByType(MyDefinitionId resourceTypeId)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  Overrides
  
  
  
  
  OnBeforeRemovedFromContainer()
  
  
  Declaration
  
    public override void OnBeforeRemovedFromContainer()
   
  Overrides
  
  
  
  
  
  
  
  Declaration
  
    public void remove_CurrentInputChanged(MyCurrentResourceInputChangedDelegate value)
   
  Parameters
  
  
  
  
  
  
  
  Declaration
  
    public void remove_RequiredInputChanged(MyRequiredResourceChangeDelegate value)
   
  Parameters
  
  
  
  
  remove_ResourceAvailable(MyResourceAvailableDelegate)
  
  
  Declaration
  
    public void remove_ResourceAvailable(MyResourceAvailableDelegate value)
   
  Parameters
  
  
  
  
  RemoveType(ref MyDefinitionId)
  
  
  Declaration
  
    public void RemoveType(ref MyDefinitionId resourceType)
   
  Parameters
  
  
  
  
  
  
  
  Declaration
  
    public override float RequiredInputByType(MyDefinitionId resourceTypeId)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  Overrides
  
  
  
  
  ResourceAvailableByType(MyDefinitionId)
  
  
  Declaration
  
    public float ResourceAvailableByType(MyDefinitionId resourceTypeId)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  
  
  
  
  This should be called only from MyResourceDistributor.
Declaration
  
    public override void SetInputFromDistributor(MyDefinitionId resourceTypeId, float newResourceInput, bool isAdaptible, bool fireEvents = true)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | MyDefinitionId | resourceTypeId |  | 
      
        | System.Single | newResourceInput |  | 
      
        | System.Boolean | isAdaptible |  | 
      
        | System.Boolean | fireEvents |  | 
    
  
  Overrides
  
  
  
  
  
  
  
  Declaration
  
    public override void SetMaxRequiredInputByType(MyDefinitionId resourceTypeId, float newMaxRequiredInput)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | MyDefinitionId | resourceTypeId |  | 
      
        | System.Single | newMaxRequiredInput |  | 
    
  
  Overrides
  
  
  
  
  
  
  
  Declaration
  
    public override void SetRequiredInputByType(MyDefinitionId resourceTypeId, float newRequiredInput)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | MyDefinitionId | resourceTypeId |  | 
      
        | System.Single | newRequiredInput |  | 
    
  
  Overrides
  
  
  
  
  
  Change the required input function (callback) for given type of resource. It does not call it immediatelly to update required input value.
Declaration
  
    public override Func<float> SetRequiredInputFuncByType(MyDefinitionId resourceTypeId, Func<float> newRequiredInputFunc)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | MyDefinitionId | resourceTypeId |  | 
      
        | System.Func<System.Single> | newRequiredInputFunc |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Func<System.Single> |  | 
    
  
  Overrides
  
  
  
  
  SuppliedRatioByType(MyDefinitionId)
  
  
  Declaration
  
    public override float SuppliedRatioByType(MyDefinitionId resourceTypeId)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Single |  | 
    
  
  Overrides
  
  
  
  
  Update()
  
  
  Declaration
  
  Events
  
  
  
  
  
  
  Declaration
  
    public event MyCurrentResourceInputChangedDelegate CurrentInputChanged
   
  Event Type
  
  
  
  IsPoweredChanged
  
  
  Declaration
  
    public event Action IsPoweredChanged
   
  Event Type
  
    
      
        | Type | Description | 
    
    
      
        | System.Action |  | 
    
  
  
  
  OnAddType
  
  
  Declaration
  
    public event Action<MyResourceSinkComponent, MyDefinitionId> OnAddType
   
  Event Type
  
  
  
  OnRemoveType
  
  
  Declaration
  
    public event Action<MyResourceSinkComponent, MyDefinitionId> OnRemoveType
   
  Event Type
  
  
  
  
  
  
  Declaration
  
    public event MyRequiredResourceChangeDelegate RequiredInputChanged
   
  Event Type
  
  
  
  ResourceAvailable
  
  
  Declaration
  
    public event MyResourceAvailableDelegate ResourceAvailable
   
  Event Type
  
  Extension Methods