Kerbal Space Program  1.12.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Properties | List of all members
ModuleDeployablePart Class Reference
Inheritance diagram for ModuleDeployablePart:
PartModule IMultipleDragCube IScalarModule IConstruction Expansions.Serenity.ModuleRobotArmScanner ModuleDeployableAntenna ModuleDeployableRadiator ModuleDeployableSolarPanel

Public Types

enum  DeployState {
  DeployState.RETRACTED, DeployState.EXTENDED, DeployState.RETRACTING, DeployState.EXTENDING,
  DeployState.BROKEN
}
 
enum  PanelAlignType { PanelAlignType.PIVOT, PanelAlignType.X, PanelAlignType.Y, PanelAlignType.Z }
 
enum  TrackingMode {
  TrackingMode.SUN, TrackingMode.HOME, TrackingMode.CURRENT, TrackingMode.VESSEL,
  TrackingMode.NONE
}
 
- Public Types inherited from PartModule
enum  PartUpgradeState { PartUpgradeState.NONE, PartUpgradeState.LOCKED, PartUpgradeState.AVAILABLE }
 
enum  StartState {
  StartState.None = 0, StartState.Editor = 1, StartState.PreLaunch = 2, StartState.Landed = 4,
  StartState.Docked = 8, StartState.Flying = 16, StartState.Splashed = 32, StartState.SubOrbital = 64,
  StartState.Orbital = 128
}
 

Public Member Functions

void AssumeDragCubePosition (string name)
 Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. When called the module should set it's model position/setup to match the expected position/orientation when 'name' drag cube is active. More...
 
virtual void breakNotifications (string partTitle, string breakMessage)
 
virtual void breakPanels ()
 
virtual void CalculateTracking ()
 Checks if part is blocked (via raycast) from it's target. If trackToBody == true, then it also rotates the panels. More...
 
virtual bool CalculateTrackingLOS (Vector3 trackingDirection, ref string blocker)
 This method takes the tracking direction and calculates whether there is LOS (for parts which care about LOS, by default it only checks for aero shielding) More...
 
bool CanBeDetached ()
 calls AllowConstructionDeployState() More...
 
bool CanBeOffset ()
 calls AllowConstructionDeployState() More...
 
bool CanBeRotated ()
 calls AllowConstructionDeployState() More...
 
void CheatRepair ()
 Triggers the DoRepair method by the FixRepairableParts cheat. More...
 
void ControlPanelsWithoutUsingSymmetry (KSPActionType action)
 Deploys or retracts the part without activating symmetric parts. More...
 
void EventRepairExternal ()
 
virtual void Extend ()
 
void ExtendAction (KSPActionParam param)
 
void ExtendPanelsAction (KSPActionParam param)
 
virtual void FixedUpdate ()
 
string[] GetDragCubeNames ()
 Should return an array of strings that are the drag cube names that this module implements. More...
 
override string GetInfo ()
 Returns formatted string of additional data for use in the VAB and SPH More...
 
override string GetModuleDisplayName ()
 Override this to provide a Localized version of the PartModules Name for UI components More...
 
virtual void GetTrackingBodyTransforms ()
 
virtual bool IsMoving ()
 
virtual void LateUpdate ()
 
override void OnAwake ()
 Method fires once the module has been added to the part. Use for first time setup. Module will not have loaded fully by this point More...
 
virtual void OnCollisionEnter (Collision collision)
 
void OnDestroy ()
 
override void OnInventoryModeDisable ()
 This method will be called when this modules part and itself is first disabled (when it is not attached to a vessel) when created in Inventory/Construction mode. More...
 
override void OnLoad (ConfigNode node)
 Use OnLoad to load any additional data from the ConfigNode provided More...
 
override void OnModuleAdjusterRemoved (AdjusterPartModuleBase adjuster)
 Perform processing specific to this part module when an adjuster is removed. More...
 
override void OnSave (ConfigNode node)
 Use OnSave to serialize additional module information into the ConfigNode provided More...
 
override void OnStart (PartModule.StartState state)
 
override void OnStoredInInventory (ModuleInventoryPart moduleInventoryPart)
 Called when the part is stored in an inventory. More...
 
virtual void PostCalculateTracking (bool trackingLOS, Vector3 trackingDirection)
 Once tracking is complete, this is called to perform any additional actions More...
 
virtual void PostFSMUpdate ()
 
virtual void recurse (Transform t)
 
virtual void Retract ()
 
void RetractAction (KSPActionParam param)
 
