Class PartComponent
  
  
  
    - Namespace
 - KSP.Sim.impl
 
  - Assembly
 - Assembly-CSharp.dll
 
   
  
  
  
    public class PartComponent : ObjectComponent, IGuidIdentity, IFlowNode, IDeltaVPart, IEquatable<IDeltaVPart>
   
  
    - Inheritance
 
    - 
      
      
      
PartComponent
     
  
  
    - Implements
 
    - 
      
      
      
      
    
 
  
  
    - Inherited Members
 
    - 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
 
  
    - Extension Methods
 
    - 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 
  Constructors
  
  
  PartComponent()
  
  
  
  
  
  
  
  PartComponent(PartDefinition, UniverseModel)
  
  
  
  
  
    public PartComponent(PartDefinition partDefinition, UniverseModel universeModel)
   
  Parameters
  
    partDefinition PartDefinition 
    
    universeModel UniverseModel 
    
  
  Fields
  
  AssemblySizeTypeDiameters
  
  
  
  
  
    public List<float> AssemblySizeTypeDiameters
   
  Field Value
  
    - List<float>
 
    
  
  
  Modules
  
  
  
  
  
    public DictionaryValueList<Type, PartComponentModule> Modules
   
  Field Value
  
    - DictionaryValueList<Type, PartComponentModule>
 
    
  
  
  ThermalData
  
  
  
  
  
    public ThermalData ThermalData
   
  Field Value
  
    - ThermalData
 
    
  
  Properties
  
  
  ActivationStage
  
  
  
  
  
    public int ActivationStage { get; set; }
   
  Property Value
  
    - int
 
    
  
  
  
  AllowKinematicPhysicsIfIntersectTerrain
  
  
  
  
  
    public bool AllowKinematicPhysicsIfIntersectTerrain { get; }
   
  Property Value
  
    - bool
 
    
  
  
  
  AtmDensity
  
  
  
  
  
    public double AtmDensity { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  AtmDensityASL
  
  
  
  
  
    public double AtmDensityASL { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  AtmosphericTemperature
  
  
  
  
  
    public double AtmosphericTemperature { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  AtmosphericTemperatureASL
  
  
  
  
  
    public double AtmosphericTemperatureASL { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  BreakingForce
  
  
  
  
  
    public double BreakingForce { get; set; }
   
  Property Value
  
    - double
 
    
  
  
  
  BreakingTorque
  
  
  
  
  
    public double BreakingTorque { get; set; }
   
  Property Value
  
    - double
 
    
  
  
  
  CenterOfLift
  
  
  
  
  
    public Position CenterOfLift { get; }
   
  Property Value
  
    - Position
 
    
  
  
  
  CenterOfLiftOffset
  
  
  
  
  
    public Vector3d CenterOfLiftOffset { get; }
   
  Property Value
  
    - Vector3d
 
    
  
  
  
  CenterOfMass
  
  
  
  
  
    public Position CenterOfMass { get; set; }
   
  Property Value
  
    - Position
 
    
  
  
  
  CenterOfMassOffset
  
  
  
  
  
    public Vector3d CenterOfMassOffset { get; }
   
  Property Value
  
    - Vector3d
 
    
  
  
  
  Containers
  
  
  
  
  
    public IResourceContainer[] Containers { get; }
   
  Property Value
  
    - IResourceContainer[]
 
    
  
  
  
  
  
  
    public ITransformModel ControlTransform { get; }
   
  Property Value
  
    - ITransformModel
 
    
  
  
  
  CrashTolerance
  
  
  
  
  
    public float CrashTolerance { get; set; }
   
  Property Value
  
    - float
 
    
  
  
  
  DecoupleStage
  
  
  
  
  
    public int DecoupleStage { get; set; }
   
  Property Value
  
    - int
 
    
  
  
  
  DefinitionType
  
  
  
  
  
    [TypeConverterIgnore]
public override Type DefinitionType { get; }
   
  Property Value
  
    - Type
 
    
  
  
  
  DeltaVChildren
  
  
  
  
  
    public IEnumerable<IDeltaVPart> DeltaVChildren { get; }
   
  Property Value
  
    - IEnumerable<IDeltaVPart>
 
    
  
  
  
  DeltaVContainers
  
  
  
  
  
    public IResourceContainer[] DeltaVContainers { get; }
   
  Property Value
  
    - IResourceContainer[]
 
    
  
  
  
  DryMass
  
  
  
  
  
    public double DryMass { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  ExplosionPotential
  
  
  
  
  
    public float ExplosionPotential { get; }
   
  Property Value
  
    - float
 
    
  
  
  
  FuelCrossfeed
  
  
  
  
  
    public bool FuelCrossfeed { get; set; }
   
  Property Value
  
    - bool
 
    
  
  
  
  GreenMass
  
  
  
  
  
    public double GreenMass { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  IsActiveInStaging
  
  
  
  
  
    public bool IsActiveInStaging { get; set; }
   
  Property Value
  
    - bool
 
    
  
  
  
  IsAeroActive
  
  
  
  
  
    public bool IsAeroActive { get; }
   
  Property Value
  
    - bool
 
    
  
  
  
  IsCompound
  
  
  
  
  
    public bool IsCompound { get; }
   
  Property Value
  
    - bool
 
    
  
  
  
  IsDamaged
  
  
  
  
  
    public bool IsDamaged { get; set; }
   
  Property Value
  
    - bool
 
    
  
  
  
  IsSymmetryMirrored
  
  
  
  
  
    public bool IsSymmetryMirrored { get; }
   
  Property Value
  
    - bool
 
    
  
  
  
  IsValidInSim
  
  
  
  
  
    public override bool IsValidInSim { get; }
   
  Property Value
  
    - bool
 
    
  
  
  
  LegacyModuleData
  
  
  
  
  
    public List<Dictionary<string, object>> LegacyModuleData { get; }
   
  Property Value
  
    - List<Dictionary<string, object>>
 
    
  
  
  
  LiquidAngularDragScalar
  
  
  
  
  
    public double LiquidAngularDragScalar { get; set; }
   
  Property Value
  
    - double
 
    
  
  
  
  LiquidDragScalar
  
  
  
  
  
    public double LiquidDragScalar { get; set; }
   
  Property Value
  
    - double
 
    
  
  
  
  MaxTemp
  
  
  
  
  
    public double MaxTemp { get; set; }
   
  Property Value
  
    - double
 
    
  
  
  
  OnDecoupled
  
  
  
  
  
    public DecouplePartEvent OnDecoupled { get; set; }
   
  Property Value
  
    - DecouplePartEvent
 
    
  
  
  
  Parent
  
  
  
  
  
    public IDeltaVPart Parent { get; }
   
  Property Value
  
    - IDeltaVPart
 
    
  
  
  
  ParentPart
  
  
  
  
  
    public PartComponent ParentPart { get; }
   
  Property Value
  
    - PartComponent
 
    
  
  
  
  PartCelestialBody
  
  
  
  
  
    public CelestialBodyComponent PartCelestialBody { get; }
   
  Property Value
  
    - CelestialBodyComponent
 
    
  
  
  
  PartData
  
  
  
  
  
    public PartData PartData { get; }
   
  Property Value
  
    - PartData
 
    
  
  
  
  PartName
  
  
  
  
  
    public string PartName { get; }
   
  Property Value
  
    - string
 
    
  
  
  
  PartOwner
  
  
  
  
  
    public PartOwnerComponent PartOwner { get; }
   
  Property Value
  
    - PartOwnerComponent
 
    
  
  
  
  PartResourceContainer
  
  
  
  
  
    public ResourceContainer PartResourceContainer { get; }
   
  Property Value
  
    - ResourceContainer
 
    
  
  
  
  PartResourceFlowRequestBroker
  
  
  
  
  
    public ResourceFlowRequestBroker PartResourceFlowRequestBroker { get; }
   
  Property Value
  
    - ResourceFlowRequestBroker
 
    
  
  
  
  PhysicsMass
  
  
  
  
  
    public double PhysicsMass { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  PhysicsMode
  
  
  
  
  
    public PartPhysicsModes PhysicsMode { get; set; }
   
  Property Value
  
    - PartPhysicsModes
 
    
  
  
  
  ResourceMass
  
  
  
  
  
    public double ResourceMass { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  ResourceThermalMass
  
  
  
  
  
    public double ResourceThermalMass { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  Splashed
  
  
  
  
  
    public bool Splashed { get; set; }
   
  Property Value
  
    - bool
 
    
  
  
  
  StateType
  
  
  
  
  
    [TypeConverterIgnore]
public override Type StateType { get; }
   
  Property Value
  
    - Type
 
    
  
  
  
  StaticPressureAtm
  
  
  
  
  
    public float StaticPressureAtm { get; }
   
  Property Value
  
    - float
 
    
  
  
  
  StaticPressureAtmASL
  
  
  
  
  
    public float StaticPressureAtmASL { get; }
   
  Property Value
  
    - float
 
    
  
  
  
  Status
  
  
  
  
  
    public PartStatus Status { get; }
   
  Property Value
  
    - PartStatus
 
    
  
  
  
  SurfaceAttachmentsToMe
  
  
  
  
  
    public List<AttachNodeData> SurfaceAttachmentsToMe { get; }
   
  Property Value
  
    - List<AttachNodeData>
 
    
  
  
  
  SymmetrySet
  
  
  
  
  
    public SymmetrySet SymmetrySet { get; set; }
   
  Property Value
  
    - SymmetrySet
 
    
  
  
  
  Temperature
  
  
  
  
  
    public double Temperature { get; set; }
   
  Property Value
  
    - double
 
    
  
  
  
  ThermalMass
  
  
  
  
  
    public double ThermalMass { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  TotalMass
  
  
  
  
  
    public double TotalMass { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  Type
  
  
  
  
  
    [TypeConverterIgnore]
public override Type Type { get; }
   
  Property Value
  
    - Type
 
    
  
  
  
  ViewObjectComponentType
  
  
  
  
  
    [TypeConverterIgnore]
public override Type ViewObjectComponentType { get; }
   
  Property Value
  
    - Type
 
    
  
  
  
  WetMass
  
  
  
  
  
    public double WetMass { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  WettedArea
  
  
  
  
  
    public double WettedArea { get; set; }
   
  Property Value
  
    - double
 
    
  
  
  
  atmDensity
  
  
  
  
  
    public double atmDensity { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  decimatedChildParts
  
  
  
  
  
    public List<PartBehavior> decimatedChildParts { get; set; }
   
  Property Value
  
    - List<PartBehavior>
 
    
  
  
  
  dragCoefficient
  
  
  
  
  
    public double dragCoefficient { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  dynamicPressureAtm
  
  
  
  
  
    public double dynamicPressureAtm { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  dynamicPressurekPa
  
  
  
  
  
    public double dynamicPressurekPa { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  isDecimated
  
  
  
  
  
    public bool isDecimated { get; set; }
   
  Property Value
  
    - bool
 
    
  
  
  
  machNumber
  
  
  
  
  
    public double machNumber { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  maximum_drag
  
  
  
  
  
    public float maximum_drag { get; set; }
   
  Property Value
  
    - float
 
    
  
  
  
  minimum_drag
  
  
  
  
  
    public float minimum_drag { get; set; }
   
  Property Value
  
    - float
 
    
  
  
  
  partProperties
  
  
  
  
  
    [Obsolete("Please use PartData instead")]
public PartProperties partProperties { get; }
   
  Property Value
  
    - PartProperties
 
    
  
  
  
  soundSpeed
  
  
  
  
  
    public double soundSpeed { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  staticPressureAtm
  
  
  
  
  
    public double staticPressureAtm { get; }
   
  Property Value
  
    - double
 
    
  
  
  
  staticPressurekPa
  
  
  
  
  
    public double staticPressurekPa { get; }
   
  Property Value
  
    - double
 
    
  
  Methods
  
  
  AddNodeAttachment(AttachNodeData)
  
  
  
  
  
    public bool AddNodeAttachment(AttachNodeData newAttachNodeData)
   
  Parameters
  
    newAttachNodeData AttachNodeData 
    
  
  Returns
  
    - bool
 
    
  
  
  
  ClearAllAttachments()
  
  
  
  
  
    public void ClearAllAttachments()
   
  
  
  ClearNodeAttachment(string)
  
  
  
  
  
    public bool ClearNodeAttachment(string nodeID)
   
  Parameters
  
    nodeID string 
    
  
  Returns
  
    - bool
 
    
  
  
  
  
  
  
    public void ClearPendingPromotion()
   
  
  
  DestroyPart(ExplosionType)
  
  
  
  
  
    public void DestroyPart(ExplosionType explosionType)
   
  Parameters
  
    explosionType ExplosionType 
    
  
  
  
  Equals(IDeltaVPart)
  
  
  
  
  
    public bool Equals(IDeltaVPart other)
   
  Parameters
  
    other IDeltaVPart 
    
  
  Returns
  
    - bool
 
    
  
  
  
  FindAttachNodeAttachedPart(string)
  
  
  
  
  
    public IDeltaVPart FindAttachNodeAttachedPart(string nodeName)
   
  Parameters
  
    nodeName string 
    
  
  Returns
  
    - IDeltaVPart
 
    
  
  
  
  FindAttachmentTo(PartComponent, string)
  
  
  
  
  
    public AttachNodeData FindAttachmentTo(PartComponent otherPart, string otherPartNodeID)
   
  Parameters
  
    otherPart PartComponent 
    
    otherPartNodeID string 
    
  
  Returns
  
    - AttachNodeData
 
    
  
  
  
  FindAttachmentsTo(PartComponent, ref List<AttachNodeData>)
  
  
  
  
  
    public void FindAttachmentsTo(PartComponent otherPart, ref List<AttachNodeData> results)
   
  Parameters
  
    otherPart PartComponent 
    
    results List<AttachNodeData> 
    
  
  
  
  FindInternalSeat(int)
  
  
  
  
  
    public IInternalSeat FindInternalSeat(int index)
   
  Parameters
  
    index int 
    
  
  Returns
  
    - IInternalSeat
 
    
  
  
  
  FindNodeAttachmentsOfType(AttachNodeType)
  
  
  
  
  
    public List<AttachNodeData> FindNodeAttachmentsOfType(AttachNodeType nodeType)
   
  Parameters
  
    nodeType AttachNodeType 
    
  
  Returns
  
    - List<AttachNodeData>
 
    
  
  
  
  GetAllAttachments()
  
  
  
  
  
    public IEnumerable<AttachNodeData> GetAllAttachments()
   
  Returns
  
    - IEnumerable<AttachNodeData>
 
    
  
  
  
  GetAttachments()
  
  
  
  
  
    public IEnumerable<AttachNodeData> GetAttachments()
   
  Returns
  
    - IEnumerable<AttachNodeData>
 
    
  
  
  
  GetDefinition()
  
  
  
  
  
    public override object GetDefinition()
   
  Returns
  
    - object
 
    
  
  
  
  GetNodeAttachment(string, bool)
  
  
  
  
  
    public AttachNodeData GetNodeAttachment(string attachmentNodeId, bool logWarning = true)
   
  Parameters
  
    attachmentNodeId string 
    
    logWarning bool 
    
  
  Returns
  
    - AttachNodeData
 
    
  
  
  
  GetPartBoundCoords()
  
  
  
  
  
    public Vector3d[] GetPartBoundCoords()
   
  Returns
  
    - Vector3d[]
 
    
  
  
  
  GetState()
  
  
  
  
  
    public override object GetState()
   
  Returns
  
    - object
 
    
  
  
  
  ModuleActiveUpdated()
  
  
  
  
  
    public void ModuleActiveUpdated()
   
  
  
  OnAdded(SimulationObjectModel, double)
  
  
  
  
  
    public override void OnAdded(SimulationObjectModel simulationObject, double universalTime)
   
  Parameters
  
    simulationObject SimulationObjectModel 
    
    universalTime double 
    
  
  
  
  OnFixedUpdate(double, double)
  
  
  
  
  
    public override void OnFixedUpdate(double universalTime, double deltaUniversalTime)
   
  Parameters
  
    universalTime double 
    
    deltaUniversalTime double 
    
  
  
  
  OnRemoved(SimulationObjectModel, double)
  
  
  
  
  
    public override void OnRemoved(SimulationObjectModel simulationObject, double universalTime)
   
  Parameters
  
    simulationObject SimulationObjectModel 
    
    universalTime double 
    
  
  
  
  OnStart(double)
  
  
  
  
  
    public override void OnStart(double universalTime)
   
  Parameters
  
    universalTime double 
    
  
  
  
  RemoveNodeAttachment(string)
  
  
  
  
  
    public bool RemoveNodeAttachment(string nodeID)
   
  Parameters
  
    nodeID string 
    
  
  Returns
  
    - bool
 
    
  
  
  
  SetAsVesselControl()
  
  
  
  
  
    public bool SetAsVesselControl()
   
  Returns
  
    - bool
 
    
  
  
  
  SetAttachNodeState(List<AttachNodeState>, ISimulationModelMap)
  
  
  
  
  
    public void SetAttachNodeState(List<AttachNodeState> attachNodeStates, ISimulationModelMap simulationModelMap)
   
  Parameters
  
    attachNodeStates List<AttachNodeState> 
    
    simulationModelMap ISimulationModelMap 
    
  
  
  
  
  
  
    public void SetControlTransform(Vector3 position, Vector3 orientation, string cpId)
   
  Parameters
  
    position Vector3 
    
    orientation Vector3 
    
    cpId string 
    
  
  
  
  SetDefinition(object)
  
  
  
  
  
    public override void SetDefinition(object definitionData)
   
  Parameters
  
    definitionData object 
    
  
  
  
  SetNodeAttachment(string, PartComponent, string)
  
  
  
  
  
    public bool SetNodeAttachment(string nodeID, PartComponent otherPart, string otherPartNodeID)
   
  Parameters
  
    nodeID string 
    
    otherPart PartComponent 
    
    otherPartNodeID string 
    
  
  Returns
  
    - bool
 
    
  
  
  
  SetPartOwner(PartOwnerComponent, bool, bool)
  
  
  
  
  
    public List<PartComponent> SetPartOwner(PartOwnerComponent newPartOwner, bool isRecursive, bool ignoreChildrenOfCompoundParts = false)
   
  Parameters
  
    newPartOwner PartOwnerComponent 
    
    isRecursive bool 
    
    ignoreChildrenOfCompoundParts bool 
    
  
  Returns
  
    - List<PartComponent>
 
    
  
  
  
  
  
  
    public void SetPendingPromotion(IGGuid promotionGuid, IGGuid subVesselDataId)
   
  Parameters
  
    promotionGuid IGGuid 
    
    subVesselDataId IGGuid 
    
  
  
  
  SetStageIndex(int, bool)
  
  
  
  
  
    public void SetStageIndex(int value, bool notifyStaging)
   
  Parameters
  
    value int 
    
    notifyStaging bool 
    
  
  
  
  SetState(object, ISimulationModelMap)
  
  
  
  
  
    public override object SetState(object stateData, ISimulationModelMap simulationModelMap)
   
  Parameters
  
    stateData object 
    
    simulationModelMap ISimulationModelMap 
    
  
  Returns
  
    - object
 
    
  
  
  
  SubscribeOnPartActiveUpdate(Action<PartComponent, bool>)
  
  
  
  
  
    public void SubscribeOnPartActiveUpdate(Action<PartComponent, bool> action)
   
  Parameters
  
    action Action<PartComponent, bool> 
    
  
  
  
  TriggerPartExplosionEvent(FXContextualEventParams)
  
  
  
  
  
    public void TriggerPartExplosionEvent(FXContextualEventParams data)
   
  Parameters
  
    data FXContextualEventParams 
    
  
  
  
  TriggerWaterSplashEvent(WaterSplashEventData)
  
  
  
  
  
    public void TriggerWaterSplashEvent(WaterSplashEventData data)
   
  Parameters
  
    data WaterSplashEventData 
    
  
  
  
  TryGetAttachment(string, out AttachNodeData)
  
  
  
  
  
    public bool TryGetAttachment(string attachmentNodeId, out AttachNodeData attachNodeData)
   
  Parameters
  
    attachmentNodeId string 
    
    attachNodeData AttachNodeData 
    
  
  Returns
  
    - bool
 
    
  
  
  
  TryGetModule(Type, out PartComponentModule)
  
  
  
  
  
    public bool TryGetModule(Type moduleType, out PartComponentModule foundModule)
   
  Parameters
  
    moduleType Type 
    
    foundModule PartComponentModule 
    
  
  Returns
  
    - bool
 
    
  
  
  
  TryGetModuleData<T, U>(out U)
  
  
  
  
  
    public bool TryGetModuleData<T, U>(out U data) where T : PartComponentModule where U : ModuleData
   
  Parameters
  
    data U 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    T 
    
    U 
    
  
  
  
  TryGetModule<T>(out T)
  
  
  
  
  
    public bool TryGetModule<T>(out T module) where T : PartComponentModule
   
  Parameters
  
    module T 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    T 
    
  
  
  
  
  
  
    public bool TryGetPendingPromotion(out PartComponent.PendingPromotion result)
   
  Parameters
  
    result PartComponent.PendingPromotion 
    
  
  Returns
  
    - bool
 
    
  
  
  
  UnsubscribeOnPartActiveUpdate()
  
  
  
  
  
    public void UnsubscribeOnPartActiveUpdate()
   
  
  
  UpdateMass()
  
  
  
  
  
  
  
  ValidateState(object, ISimulationModelMap)
  
  
  
  
  
    public override bool ValidateState(object stateData, ISimulationModelMap simulationModelMap)
   
  Parameters
  
    stateData object 
    
    simulationModelMap ISimulationModelMap 
    
  
  Returns
  
    - bool
 
    
  
  Events
  
  PartExploded
  
  
  
  
  
    public event Action<FXContextualEventParams> PartExploded
   
  Event Type
  
    - Action<FXContextualEventParams>
 
    
  
  
  WaterSplash
  
  
  
  
  
    public event Action<WaterSplashEventData> WaterSplash
   
  Event Type
  
    - Action<WaterSplashEventData>