Table of Contents

Class ObjectAssemblyPartTracker

Namespace
KSP.OAB
Assembly
Assembly-CSharp.dll
public class ObjectAssemblyPartTracker : IDisposable
Inheritance
ObjectAssemblyPartTracker
Implements
Inherited Members
Extension Methods

Constructors

ObjectAssemblyPartTracker(ObjectAssemblyBuilderEvents, ObjectAssemblyInputHandler, ObjectAssemblyCameraManager, OABSessionInformation, ObjectAssemblyBuilderFileIO, ObjectAssemblyAssets, IReadOnlyCollection<PartCore>)

public ObjectAssemblyPartTracker(ObjectAssemblyBuilderEvents eventSystemToUse, ObjectAssemblyInputHandler inputToUse, ObjectAssemblyCameraManager cameraToUse, OABSessionInformation statsToUse, ObjectAssemblyBuilderFileIO fileIOToUse, ObjectAssemblyAssets prefabs, IReadOnlyCollection<PartCore> allPossibleParts)

Parameters

eventSystemToUse ObjectAssemblyBuilderEvents
inputToUse ObjectAssemblyInputHandler
cameraToUse ObjectAssemblyCameraManager
statsToUse OABSessionInformation
fileIOToUse ObjectAssemblyBuilderFileIO
prefabs ObjectAssemblyAssets
allPossibleParts IReadOnlyCollection<PartCore>

Fields

AssemblySizeTypeDiameters

public List<float> AssemblySizeTypeDiameters

Field Value

List<float>

PotentialParentPart

public IObjectAssemblyPart PotentialParentPart

Field Value

IObjectAssemblyPart

builderPrefabs

protected ObjectAssemblyAssets builderPrefabs

Field Value

ObjectAssemblyAssets

cameraManager

protected ObjectAssemblyCameraManager cameraManager

Field Value

ObjectAssemblyCameraManager

events

protected ObjectAssemblyBuilderEvents events

Field Value

ObjectAssemblyBuilderEvents

fileIO

protected ObjectAssemblyBuilderFileIO fileIO

Field Value

ObjectAssemblyBuilderFileIO

input

protected ObjectAssemblyInputHandler input

Field Value

ObjectAssemblyInputHandler

moduleTypePartCache

public Dictionary<Type, List<IObjectAssemblyPart>> moduleTypePartCache

Field Value

Dictionary<Type, List<IObjectAssemblyPart>>

partAssemblies

public List<IObjectAssembly> partAssemblies

Field Value

List<IObjectAssembly>

partModuleTypeCache

public Dictionary<IObjectAssemblyPart, List<Type>> partModuleTypeCache

Field Value

Dictionary<IObjectAssemblyPart, List<Type>>

raycastDistance

protected float raycastDistance

Field Value

float

stats

protected OABSessionInformation stats

Field Value

OABSessionInformation

Properties

ClosestPartToCursor

public KeyValuePair<IObjectAssemblyPart, Vector3> ClosestPartToCursor { get; }

Property Value

KeyValuePair<IObjectAssemblyPart, Vector3>

Game

public GameInstance Game { get; }

Property Value

GameInstance

IsActiveManipulationWidget

public bool IsActiveManipulationWidget { get; set; }

Property Value

bool

PartBeingManipulated

public IObjectAssemblyPart PartBeingManipulated { get; set; }

Property Value

IObjectAssemblyPart

PartObjectLoadingCount

public int PartObjectLoadingCount { get; }

Property Value

int

PartObjectToLoadCount

public int PartObjectToLoadCount { get; }

Property Value

int

PartsMasterList

public IReadOnlyList<IObjectAssemblyPart> PartsMasterList { get; }

Property Value

IReadOnlyList<IObjectAssemblyPart>

PartsUnderCursor

public KeyValuePair<IObjectAssemblyPart, Vector3>[] PartsUnderCursor { get; }

Property Value

KeyValuePair<IObjectAssemblyPart, Vector3>[]

SymmetrySets

public IReadOnlyList<SymmetrySet> SymmetrySets { get; }

Property Value

IReadOnlyList<SymmetrySet>

partGrabbed

public IObjectAssemblyPart partGrabbed { get; set; }

Property Value

IObjectAssemblyPart

Methods

AddPartToMasterList(IObjectAssemblyPart)

public void AddPartToMasterList(IObjectAssemblyPart part)

Parameters

part IObjectAssemblyPart

AreSymmetrySiblings(IObjectAssemblyPart, IObjectAssemblyPart)

public bool AreSymmetrySiblings(IObjectAssemblyPart partA, IObjectAssemblyPart partB)