virtual void SetScalar (float t)
 Call to tell the module to assume the given state. Mind transition may not happen instantly. Check GetScalar for the actual state of the thing. More...
 
virtual void SetUIRead (bool state)
 Call to set whether or not the module will display its own UI. Read and Write define which kinds of information are allowed to be displayed More...
 
virtual void SetUIWrite (bool state)
 Call to set whether or not the module will display its own UI. Read and Write define which kinds of information are allowed to be displayed More...
 
virtual bool ShouldBreakFromG ()
 
virtual bool ShouldBreakFromPressure ()
 
virtual void startFSM ()
 
virtual void updateFSM ()
 
bool UsesProceduralDragCubes ()
 Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. Should return true if this module is to use procedural drag cubes and false if it is to generate drag cubes for the drag cube names returned in GetDragCubeNames method. More...
 
- Public Member Functions inherited from PartModule
void AddPartModuleAdjuster (AdjusterPartModuleBase newAdjuster)
 Call this to add an adjuster to this part module. More...
 
void AddPartModuleAdjusterList (List< AdjusterPartModuleBase > moduleAdjusters)
 Applies the appropriate module adjusters. Performs checks to make sure that the adjusters are valid too. More...
 
bool AppliedUpgrades ()
 Returns true if upgrades are applied More...
 
void ApplyAdjustersOnStart ()
 Called when a part module is loaded and applies all of the currently loaded adjusters. More...
 
virtual void ApplyUpgradeNode (List< string > appliedUps, ConfigNode node, bool doLoad)
 Applies the upgrades to a confignode. Will either copy the upgrades back to the node or (if doLoad) calls load/onload on it. More...
 
virtual bool ApplyUpgrades (StartState state)
 Will find and apply upgrades. Called during Part's ModulesOnStart, before a module's OnStart. More...
 
void Awake ()
 
delegate bool boolPMApplyUpgrades (PartModule pm, StartState state)
 
delegate bool boolPMBoolDelegate (PartModule pm, bool apply)
 
void ClearPersistentId ()
 Clear the modules persistentId More...
 
void Copy (PartModule fromModule)
 
virtual void DemoteToPhysicslessPart ()
 This method will be called from Part class DemoteToPhysicslessPart when the part is being converted from physical to physicsless part. It is called before the joints and rigidbodies are destroyed. More...
 
virtual bool FindUpgrades (bool fillApplied, ConfigNode node=null)
 Find applicable upgrades to the partmodule (isunlocked and isenabled) and add to the upgradesApplied list. Pass true if you want to add the upgrades to upgradesApplied, false if you just want to know if at least one upgrade is applicable (unlocked rather than enabled) More...
 
virtual Color GetCurrentColor ()
 Returns the current part module color. More...
 
virtual Color GetCurrentColor (string fieldName)
 Returns the current part module color for a field where usespe. More...
 
uint GetPersistenActiontId ()
 Get the modules persistentID, and create one if it doesnt already have one More...
 
uint GetPersistentId ()
 Get the modules persistentID, and create one if it doesnt already have one More...
 
virtual string GetStagingDisableText ()
 
virtual string GetStagingEnableText ()
 
virtual string GetUpgradeInfo ()
 Called by Upgrade Stats dialog More...
 
bool HasUpgrades ()
 Returns true if upgrades exist for the partmodule More...
 
virtual bool IsStageable ()
 Should this module be counted when seeing whether to have a stack icon present? Override in a module for custom behavior; otherwise returns true if the module (or something the module inherits from above PartModule itself) overrides OnActive() More...
 
bool IsValidContractObjective (string objectiveType)
 Returns if, for example, an antenna part module qualifies as an antenna for contracts. More...
 
void Load (ConfigNode node)
 
virtual void LoadUpgrades (ConfigNode node)
 Loads module-relevant upgrades from the partmodule confignode More...
 
uint NewPersistentId ()
 Reset the modules persistentId to a new number More...
 
virtual void OnActive ()
 Called when the part is set active (after unpacking etc) More...
 
virtual void OnColorChanged (Color color)
 Meant to be overwritten by part modules implementing color changes. In this case, it doesn't matter which color picker changed specifically. More...
 
virtual void OnColorChanged (Color color, string pickerID="")
 Meant to be overwritten by part modules implementing color changes More...
 
virtual void OnConstructionModeFixedUpdate ()
 This method will be called when in EVA Construction mode and this part and itself is disabled (when it is not attached to a vessel) every FixedUpdate(). More...
 
virtual void OnConstructionModeUpdate ()
 This method will be called when in EVA Construction mode and this part and itself is disabled (when it is not attached to a vessel) every Update(). More...
 
