Class ObjectAssemblyPartTracker
- Namespace
- KSP.OAB
- Assembly
- Assembly-CSharp.dll
public class ObjectAssemblyPartTracker : IDisposable
- Inheritance
-
ObjectAssemblyPartTracker
- Implements
-
- Inherited Members
-
- Extension Methods
-
Constructors
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
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
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()
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()
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()