Class ObjectAssembly
  
  
  
    - Namespace
 - KSP.OAB
 
  - Assembly
 - Assembly-CSharp.dll
 
   
  
  
  
    public class ObjectAssembly : MustInitialize<ObjectAssemblyAssets>, IObjectAssembly
   
  
    - Inheritance
 
    - 
      
      
      
ObjectAssembly
     
  
  
    - Implements
 
    - 
      
    
 
  
  
    - Inherited Members
 
    - 
    
    
    
    
    
    
    
  
 
  
    - Extension Methods
 
    - 
  
  
  
  
  
  
 
  Constructors
  
  
  
  
  
    public ObjectAssembly(ObjectAssemblyAssets assets, OABSessionInformation stats, ObjectAssemblyPartTracker partTracker)
   
  Parameters
  
    assets ObjectAssemblyAssets 
    
    stats OABSessionInformation 
    
    partTracker ObjectAssemblyPartTracker 
    
  
  Properties
  
  
  Anchor
  
  
  
  
  
    public IObjectAssemblyPart Anchor { get; }
   
  Property Value
  
    - IObjectAssemblyPart
 
    
  
  
  
  CenterOfProperties
  
  
  
  
  
    public CenterOfPhysicalProperties CenterOfProperties { get; set; }
   
  Property Value
  
    - CenterOfPhysicalProperties
 
    
  
  
  
  ContainerGroup
  
  
  
  
  
    public ResourceContainerGroup ContainerGroup { get; }
   
  Property Value
  
    - ResourceContainerGroup
 
    
  
  
  
  CrewableParts
  
  
  
  
  
    public List<IObjectAssemblyPart> CrewableParts { get; }
   
  Property Value
  
    - List<IObjectAssemblyPart>
 
    
  
  
  
  CrewablePartsCount
  
  
  
  
  
    public int CrewablePartsCount { get; }
   
  Property Value
  
    - int
 
    
  
  
  
  FlowGraph
  
  
  
  
  
    public FlowGraph FlowGraph { get; }
   
  Property Value
  
    - FlowGraph
 
    
  
  
  
  HoveredOverPart
  
  
  
  
  
    public IObjectAssemblyPart HoveredOverPart { get; }
   
  Property Value
  
    - IObjectAssemblyPart
 
    
  
  
  
  IsInitialized
  
  
  
  
  
    public bool IsInitialized { get; }
   
  Property Value
  
    - bool
 
    
  
  
  
  Nodes
  
  
  
  
  
    public List<IObjectAssemblyPartNode> Nodes { get; }
   
  Property Value
  
    - List<IObjectAssemblyPartNode>
 
    
  
  
  
  Parts
  
  
  
  
  
    public List<IObjectAssemblyPart> Parts { get; }
   
  Property Value
  
    - List<IObjectAssemblyPart>
 
    
  
  
  
  ResourceFlowRequestManager
  
  
  
  
  
    public ResourceFlowRequestManager ResourceFlowRequestManager { get; }
   
  Property Value
  
    - ResourceFlowRequestManager
 
    
  
  
  
  Stats
  
  
  
  
  
    public OABSessionInformation Stats { get; }
   
  Property Value
  
    - OABSessionInformation
 
    
  
  
  
  VesselDeltaV
  
  
  
  
  
    public VesselDeltaVComponent VesselDeltaV { get; }
   
  Property Value
  
    - VesselDeltaVComponent
 
    
  
  Methods
  
  
  AddActionToActionGroup(ModuleActionGroupAction, KSPActionGroup)
  
  
  
  
  
    public bool AddActionToActionGroup(ModuleActionGroupAction action, KSPActionGroup group)
   
  Parameters
  
    action ModuleActionGroupAction 
    
    group KSPActionGroup 
    
  
  Returns
  
    - bool
 
    
  
  
  
  AddPart(IObjectAssemblyPart)
  
  
  
  
  
    public void AddPart(IObjectAssemblyPart partToAdd)
   
  Parameters
  
    partToAdd IObjectAssemblyPart 
    
  
  
  
  DestroyAnchorIcons()
  
  
  
  
  
    public void DestroyAnchorIcons()
   
  
  
  DestroyAssembly()
  
  
  
  
  
    public void DestroyAssembly()
   
  
  
  DestroyLaunchIcon()
  
  
  
  
  
    public void DestroyLaunchIcon()
   
  
  
  FlipParentChildRelationshipsToNewAnchor(IObjectAssemblyPart, bool)
  
  
  
  
  
    public static void FlipParentChildRelationshipsToNewAnchor(IObjectAssemblyPart newAnchor, bool resetResourceSolvers = false)
   
  Parameters
  
    newAnchor IObjectAssemblyPart 
    
    resetResourceSolvers bool 
    
  
  
  
  GetActionGroupPartCount(KSPActionGroup)
  
  
  
  
  
    public int GetActionGroupPartCount(KSPActionGroup group)
   
  Parameters
  
    group KSPActionGroup 
    
  
  Returns
  
    - int
 
    
  
  
  
  GetBoundingBox()
  
  
  
  
  
    public Bounds GetBoundingBox()
   
  Returns
  
    - Bounds
 
    
  
  
  
  GetCenterOfMass()
  
  
  
  
  
    public Vector3d GetCenterOfMass()
   
  Returns
  
    - Vector3d
 
    
  
  
  
  GetCenterOfThrust()
  
  
  
  
  
    public Ray GetCenterOfThrust()
   
  Returns
  
    - Ray
 
    
  
  
  
  GetDryMass()
  
  
  
  
  
    public double GetDryMass()
   
  Returns
  
    - double
 
    
  
  
  
  GetNumberOfParts()
  
  
  
  
  
    public int GetNumberOfParts()
   
  Returns
  
    - int
 
    
  
  
  
  GetTotalMass()
  
  
  
  
  
    public double GetTotalMass()
   
  Returns
  
    - double
 
    
  
  
  
  GetWetMass()
  
  
  
  
  
    public double GetWetMass()
   
  Returns
  
    - double
 
    
  
  
  
  HasPartWithName(List<string>, bool)
  
  
  
  
  
    public bool HasPartWithName(List<string> partNames, bool exactMatch)
   
  Parameters
  
    partNames List<string> 
    
    exactMatch bool 
    
  
  Returns
  
    - bool
 
    
  
  
  
  HasParts()
  
  
  
  
  
  Returns
  
    - bool
 
    
  
  
  
  Initialize(IObjectAssemblyPart, ObjectAssemblyBuilderEvents)
  
  
  
  
  
    public void Initialize(IObjectAssemblyPart anchor, ObjectAssemblyBuilderEvents events)
   
  Parameters
  
    anchor IObjectAssemblyPart 
    
    events ObjectAssemblyBuilderEvents 
    
  
  
  
  IsLaunchAssembly()
  
  
  
  
  
    public bool IsLaunchAssembly()
   
  Returns
  
    - bool
 
    
  
  
  
  MarkAsLaunchAssembly(bool)
  
  
  
  
  
    public void MarkAsLaunchAssembly(bool isMainAssembly)
   
  Parameters
  
    isMainAssembly bool 
    
  
  
  
  MouseEnter(bool)
  
  
  
  
  
    public void MouseEnter(bool partGrabbed)
   
  Parameters
  
    partGrabbed bool 
    
  
  
  
  MouseLeave()
  
  
  
  
  
  
  
  RemoveActionFromActionGroup(ModuleActionGroupAction, KSPActionGroup)
  
  
  
  
  
    public bool RemoveActionFromActionGroup(ModuleActionGroupAction action, KSPActionGroup group)
   
  Parameters
  
    action ModuleActionGroupAction 
    
    group KSPActionGroup 
    
  
  Returns
  
    - bool
 
    
  
  
  
  RemovePart(IObjectAssemblyPart)
  
  
  
  
  
    public void RemovePart(IObjectAssemblyPart partToRemove)
   
  Parameters
  
    partToRemove IObjectAssemblyPart 
    
  
  
  
  SetAnchor(IObjectAssemblyPart, bool)
  
  
  
  
  
    public void SetAnchor(IObjectAssemblyPart anchor, bool resetResourceSolvers = false)
   
  Parameters
  
    anchor IObjectAssemblyPart 
    
    resetResourceSolvers bool 
    
  
  
  
  SetAnchorExternal(IObjectAssemblyPart, bool)
  
  
  
  
  
    public void SetAnchorExternal(IObjectAssemblyPart anchor, bool resetResourceSolvers = false)
   
  Parameters
  
    anchor IObjectAssemblyPart 
    
    resetResourceSolvers bool 
    
  
  
  
  SetAssemblyBounds()
  
  
  
  
  
    public void SetAssemblyBounds()
   
  
  
  SetHoveredOverPart(IObjectAssemblyPart)
  
  
  
  
  
    public void SetHoveredOverPart(IObjectAssemblyPart part)
   
  Parameters
  
    part IObjectAssemblyPart 
    
  
  
  
  SetResourceSolversDirty()
  
  
  
  
  
    public void SetResourceSolversDirty()
   
  
  
  ToggleAnchorIcons()
  
  
  
  
  
    public void ToggleAnchorIcons()
   
  
  
  TryGetPartBehaviourModule<T>(out T)
  
  
  
  
  
    public bool TryGetPartBehaviourModule<T>(out T foundPartModule) where T : PartBehaviourModule
   
  Parameters
  
    foundPartModule T 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    T 
    
  
  
  
  TryGetPartBehaviourModules<T>(out List<T>)
  
  
  
  
  
    public bool TryGetPartBehaviourModules<T>(out List<T> foundPartModules) where T : PartBehaviourModule
   
  Parameters
  
    foundPartModules List<T> 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    T 
    
  
  
  
  TryGetPartsByResource(string, FlowDirection, out List<IObjectAssemblyPart>)
  
  
  
  
  
    public bool TryGetPartsByResource(string resourceName, FlowDirection direction, out List<IObjectAssemblyPart> foundParts)
   
  Parameters
  
    resourceName string 
    
    direction FlowDirection 
    
    foundParts List<IObjectAssemblyPart> 
    
  
  Returns
  
    - bool
 
    
  
  
  
  TryGetPartsWithResourceCapacity(string, out List<IObjectAssemblyPart>)
  
  
  
  
  
    public bool TryGetPartsWithResourceCapacity(string resourceName, out List<IObjectAssemblyPart> foundParts)
   
  Parameters
  
    resourceName string 
    
    foundParts List<IObjectAssemblyPart> 
    
  
  Returns
  
    - bool
 
    
  
  
  
  TryGetPartsWithResourceStored(string, out List<IObjectAssemblyPart>)
  
  
  
  
  
    public bool TryGetPartsWithResourceStored(string resourceName, out List<IObjectAssemblyPart> foundParts)
   
  Parameters
  
    resourceName string 
    
    foundParts List<IObjectAssemblyPart> 
    
  
  Returns
  
    - bool
 
    
  
  
  
  UpdateAssemblyIcons(IObjectAssemblyPart)
  
  
  
  
  
    public void UpdateAssemblyIcons(IObjectAssemblyPart partGrabbed)
   
  Parameters
  
    partGrabbed IObjectAssemblyPart 
    
  
  
  
  UpdateAssemblyIconsPosition(Camera)
  
  
  
  
  
    public void UpdateAssemblyIconsPosition(Camera curCamera)
   
  Parameters
  
    curCamera Camera 
    
  
  
  
  UpdateAssemblyPartAnchorIcons(IObjectAssemblyPart)
  
  
  
  
  
    public void UpdateAssemblyPartAnchorIcons(IObjectAssemblyPart partGrabbed)
   
  Parameters
  
    partGrabbed IObjectAssemblyPart 
    
  
  
  
  UpdateAssemblyPartAnchorIconsPosition(Camera)
  
  
  
  
  
    public void UpdateAssemblyPartAnchorIconsPosition(Camera curCamera)
   
  Parameters
  
    curCamera Camera