Parameters

partA IObjectAssemblyPart
partB IObjectAssemblyPart

Returns

bool

ClearAll()

public void ClearAll()

ClonePart(IObjectAssemblyPart)

public IObjectAssemblyPart ClonePart(IObjectAssemblyPart part)

Parameters

part IObjectAssemblyPart

Returns

IObjectAssemblyPart

ClonePart(IObjectAssemblyPart, List<IObjectAssemblyAvailablePart>, out Dictionary<IGGuid, IGGuid>)

public IObjectAssemblyPart ClonePart(IObjectAssemblyPart target, List<IObjectAssemblyAvailablePart> permittedParts, out Dictionary<IGGuid, IGGuid> oldToNew)

Parameters

target IObjectAssemblyPart
permittedParts List<IObjectAssemblyAvailablePart>
oldToNew Dictionary<IGGuid, IGGuid>

Returns

IObjectAssemblyPart

CreatePartAtCursor(IObjectAssemblyAvailablePart, ref IObjectAssemblyPart)

public IObjectAssembly CreatePartAtCursor(IObjectAssemblyAvailablePart partToCreate, ref IObjectAssemblyPart part)

Parameters

partToCreate IObjectAssemblyAvailablePart
part IObjectAssemblyPart

Returns

IObjectAssembly

CreatePartFreeFloating(IObjectAssemblyAvailablePart, Vector3?, ref IObjectAssemblyPart)

public IObjectAssembly CreatePartFreeFloating(IObjectAssemblyAvailablePart partToCreate, Vector3? partPosition, ref IObjectAssemblyPart part)

Parameters

partToCreate IObjectAssemblyAvailablePart
partPosition Vector3?
part IObjectAssemblyPart

Returns

IObjectAssembly

DeletePart(IObjectAssemblyPart, bool)

public void DeletePart(IObjectAssemblyPart partToDelete, bool omitPartDeletedMessages = false)

Parameters

partToDelete IObjectAssemblyPart
omitPartDeletedMessages bool

DestroyAssets()

public void DestroyAssets()

DetachParts(IObjectAssemblyPart, IObjectAssemblyPart)

public void DetachParts(IObjectAssemblyPart parent, IObjectAssemblyPart child)

Parameters

parent IObjectAssemblyPart
child IObjectAssemblyPart

Dispose()

public void Dispose()

DropPart(IObjectAssemblyPart, bool)

public void DropPart(IObjectAssemblyPart partToDrop, bool isLastPartPlaced = true)

Parameters

partToDrop IObjectAssemblyPart
isLastPartPlaced bool

DumpAssemblyState()

public void DumpAssemblyState()

GetAnchorIconMode()

public AssemblyIconMode GetAnchorIconMode()

Returns

AssemblyIconMode

GetAssemblyIconMode()

public AssemblyIconMode GetAssemblyIconMode()

Returns

AssemblyIconMode

GetBoundsPart(IObjectAssemblyPart, ref Bounds)

public void GetBoundsPart(IObjectAssemblyPart part, ref Bounds totalbounds)

Parameters

part IObjectAssemblyPart
totalbounds Bounds

GetPartsWithModule<TModule>()

public List<IObjectAssemblyPart> GetPartsWithModule<TModule>() where TModule : IPartModule

Returns

List<IObjectAssemblyPart>

Type Parameters

TModule

GetStages()

public List<IObjectAssemblyPartStageInfo> GetStages()

Returns

List<IObjectAssemblyPartStageInfo>

GrabPart(IObjectAssemblyPart)

public void GrabPart(IObjectAssemblyPart partToGrab)

Parameters

partToGrab IObjectAssemblyPart

Initialize(IReadOnlyCollection<PartCore>)

protected void Initialize(IReadOnlyCollection<PartCore> allPossibleParts)

Parameters

allPossibleParts IReadOnlyCollection<PartCore>

LoadPartDirectly(IObjectAssemblyAvailablePart, Action)

public void LoadPartDirectly(IObjectAssemblyAvailablePart target, Action loaded)

Parameters

target IObjectAssemblyAvailablePart
loaded Action

Locate(string, List<IObjectAssemblyAvailablePart>)

public virtual IObjectAssemblyAvailablePart Locate(string partName, List<IObjectAssemblyAvailablePart> permittedParts)

Parameters

partName string
permittedParts List<IObjectAssemblyAvailablePart>

Returns

IObjectAssemblyAvailablePart

ManuallyCreatePart(IObjectAssemblyAvailablePart, List<SerializedPartModule>, bool, bool, IObjectAssemblyPart, IGGuid?)

public IObjectAssemblyPart ManuallyCreatePart(IObjectAssemblyAvailablePart partToCreate, List<SerializedPartModule> existingModuleData = null, bool spawnInHand = true, bool isInAssembly = true, IObjectAssemblyPart referenceCurrent = null, IGGuid? guid = null)

Parameters

partToCreate IObjectAssemblyAvailablePart
existingModuleData List<SerializedPartModule>
spawnInHand bool
isInAssembly bool
referenceCurrent IObjectAssemblyPart
guid IGGuid?

Returns

IObjectAssemblyPart

OnPartPrefabLoaded(IObjectAssemblyAvailablePart, GameObject)

public void OnPartPrefabLoaded(IObjectAssemblyAvailablePart obj, GameObject prefab)

Parameters

obj IObjectAssemblyAvailablePart
prefab GameObject

PartAssemblyCount()

public int PartAssemblyCount()

Returns

int

PartRemoveParent(IObjectAssemblyPart)

public IObjectAssembly PartRemoveParent(IObjectAssemblyPart child)

Parameters

child IObjectAssemblyPart

Returns

IObjectAssembly

PartSetParent(IObjectAssemblyPart, IObjectAssemblyPart, IObjectAssemblyPartNode, IObjectAssemblyPartNode)

public IObjectAssembly PartSetParent(IObjectAssemblyPart parent, IObjectAssemblyPart child, IObjectAssemblyPartNode parentNode, IObjectAssemblyPartNode childNode)

Parameters

parent IObjectAssemblyPart
child IObjectAssemblyPart
parentNode IObjectAssemblyPartNode
childNode IObjectAssemblyPartNode

Returns

IObjectAssembly

RegisterSymmetrySet(SymmetrySet)

public void RegisterSymmetrySet(SymmetrySet symmetrySet)

Parameters

symmetrySet SymmetrySet

RemovePartFromMasterList(IObjectAssemblyPart)

public bool RemovePartFromMasterList(IObjectAssemblyPart part)

Parameters

part IObjectAssemblyPart

Returns

bool

RemovePartFromMasterList(int)

public void RemovePartFromMasterList(int index)

Parameters

index int

SetAnchorIconMode(AssemblyIconMode)

public void SetAnchorIconMode(AssemblyIconMode mode)

Parameters

mode AssemblyIconMode

SetAssemblyIconMode(AssemblyIconMode)

public void SetAssemblyIconMode(AssemblyIconMode mode)

Parameters

mode AssemblyIconMode

SetMainAssembly(IObjectAssembly)

public void SetMainAssembly(IObjectAssembly assembly = null)

Parameters

assembly IObjectAssembly

SetOmitStagingMessages(bool)

public void SetOmitStagingMessages(bool omitStagingMsgs)

Parameters

omitStagingMsgs bool

StackParts(IObjectAssemblyPartNode, IObjectAssemblyPartNode)

public void StackParts(IObjectAssemblyPartNode parent, IObjectAssemblyPartNode child)

Parameters

parent IObjectAssemblyPartNode
child IObjectAssemblyPartNode

SurfaceAttachParts(IObjectAssemblyPart, IObjectAssemblyPart)

public void SurfaceAttachParts(IObjectAssemblyPart parent, IObjectAssemblyPart child)

Parameters

parent IObjectAssemblyPart
child IObjectAssemblyPart

TryGetOABPart(string, out IObjectAssemblyPart)

public bool TryGetOABPart(string partName, out IObjectAssemblyPart oabPart)

Parameters

partName string
oabPart IObjectAssemblyPart

Returns

bool

TryGetPartWithGUID(IGGuid, out IObjectAssemblyPart)

public bool TryGetPartWithGUID(IGGuid guid, out IObjectAssemblyPart foundPart)

Parameters

guid IGGuid
foundPart IObjectAssemblyPart

Returns

bool

UnregisterSymmetrySet(SymmetrySet)

public void UnregisterSymmetrySet(SymmetrySet symmetrySet)

Parameters

symmetrySet SymmetrySet

UpdateAssemblyDeltaV(double, double)

public void UpdateAssemblyDeltaV(double universalTime, double deltaUniversalTime)

Parameters

universalTime double
deltaUniversalTime double

UpdateAssemblyIcon(IObjectAssemblyPart)

public void UpdateAssemblyIcon(IObjectAssemblyPart partGrabbed)

Parameters

partGrabbed IObjectAssemblyPart

UpdateAssemblyIconsPosition(Camera)

public void UpdateAssemblyIconsPosition(Camera curCamera)

Parameters

curCamera Camera

UpdateAssemblyIconsState()

public void UpdateAssemblyIconsState()