Class ObjectAssemblyBuilder
- Namespace
- KSP.OAB
- Assembly
- Assembly-CSharp.dll
public class ObjectAssemblyBuilder : KerbalMonoBehaviour, IUpdate, ILateUpdate
- Inheritance
-
ObjectAssemblyBuilder
- Implements
-
- Derived
-
- Inherited Members
-
- Extension Methods
-
Constructors
ObjectAssemblyBuilder()
public ObjectAssemblyBuilder()
Fields
BuilderAssets
public ObjectAssemblyAssets BuilderAssets
Field Value
- ObjectAssemblyAssets
CurrentOrientation
public OABOrientation CurrentOrientation
Field Value
- OABOrientation
ProceduralFairingManager
public ProceduralFairingManager ProceduralFairingManager
Field Value
- ProceduralFairingManager
ProceduralPartsManager
public ProceduralPartsManager ProceduralPartsManager
Field Value
- ProceduralPartsManager
_activeHistorian
protected ObjectyAssemblyBuilderHistorian _activeHistorian
Field Value
- ObjectyAssemblyBuilderHistorian
_activePartTracker
protected ObjectAssemblyPartTracker _activePartTracker
Field Value
- ObjectAssemblyPartTracker
_relationships
public List<IObjectAssemblyRelationship> _relationships
Field Value
- List<IObjectAssemblyRelationship>
_resourceCosting
protected ObjectAssemblyBuilderResourceCosting _resourceCosting
Field Value
- ObjectAssemblyBuilderResourceCosting
_resourceProvider
protected IConstructionResourceProvider _resourceProvider
Field Value
- IConstructionResourceProvider
protected IObjectAssemblyTool currentTool
Field Value
- IObjectAssemblyTool
protected bool currentToolIsOneTimeUse
Field Value
- bool
eventsBuilder
public ObjectAssemblyBuilderEvents eventsBuilder
Field Value
- ObjectAssemblyBuilderEvents
eventsUI
public ObjectAssemblyUIEvents eventsUI
Field Value
- ObjectAssemblyUIEvents
protected IObjectAssemblyTool previousTool
Field Value
- IObjectAssemblyTool
utilFileIO
protected ObjectAssemblyBuilderFileIO utilFileIO
Field Value
- ObjectAssemblyBuilderFileIO
protected ObjectAssemblyInputHandler utilInput
Field Value
- ObjectAssemblyInputHandler
utilLog
protected ObjectAssemblyBuilderLog utilLog
Field Value
- ObjectAssemblyBuilderLog
protected ObjectAssemblyShoppingCart utilShoppingCart
Field Value
- ObjectAssemblyShoppingCart
watcherChecklist
protected ObjectAssemblyChecklist watcherChecklist
Field Value
- ObjectAssemblyChecklist
watcherStats
protected OABSessionInformation watcherStats
Field Value
- OABSessionInformation
Properties
ActiveBuilderVariant
public OABVariant ActiveBuilderVariant { get; }
Property Value
- OABVariant
ActiveConfig
public OABConfig ActiveConfig { get; }
Property Value
- OABConfig
ActivePartTracker
public ObjectAssemblyPartTracker ActivePartTracker { get; }
Property Value
- ObjectAssemblyPartTracker
CameraManager
public ObjectAssemblyCameraManager CameraManager { get; }
Property Value
- ObjectAssemblyCameraManager
CelestialBodyDependencyName
public string CelestialBodyDependencyName { get; }
Property Value
- string
Checklist
public IObjectBuilderChecklist Checklist { get; }
Property Value
- IObjectBuilderChecklist
ConstructionType
public OABConstructionType ConstructionType { get; }
Property Value
- OABConstructionType
CurrentEnvironment
public IObjectAssemblyEnvironment CurrentEnvironment { get; }
Property Value
- IObjectAssemblyEnvironment
CurrentSizeLimits
public IObjectAssemblyBuilderSizeLimits CurrentSizeLimits { get; }
Property Value
- IObjectAssemblyBuilderSizeLimits
public IObjectAssemblyTool CurrentTool { get; }
Property Value
- IObjectAssemblyTool
DataContext
public DataContext DataContext { get; }
Property Value
- DataContext
EnvironmentType
public OABEnvironmentType EnvironmentType { get; }
Property Value
- OABEnvironmentType
EventsUI
public ObjectAssemblyUIEvents EventsUI { get; }
Property Value
- ObjectAssemblyUIEvents
Historian
public ObjectyAssemblyBuilderHistorian Historian { get; }
Property Value
- ObjectyAssemblyBuilderHistorian
public ObjectAssemblyInputHandler InputHandler { get; }
Property Value
- ObjectAssemblyInputHandler
IsLoaded
public bool IsLoaded { get; }
Property Value
- bool
IsSavingBackupWorkspace
public bool IsSavingBackupWorkspace { get; }
Property Value
- bool
IsShuttingDown
public bool IsShuttingDown { get; }
Property Value
- bool
OABHUD
public ObjectAssemblyBuilderHUD OABHUD { get; set; }
Property Value
- ObjectAssemblyBuilderHUD
ResultAssemblyOutOfBounds
public bool ResultAssemblyOutOfBounds { get; }
Property Value
- bool
ResultHasEnoughResourcesForLaunchAssembly
public bool ResultHasEnoughResourcesForLaunchAssembly { get; }
Property Value
- bool
Stats
public OABSessionInformation Stats { get; }
Property Value
- OABSessionInformation
UtilFileIO
public ObjectAssemblyBuilderFileIO UtilFileIO { get; }
Property Value
- ObjectAssemblyBuilderFileIO
WorkspaceDefaultValue
public string WorkspaceDefaultValue { get; }
Property Value
- string
WorkspaceDescriptionDefaultValue
public string WorkspaceDescriptionDefaultValue { get; }
Property Value
- string
WorkspaceVehicleDefaultValue
public string WorkspaceVehicleDefaultValue { get; }
Property Value
- string
Methods
AsyncLoadAllParts(Action)
public void AsyncLoadAllParts(Action callback)
Parameters
callback Action
Awake()
CollectAllLoadedParts()
public List<ObjectAssemblyBuilder.RuntimeQAPartData> CollectAllLoadedParts()
Returns
- List<ObjectAssemblyBuilder.RuntimeQAPartData>
public void Configure(OABConfig config, IReadOnlyCollection<PartCore> allPossibleParts, OABHistoricalSnapshot startSnapshot = null, Action onLaunchCallback = null)
Parameters
config OABConfig
allPossibleParts IReadOnlyCollection<PartCore>
startSnapshot OABHistoricalSnapshot
onLaunchCallback Action
CreateBasicShip(Action)
public IEnumerator CreateBasicShip(Action onComplete = null)
Parameters
onComplete Action
Returns
- IEnumerator
CreateClasses()
protected void CreateClasses()
CreateObjects()
protected virtual void CreateObjects()
GetAvailableResourceAmount(ResourceDefinitionID)
public double GetAvailableResourceAmount(ResourceDefinitionID resourceId)
Parameters
resourceId ResourceDefinitionID
Returns
- double
public OABToolType GetCurrentToolType()
Returns
- OABToolType
HasEnoughResourcesForLaunchAssembly()
public bool HasEnoughResourcesForLaunchAssembly()
Returns
- bool
HasEnoughResourcesToLoadAssembly(SerializedAssembly)
public bool HasEnoughResourcesToLoadAssembly(SerializedAssembly serializedAssembly)
Parameters
serializedAssembly SerializedAssembly
Returns
- bool
Initialize()
public virtual void Initialize()
InitializeClasses()
protected virtual void InitializeClasses()
InitializeObjects()
protected virtual void InitializeObjects()
protected virtual void InitializeTool()
IsAssemblyOutOfBounds(IObjectAssembly)
public bool IsAssemblyOutOfBounds(IObjectAssembly assembly)
Parameters
assembly IObjectAssembly
Returns
- bool
LaunchShip(Action)
public void LaunchShip(Action onLaunch = null)
Parameters
onLaunch Action
LoadFromFile(TextAsset, OABOrientation, BuilderSymmetryMode, string, Action)
public IEnumerator LoadFromFile(TextAsset toLoad, OABOrientation orientation = OABOrientation.VAB, BuilderSymmetryMode symmetryMode = BuilderSymmetryMode.X1, string launch = null, Action onComplete = null)
Parameters
toLoad TextAsset
orientation OABOrientation
symmetryMode BuilderSymmetryMode
launch string
onComplete Action
Returns
- IEnumerator
OnDestroy()
OnLateUpdate()
public void OnLateUpdate()
OnOABConfigChanged()
public void OnOABConfigChanged()
OnUpdate(float)
public void OnUpdate(float deltaTime)
Parameters
deltaTime float
ResetCamera()
protected void ResetCamera()
SelectPartRandomly(PartCategories, IReadOnlyDictionary<PartCategories, List<IObjectAssemblyAvailablePart>>)
public IObjectAssemblyAvailablePart SelectPartRandomly(PartCategories category, IReadOnlyDictionary<PartCategories, List<IObjectAssemblyAvailablePart>> partLookup)
Parameters
category PartCategories
partLookup IReadOnlyDictionary<PartCategories, List<IObjectAssemblyAvailablePart>>
Returns
- IObjectAssemblyAvailablePart
public void SetCurrentTool(IObjectAssemblyTool toolToUse, bool oneTimeUse)
Parameters
toolToUse IObjectAssemblyTool
oneTimeUse bool
SetSavingBackupVessel(bool)
public void SetSavingBackupVessel(bool bValue)
Parameters
bValue bool
Shutdown()
StackAttachSpecificParts(IObjectAssemblyPart, IObjectAssemblyPart, bool)
public void StackAttachSpecificParts(IObjectAssemblyPart top, IObjectAssemblyPart bottom, bool topIsParent)
Parameters
top IObjectAssemblyPart
bottom IObjectAssemblyPart
topIsParent bool
Start()
SurfaceAttachSpecificParts(IObjectAssemblyPart, IObjectAssemblyPart, Vector3, Vector3)
public void SurfaceAttachSpecificParts(IObjectAssemblyPart parentPart, IObjectAssemblyPart surfacePart, Vector3 localOffset, Vector3 rotation)
Parameters
parentPart IObjectAssemblyPart
surfacePart IObjectAssemblyPart
localOffset Vector3
rotation Vector3
ToggleCameraTargetLock()
protected void ToggleCameraTargetLock()
ToggleRenderDebugSizeLimits()
public static void ToggleRenderDebugSizeLimits()
TryDeductResourceCostAtLaunch()
public bool TryDeductResourceCostAtLaunch()
Returns
- bool