virtual void OnCopy (PartModule fromModule)
 Use OnCopy to copy any additional data from the PartModule provided More...
 
virtual void OnFixedUpdate ()
 Called every physics/fixed frame that the part is active More...
 
virtual void OnIconCreate ()
 Method fires just before components are stripped from the gameobject to make it an icon. (The part is instantiated and then various components like Part, PartModule, EffectBehaviour, Colliders, Particles, etc are stripped and then it's set as the icon prefab. This lets PartModules do stuff to the model right before that happens. More...
 
virtual void OnInactive ()
 Called before the part goes inactive (after packing etc) More...
 
virtual void OnInitialize ()
 Called on all modules after all parts are loaded but before they give the ship to the game More...
 
virtual void OnInventoryModeEnable ()
 This method will be called when this modules part and itself is first enabled (when it is attached to a vessel) when created in Inventory/Construction mode. More...
 
void OnModuleAdjusterAddedWrapper (AdjusterPartModuleBase adjuster)
 Wrapper to check the mission expansion availability before performing processing specific to this part module when an adjuster is added. More...
 
virtual void OnPartCreatedFomInventory (ModuleInventoryPart moduleInventoryPart)
 This method is called when a part is being taken out from a slot while being in EVAConstruction mode. More...
 
virtual void OnStart (StartState state)
 Called when the part starts. The StartState gives an indication of where in flight you are. All values may not be plugged in! More...
 
virtual void OnStartBeforePartAttachJoint (StartState state)
 Called in flight scene in Part.Start just before the Part attachnode joints are created. More...
 
virtual void OnStartFinished (StartState state)
 Called when the part finishes starting. The StartState gives an indication of where in flight you are. All values may not be plugged in! More...
 
virtual void OnUpdate ()
 Called every frame that the part is active More...
 
virtual void OnWasCopied (PartModule copyPartModule, bool asSymCounterpart)
 Called when the PartModule was copied, through Alt+Copy or symmetry More...
 
virtual void OnWillBeCopied (bool asSymCounterpart)
 Called when the PartModule is about to be copied, through Alt+Copy or symmetry More...
 
virtual bool OnWillBeMirrored (ref Quaternion rotation, AttachNode selPartNode, Part partParent)
 This is called in the Editor scene when a symmetry copy of a part is being positioned. Only called on the symmetry parts and only when symmetry mode is set to Mirror. It allows the mirror rotation to be changed and returned before being applied to the symmetry copy part.

Parameters
rotationThe current calculated rotation. Will be updated if method returns true.
selPartNodeThe attachnode.
partParentThe part that will become this part's parent.
Returns
True if the rotation was changed. Otherwise will return false.
More...
 
virtual List< Color > PresetColors ()
 Preset colors received for any part module. By default, returns only black, override to make your own selection. More...
 
virtual string PrintUpgrades ()
 
virtual void PromoteToPhysicalPart ()
 This method will be called from Part class PromoteToPhysicalPart when the part is being converted from physicsless to physical part. More...
 
void RemovePartModuleAdjuster (AdjusterPartModuleBase oldAdjuster)
 Call this to remove an adjuster from this part module. More...
 
void RemovePartModuleAdjusterList (List< AdjusterPartModuleBase > moduleAdjusters)
 Removes the appropriate module adjusters. Performs checks to make sure that the adjusters are valid too. More...
 
void Save (ConfigNode node)
 
virtual void SetStaging (bool newValue)
 Run by the part's staging toggle handler, sets staging on modules on symmetry counterparts. More...
 
void SetStagingState (bool newState)
 Set the staging enabled bool for this module. More...
 
virtual bool StagingEnabled ()
 Gets current staging status (is staging enabled for this module) Override me! More...
 
virtual bool StagingToggleEnabledEditor ()
 
virtual bool StagingToggleEnabledFlight ()
 
void ToggleStaging ()
 
virtual void UpdateStagingToggle ()
 Updates the staging toggle More...
 
delegate void voidPMApplyNodeDelegate (PartModule pm, List< string > appliedUps, ConfigNode node, bool doLoad)
 
delegate void voidPMDelegate (PartModule pm)
 
delegate void voidPMNodeDelegate (PartModule pm, ConfigNode node)
 

Public Attributes

PanelAlignType alignType = PanelAlignType.PIVOT
 
string animationName
 Set to the animation clip name the part is to use. If blank will use the first animation clip found on the part. More...
 
bool applyShielding = true
 Apply shielding to part tracking/function. More...
 
bool applyShieldingExtend = true
 Apply shielding to part being able to extend. More...
 
string breakName = string.Empty
 Used to specific a break transform for when the part breaks if a different transform is required from the pivotName. More...
 
string brokenStatusWarning = ""
 Display that warns about a broken wheel when not on EVA. More...
 
Quaternion currentRotation
 
DeployState deployState = DeployState.RETRACTED
 
List< string > destroyOnBreakObjects
 List of child game objects which won't be turned into physical objects and will instead be destroyed when the deployable part breaks. More...
 
float editorAnimationSpeedMult = 10f
 
bool eventsInSymmwtryAlways = false
 
bool eventsInSymmwtryEditor = true
 
string extendActionName = "#autoLOC_6001801"
 
string extendpanelsActionName = "#autoLOC_6001800"
 
double gResistance = double.PositiveInfinity
 
bool hasPivot
 
float impactResistance = 2f
 
float impactResistanceRetracted = 5f
 
bool isBreakable = true
 If the part is breakable. More...
 
bool isTracking = true
 True if part tracks a vessel or CB More...
 
string moduleID = "deployablePart"
 
Quaternion originalRotation
 Original - default starting rotation More...
 
Transform panelBreakTransform
 
float panelDrag = 0.4f
 
Transform panelRotationTransform
 
string partType = "#autoLOC_235329"
 
string pivotName = "sunPivot"
 The tracking pivot transform name in the model. Is also used for break transform if the breakName is not specified. More...
 
bool retractable = true
 If the part can be retracted once extended. More...
 
string retractActionName = "#autoLOC_6001802"
 
bool runOnce = true
 
string secondaryTransformName = string.Empty
 
bool showStatus = true
 Show the status string in the PAW More...
 
string status = Localizer.Format("#autoLOC_234861")
 
float storedAnimationSpeed
 
float storedAnimationTime
 
float subPartMass = 0.01f
 
string subPartName = "#autoLOC_235328"
 
float TrackingAlignmentOffset = 0f
 
CelestialBody trackingBody = null
 
TrackingMode trackingMode = TrackingMode.SUN
 Internals of one sort or another. More...
 
float trackingSpeed = 0.25f
 
Transform trackingTransformLocal
 
Transform trackingTransformScaled
 
Vessel trackingVessel = null
 
bool useAnimation = true
 Set to true to use the animation via the PAW. More...
 
bool useCurve = false
 
string vesselID
 
float windResistance = 3f
 this is now in kPa (times sin(AoA)) More...
 
- Public Attributes inherited from PartModule
bool isEnabled = true
 
bool moduleIsEnabled = true
 
string moduleName
 
bool overrideStagingIconIfBlank = true
 
ModuleResourceHandler resHandler = new ModuleResourceHandler()
 
bool showUpgradesInModuleInfo = false
 
ProtoPartModuleSnapshot snapshot
 
string stagingDisableText = ""
 
bool stagingEnabled = true
 
string stagingEnableText = ""
 
bool stagingToggleEnabledEditor = false
 
bool stagingToggleEnabledFlight = false
 
List< ConfigNodeupgrades
 
List< string > upgradesApplied = new List<string>()
 
bool upgradesApply = true
 
bool upgradesAsk = true
 

Protected Member Functions

virtual bool AllowConstructionDeployState ()
 Checks the values of deployState and returns a bool if construction is allowed. More...
 
virtual void DoExtend ()
 
virtual bool DoRepair ()
 Performs part repair. More...
 
virtual void DoRetract ()
 
bool IsDeployablePartStuck ()
 
override void OnModuleAdjusterAdded (AdjusterPartModuleBase adjuster)
 Perform processing specific to this part module when an adjuster is added. More...
 
- Protected Member Functions inherited from PartModule
ConfigNode GetUpgrade (string name)
 
virtual void LoadUpgradesApplied (List< string > applieds, ConfigNode node)
 Load the applied upgrade names More...
 
virtual void SaveUpgradesApplied (ConfigNode node)
 Save the applied upgrades. More...
 
IEnumerator UpgradeWaitForScenarioModules ()
 

Protected Attributes

Animation anim
 
string blockingObject
 
EventData< float, float > onMove
 
EventData< float > onStop
 
bool overrideUIWriteState = true
 
Transform secondaryTransform
 
bool stopAnimation = false
 
bool trackingLOS
 

Static Protected Attributes

static string cacheAutoLOC_234828
 
static string cacheAutoLOC_234841
 
static string cacheAutoLOC_234856
 
static string cacheAutoLOC_234861
 
static string cacheAutoLOC_234868
 
static string cacheAutoLOC_6001017
 
static string cacheAutoLOC_6001415
 
static string cacheAutoLOC_6005093
 
- Static Protected Attributes inherited from PartModule
static Dictionary< string,
ConfigNode
exclusives = new Dictionary<string, ConfigNode>()
 
static Dictionary< Type,
ReflectedAttributes
reflectedAttributeCache = new Dictionary<Type, ReflectedAttributes>()
 

Properties

virtual bool CanMove [get]
 
virtual float GetScalar [get]
 
bool IsMultipleCubesActive [get]
 
virtual float MinAoAForQCheck [get]
 
EventData< float, float > OnMoving [get]
 
EventData< float > OnStop [get]
 
string ScalarModuleID [get]
 
- Properties inherited from PartModule
BaseActionList Actions [get]
 
int ClassID [get]
 
string ClassName [get]
 
List< AdjusterPartModuleBaseCurrentModuleAdjusterList [get]
 List of all the module adjusters that are currently active on this part module. More...
 
BaseEventList Events [get]
 
BaseFieldList Fields [get]
 
string GUIName [get]
 
bool HasAdjusters [get]
 Has this part module been adjusted? More...
 
ReflectedAttributes ModuleAttributes [get, set]
 
Part part [get, set]
 
uint PersistentActionsId [get, set]
 A unique identifier for each vessel including from when it was Shipconstruct More...
 
uint PersistentId [get]
 A unique identifier for each vessel including from when it was Shipconstruct More...
 
Vessel vessel [get]
 
- Properties inherited from IMultipleDragCube
bool IsMultipleCubesActive [get]
 Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. Should return true if multiple drag cubes are expected to be generated for the part this module is a part of or false if not. More...
 
- Properties inherited from IScalarModule
bool CanMove [get]
 A flag stating whether or not the module is able to change state at all. More...
 
float GetScalar [get]
 
EventData< float, float > OnMoving [get]
 
EventData< float > OnStop [get]
 
string ScalarModuleID [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from PartModule
static ReflectedAttributes GetReflectedAttributes (Type partModuleType)
 
static PartUpgradeState UpgradesAvailable (Part part)
 Returns true if at least one module on the part has at least one upgrade available (isUnlocked) More...
 
static PartUpgradeState UpgradesAvailable (Part part, ConfigNode node)
 Returns true if at least one module on the part has at least one upgrade available (isUnlocked) More...
 
- Static Public Attributes inherited from PartModule
static voidPMApplyNodeDelegate ApplyUpgradeNodeDel
 
static boolPMApplyUpgrades ApplyUpgradesDel
 
static bool ApplyUpgradesEditorAuto = true
 
static boolPMBoolDelegate FindUpgradesDel
 
static voidPMNodeDelegate LoadExpansionNodes
 Hook for loading extra nodes common to all part modules. More...
 
static voidPMNodeDelegate LoadUpgradesDel
 
static voidPMNodeDelegate SaveExpansionNodes
 Hook for saving extra nodes common to all part modules. More...
 
static voidPMDelegate SetupExpansion
 Hook for performing extra setup common to all part modules. More...
 
static string UpgradesAvailableString = "#autoLOC_6002273"
 
static string UpgradesLockedString = "#autoLOC_6002274"
 

Member Enumeration Documentation

Enumerator
RETRACTED 
EXTENDED 
RETRACTING 
EXTENDING 
BROKEN 
Enumerator
PIVOT 
Enumerator
SUN 
HOME 
CURRENT 
VESSEL 
NONE 

Member Function Documentation

virtual bool ModuleDeployablePart.AllowConstructionDeployState ( )
inlineprotectedvirtual

Checks the values of deployState and returns a bool if construction is allowed.

Returns
void ModuleDeployablePart.AssumeDragCubePosition ( string  name)
inline

Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. When called the module should set it's model position/setup to match the expected position/orientation when 'name' drag cube is active.

Parameters
nameThe name of the drag cube to assume the position/setup for.

Implements IMultipleDragCube.

virtual void ModuleDeployablePart.breakNotifications ( string  partTitle,
string  breakMessage 
)
inlinevirtual
virtual void ModuleDeployablePart.breakPanels ( )
inlinevirtual

< Getting the position of the part relative to the center of mass of the part

< Calculating and adding the tangental speed vector to the world speed vector.

Reimplemented in Expansions.Serenity.ModuleRobotArmScanner.

virtual void ModuleDeployablePart.CalculateTracking ( )
inlinevirtual

Checks if part is blocked (via raycast) from it's target. If trackToBody == true, then it also rotates the panels.

< Get world directional vector to the tracked object

< Get local relative vector to the sun

< Get the angle we need to traverse

< Store the target angle in a quaternion for easy lerping

< Lerp Towards our target rotation

< What pesky planet is all up in my light? //#autoLOC_234994 = Blocked by <<1>>

virtual bool ModuleDeployablePart.CalculateTrackingLOS ( Vector3  trackingDirection,
ref string  blocker 
)
inlinevirtual

This method takes the tracking direction and calculates whether there is LOS (for parts which care about LOS, by default it only checks for aero shielding)

Parameters
trackingDirection
blocker
Returns

Reimplemented in ModuleDeployableSolarPanel.

bool ModuleDeployablePart.CanBeDetached ( )
inline

calls AllowConstructionDeployState()

Returns

Implements IConstruction.

bool ModuleDeployablePart.CanBeOffset ( )
inline

calls AllowConstructionDeployState()

Returns

Implements IConstruction.

bool ModuleDeployablePart.CanBeRotated ( )
inline

calls AllowConstructionDeployState()

Returns

Implements IConstruction.

void ModuleDeployablePart.CheatRepair ( )
inline

Triggers the DoRepair method by the FixRepairableParts cheat.

void ModuleDeployablePart.ControlPanelsWithoutUsingSymmetry ( KSPActionType  action)
inline

Deploys or retracts the part without activating symmetric parts.

Parameters
actionEnum that specifies whether the part should be deployed or retracted.
virtual void ModuleDeployablePart.DoExtend ( )
inlineprotectedvirtual
virtual bool ModuleDeployablePart.DoRepair ( )
inlineprotectedvirtual

Performs part repair.

Returns
if the repair was successful or not.

< Store the original Quaternion

< set current to original

Reimplemented in Expansions.Serenity.ModuleRobotArmScanner.

virtual void ModuleDeployablePart.DoRetract ( )
inlineprotectedvirtual

< let FSM set this - Events["Extend"].active = true;

Reimplemented in Expansions.Serenity.ModuleRobotArmScanner.

void ModuleDeployablePart.EventRepairExternal ( )
inline
virtual void ModuleDeployablePart.Extend ( )
inlinevirtual

Reimplemented in ModuleDeployableAntenna.

void ModuleDeployablePart.ExtendAction ( KSPActionParam  param)
inline
void ModuleDeployablePart.ExtendPanelsAction ( KSPActionParam  param)
inline
virtual void ModuleDeployablePart.FixedUpdate ( )
inlinevirtual

< track self for now.

Reimplemented in ModuleDeployableSolarPanel.

string [] ModuleDeployablePart.GetDragCubeNames ( )
inline

Should return an array of strings that are the drag cube names that this module implements.

Returns

Implements IMultipleDragCube.

override string ModuleDeployablePart.GetInfo ( )
inlinevirtual

Returns formatted string of additional data for use in the VAB and SPH

Returns

Reimplemented from PartModule.

Reimplemented in ModuleDeployableSolarPanel.

override string ModuleDeployablePart.GetModuleDisplayName ( )
inlinevirtual

Override this to provide a Localized version of the PartModules Name for UI components

Returns

Reimplemented from PartModule.

Reimplemented in ModuleDeployableSolarPanel.

virtual void ModuleDeployablePart.GetTrackingBodyTransforms ( )
inlinevirtual
bool ModuleDeployablePart.IsDeployablePartStuck ( )
inlineprotected
virtual bool ModuleDeployablePart.IsMoving ( )
inlinevirtual

Implements IScalarModule.

virtual void ModuleDeployablePart.LateUpdate ( )
inlinevirtual
override void ModuleDeployablePart.OnAwake ( )
inlinevirtual

Method fires once the module has been added to the part. Use for first time setup. Module will not have loaded fully by this point

< Store the original Quaternion

< set current to original

Reimplemented from PartModule.

Reimplemented in ModuleDeployableSolarPanel.

virtual void ModuleDeployablePart.OnCollisionEnter ( Collision  collision)
inlinevirtual
void ModuleDeployablePart.OnDestroy ( )
inline
override void ModuleDeployablePart.OnInventoryModeDisable ( )
inlinevirtual

This method will be called when this modules part and itself is first disabled (when it is not attached to a vessel) when created in Inventory/Construction mode.

Reimplemented from PartModule.

Reimplemented in ModuleDeployableSolarPanel.

override void ModuleDeployablePart.OnLoad ( ConfigNode  node)
inlinevirtual

Use OnLoad to load any additional data from the ConfigNode provided

Parameters
node

< For backwards compatibility //#autoLOC_234583

Reimplemented from PartModule.

Reimplemented in ModuleDeployableSolarPanel.

override void ModuleDeployablePart.OnModuleAdjusterAdded ( AdjusterPartModuleBase  adjuster)
inlineprotectedvirtual

Perform processing specific to this part module when an adjuster is added.

Parameters
adjusterAdjuster which will be applied to part module.

Reimplemented from PartModule.

Reimplemented in ModuleDeployableSolarPanel.

override void ModuleDeployablePart.OnModuleAdjusterRemoved ( AdjusterPartModuleBase  adjuster)
inlinevirtual

Perform processing specific to this part module when an adjuster is removed.

Parameters
adjusterAdjuster which is being removed from part module.

Reimplemented from PartModule.

Reimplemented in ModuleDeployableSolarPanel.

override void ModuleDeployablePart.OnSave ( ConfigNode  node)
inlinevirtual

Use OnSave to serialize additional module information into the ConfigNode provided

Parameters
node

Reimplemented from PartModule.

override void ModuleDeployablePart.OnStart ( PartModule.StartState  state)
inline
override void ModuleDeployablePart.OnStoredInInventory ( ModuleInventoryPart  moduleInventoryPart)
inlinevirtual

Called when the part is stored in an inventory.

Parameters
moduleInventoryPart

Reimplemented from PartModule.

virtual void ModuleDeployablePart.PostCalculateTracking ( bool  trackingLOS,
Vector3  trackingDirection 
)
inlinevirtual

Once tracking is complete, this is called to perform any additional actions

Parameters
trackingLOS
trackingDirection

Reimplemented in ModuleDeployableSolarPanel.

virtual void ModuleDeployablePart.PostFSMUpdate ( )
inlinevirtual

Reimplemented in ModuleDeployableSolarPanel.

virtual void ModuleDeployablePart.recurse ( Transform  t)
inlinevirtual
virtual void ModuleDeployablePart.Retract ( )
inlinevirtual
void ModuleDeployablePart.RetractAction ( KSPActionParam  param)
inline
virtual void ModuleDeployablePart.SetScalar ( float  t)
inlinevirtual

Call to tell the module to assume the given state. Mind transition may not happen instantly. Check GetScalar for the actual state of the thing.

Parameters
s

Implements IScalarModule.

virtual void ModuleDeployablePart.SetUIRead ( bool  state)
inlinevirtual

Call to set whether or not the module will display its own UI. Read and Write define which kinds of information are allowed to be displayed

< if we show status normally, don't let the controller hide it.

Implements IScalarModule.

virtual void ModuleDeployablePart.SetUIWrite ( bool  state)
inlinevirtual

Call to set whether or not the module will display its own UI. Read and Write define which kinds of information are allowed to be displayed

Implements IScalarModule.

virtual bool ModuleDeployablePart.ShouldBreakFromG ( )
inlinevirtual
virtual bool ModuleDeployablePart.ShouldBreakFromPressure ( )
inlinevirtual

< can't escape some airflow.

virtual void ModuleDeployablePart.startFSM ( )
inlinevirtual
virtual void ModuleDeployablePart.updateFSM ( )
inlinevirtual

< Just make sure that we're 100% back in the original position

< Store that rotation for persistence

Reimplemented in Expansions.Serenity.ModuleRobotArmScanner.

bool ModuleDeployablePart.UsesProceduralDragCubes ( )
inline

Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. Should return true if this module is to use procedural drag cubes and false if it is to generate drag cubes for the drag cube names returned in GetDragCubeNames method.

Returns

Implements IMultipleDragCube.

Member Data Documentation

PanelAlignType ModuleDeployablePart.alignType = PanelAlignType.PIVOT
Animation ModuleDeployablePart.anim
protected
string ModuleDeployablePart.animationName

Set to the animation clip name the part is to use. If blank will use the first animation clip found on the part.

bool ModuleDeployablePart.applyShielding = true

Apply shielding to part tracking/function.

bool ModuleDeployablePart.applyShieldingExtend = true

Apply shielding to part being able to extend.

string ModuleDeployablePart.blockingObject
protected
string ModuleDeployablePart.breakName = string.Empty

Used to specific a break transform for when the part breaks if a different transform is required from the pivotName.

string ModuleDeployablePart.brokenStatusWarning = ""

Display that warns about a broken wheel when not on EVA.

string ModuleDeployablePart.cacheAutoLOC_234828
staticprotected
string ModuleDeployablePart.cacheAutoLOC_234841
staticprotected
string ModuleDeployablePart.cacheAutoLOC_234856
staticprotected
string ModuleDeployablePart.cacheAutoLOC_234861
staticprotected
string ModuleDeployablePart.cacheAutoLOC_234868
staticprotected
string ModuleDeployablePart.cacheAutoLOC_6001017
staticprotected
string ModuleDeployablePart.cacheAutoLOC_6001415
staticprotected
string ModuleDeployablePart.cacheAutoLOC_6005093
staticprotected
Quaternion ModuleDeployablePart.currentRotation
DeployState ModuleDeployablePart.deployState = DeployState.RETRACTED
List<string> ModuleDeployablePart.destroyOnBreakObjects

List of child game objects which won't be turned into physical objects and will instead be destroyed when the deployable part breaks.

float ModuleDeployablePart.editorAnimationSpeedMult = 10f
bool ModuleDeployablePart.eventsInSymmwtryAlways = false
bool ModuleDeployablePart.eventsInSymmwtryEditor = true
string ModuleDeployablePart.extendActionName = "#autoLOC_6001801"
string ModuleDeployablePart.extendpanelsActionName = "#autoLOC_6001800"
double ModuleDeployablePart.gResistance = double.PositiveInfinity
bool ModuleDeployablePart.hasPivot
float ModuleDeployablePart.impactResistance = 2f
float ModuleDeployablePart.impactResistanceRetracted = 5f
bool ModuleDeployablePart.isBreakable = true

If the part is breakable.

bool ModuleDeployablePart.isTracking = true

True if part tracks a vessel or CB

string ModuleDeployablePart.moduleID = "deployablePart"
EventData<float, float> ModuleDeployablePart.onMove
protected
EventData<float> ModuleDeployablePart.onStop
protected
Quaternion ModuleDeployablePart.originalRotation

Original - default starting rotation

bool ModuleDeployablePart.overrideUIWriteState = true
protected
Transform ModuleDeployablePart.panelBreakTransform
float ModuleDeployablePart.panelDrag = 0.4f
Transform ModuleDeployablePart.panelRotationTransform
string ModuleDeployablePart.partType = "#autoLOC_235329"
string ModuleDeployablePart.pivotName = "sunPivot"

The tracking pivot transform name in the model. Is also used for break transform if the breakName is not specified.

bool ModuleDeployablePart.retractable = true

If the part can be retracted once extended.

string ModuleDeployablePart.retractActionName = "#autoLOC_6001802"
bool ModuleDeployablePart.runOnce = true
Transform ModuleDeployablePart.secondaryTransform
protected
string ModuleDeployablePart.secondaryTransformName = string.Empty
bool ModuleDeployablePart.showStatus = true

Show the status string in the PAW

string ModuleDeployablePart.status = Localizer.Format("#autoLOC_234861")
bool ModuleDeployablePart.stopAnimation = false
protected
float ModuleDeployablePart.storedAnimationSpeed
float ModuleDeployablePart.storedAnimationTime
float ModuleDeployablePart.subPartMass = 0.01f
string ModuleDeployablePart.subPartName = "#autoLOC_235328"
float ModuleDeployablePart.TrackingAlignmentOffset = 0f
CelestialBody ModuleDeployablePart.trackingBody = null
bool ModuleDeployablePart.trackingLOS
protected
TrackingMode ModuleDeployablePart.trackingMode = TrackingMode.SUN

Internals of one sort or another.

float ModuleDeployablePart.trackingSpeed = 0.25f
Transform ModuleDeployablePart.trackingTransformLocal
Transform ModuleDeployablePart.trackingTransformScaled
Vessel ModuleDeployablePart.trackingVessel = null
bool ModuleDeployablePart.useAnimation = true

Set to true to use the animation via the PAW.

bool ModuleDeployablePart.useCurve = false
string ModuleDeployablePart.vesselID
float ModuleDeployablePart.windResistance = 3f

this is now in kPa (times sin(AoA))

Property Documentation

virtual bool ModuleDeployablePart.CanMove
get
virtual float ModuleDeployablePart.GetScalar
get
bool ModuleDeployablePart.IsMultipleCubesActive
get
virtual float ModuleDeployablePart.MinAoAForQCheck
get
EventData<float, float> ModuleDeployablePart.OnMoving
get
EventData<float> ModuleDeployablePart.OnStop
get
string ModuleDeployablePart.ScalarModuleID
get

The documentation for this class was generated from the following file: