Kerbal Space Program  1.12.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Attributes | Properties | List of all members
PartModule Class Reference
Inheritance diagram for PartModule:
AxisTestModule BaseConverter CommNet.ModuleProbeControlPoint CommNet.ModuleRelayEnabler CompoundParts.CompoundPartModule EVAResourceContainer Expansions.Serenity.BaseServo Expansions.Serenity.ModuleRoboticController FlagDecal FlagSite FXModuleAnimateRCS FXModuleAnimateThrottle FXModuleConstrainPosition FXModuleLookAtConstraint KerbalEVA KerbalSeat LaunchClamp ModuleAblator ModuleActiveRadiator ModuleAlternator ModuleAnalysisResource ModuleAnimateGeneric ModuleAnimationGroup ModuleAnimationSetter ModuleAnimatorLandingGear ModuleAsteroid ModuleBiomeScanner ModuleCargoBay ModuleCargoPart ModuleColorChanger ModuleComet ModuleCommand ModuleConductionMultiplier ModuleCoreHeat ModuleDataTransmitter ModuleDecouplerBase ModuleDeployablePart ModuleDisplaceTweak ModuleDockingNode ModuleDragAreaModifier ModuleDragModifier ModuleDynamicNodes ModuleEffectTest ModuleEngines ModuleEnviroSensor ModuleExperienceManagement ModuleFlightDisplay ModuleFuelJettison ModuleGenerator ModuleGimbal ModuleGPS ModuleGrappleNode ModuleInventoryPart ModuleJettison ModuleJointMotor ModuleJointMotorTest ModuleJointPivot ModuleKerbNetAccess ModuleLiftingSurface ModuleLight ModuleMirrorPlacement ModuleOrbitalScanner ModuleOrbitalSurveyor ModuleOverheatDisplay ModuleParachute ModulePartFirework ModulePartVariants ModulePhysicMaterial ModuleProceduralFairing ModuleRCS ModuleReactionWheel ModuleRemoteController ModuleResourceAutoShiftState ModuleResourceDrain ModuleResourceIntake ModuleResourceScanner ModuleSampleCollector ModuleSampleContainer ModuleSAS ModuleScienceContainer ModuleScienceExperiment ModuleScienceLab ModuleSeeThroughObject ModuleServiceModule ModuleSpaceObjectAnalysis ModuleSpaceObjectInfo ModuleSpaceObjectResource ModuleStatusLight ModuleStructuralNode ModuleStructuralNodeToggle ModuleSurfaceFX ModuleTestSubject ModuleToggleCrossfeed ModuleTripLogger ModuleWheelBase ModuleWheels.ModuleWheelSubmodule MultiModeEngine PartModuleFXSetter PartStatsUpgradeModule RetractableLadder SentinelMission.SentinelModule

Classes

class  ReflectedAttributes
 

Public Types

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 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...
 
virtual string GetInfo ()
 Returns formatted string of additional data for use in the VAB and SPH More...
 
virtual string GetModuleDisplayName ()
 Override this to provide a Localized version of the PartModules Name for UI components 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 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 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 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...
 
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...
 
virtual void OnLoad (ConfigNode node)
 Use OnLoad to load any additional data from the ConfigNode provided 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 OnModuleAdjusterRemoved (AdjusterPartModuleBase adjuster)
 Perform processing specific to this part module when an adjuster is removed. By default this does nothing is up to each part module to implement it properly. 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 OnSave (ConfigNode node)
 Use OnSave to serialize additional module information into the ConfigNode provided 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 OnStoredInInventory (ModuleInventoryPart moduleInventoryPart)
 Called when the part is stored in an inventory. 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)
 

Static Public Member Functions

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...
 

Public Attributes

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
 

Static Public Attributes

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"
 

Protected Member Functions

ConfigNode GetUpgrade (string name)
 
virtual void LoadUpgradesApplied (List< string > applieds, ConfigNode node)
 Load the applied upgrade names More...
 
virtual void OnModuleAdjusterAdded (AdjusterPartModuleBase adjuster)
 Perform processing specific to this part module when an adjuster is added. By default this does nothing is up to each part module to implement it properly. More...
 
virtual void SaveUpgradesApplied (ConfigNode node)
 Save the applied upgrades. More...
 
IEnumerator UpgradeWaitForScenarioModules ()
 

Static Protected Attributes

static Dictionary< string,
ConfigNode
exclusives = new Dictionary<string, ConfigNode>()
 
static Dictionary< Type,
ReflectedAttributes
reflectedAttributeCache = new Dictionary<Type, ReflectedAttributes>()
 

Properties

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]
 

Member Enumeration Documentation

Enumerator
NONE 
LOCKED 
AVAILABLE 
Enumerator
None 
Editor 
PreLaunch 
Landed 
Docked 
Flying 
Splashed 
SubOrbital 
Orbital 

Member Function Documentation

void PartModule.AddPartModuleAdjuster ( AdjusterPartModuleBase  newAdjuster)
inline

Call this to add an adjuster to this part module.

Parameters
newAdjusterNew adjuster to be applied to part module.
void PartModule.AddPartModuleAdjusterList ( List< AdjusterPartModuleBase moduleAdjusters)
inline

Applies the appropriate module adjusters. Performs checks to make sure that the adjusters are valid too.

Template Parameters
moduleAdjustersList of module adjusters to apply
bool PartModule.AppliedUpgrades ( )
inline

Returns true if upgrades are applied

Returns
void PartModule.ApplyAdjustersOnStart ( )
inline

Called when a part module is loaded and applies all of the currently loaded adjusters.

virtual void PartModule.ApplyUpgradeNode ( List< string >  appliedUps,
ConfigNode  node,
bool  doLoad 
)
inlinevirtual

Applies the upgrades to a confignode. Will either copy the upgrades back to the node or (if doLoad) calls load/onload on it.

Parameters
appliedUpsThe list of applied upgrades to draw from. Usually upgradesApplied
nodeThe node to compare against and remove anything in the upgrade that is in the node (i.e. don't touch persistent fields)
doLoadDo we copy to the node (if false), or create a new node and load from it (true)?

< If we're exclusive, clear before going on, else overwrite

virtual bool PartModule.ApplyUpgrades ( StartState  state)
inlinevirtual

Will find and apply upgrades. Called during Part's ModulesOnStart, before a module's OnStart.

Parameters
state
Returns

< yeah a bit garbagey but whatever.

void PartModule.Awake ( )
inline
delegate bool PartModule.boolPMApplyUpgrades ( PartModule  pm,
StartState  state 
)
delegate bool PartModule.boolPMBoolDelegate ( PartModule  pm,
bool  apply 
)
void PartModule.ClearPersistentId ( )
inline

Clear the modules persistentId

void PartModule.Copy ( PartModule  fromModule)
inline
virtual void PartModule.DemoteToPhysicslessPart ( )
inlinevirtual

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.

Reimplemented in Expansions.Serenity.BaseServo, ModuleWheelBase, ModuleDockingNode, and RetractableLadder.

virtual bool PartModule.FindUpgrades ( bool  fillApplied,
ConfigNode  node = null 
)
inlinevirtual

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)

Parameters
fillApplied
Returns

< refresh upgrades list

< If there's nothing to apply, bail out.

virtual Color PartModule.GetCurrentColor ( )
inlinevirtual

Returns the current part module color.

Returns

Reimplemented in KerbalEVA, and ModuleLight.

virtual Color PartModule.GetCurrentColor ( string  fieldName)
inlinevirtual

Returns the current part module color for a field where usespe.

Parameters
fieldNameThe fieldname we are looking for the color from
Returns

Reimplemented in ModulePartFirework.

virtual string PartModule.GetInfo ( )
inlinevirtual
virtual string PartModule.GetModuleDisplayName ( )
inlinevirtual

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

Returns

Reimplemented in PartStatsUpgradeModule, ModuleProceduralFairing, ModuleDockingNode, ModuleEngines, Expansions.Serenity.ModuleRobotArmScanner, Expansions.Serenity.ModuleRoboticController, ModuleInventoryPart, ModuleDeployablePart, ModuleLight, ModuleScienceExperiment, ModuleControlSurface, ModuleGrappleNode, ModuleCargoBay, ModuleParachute, ModuleWheelBase, ModuleRCS, ModuleWheels.ModuleWheelDeployment, ModuleDataTransmitter, BaseConverter, ModuleCommand, ModuleGroundSciencePart, ModuleCoreHeat, ModuleScienceContainer, FlagDecalBackground, ModulePartVariants, ModuleScienceLab, ModuleColorChanger, ModuleCargoPart, ModuleActiveRadiator, ModuleGroundPart, ModuleServiceModule, ModuleResourceHarvester, ModuleLiftingSurface, ModuleGimbal, Expansions.Serenity.ModuleRoboticServoHinge, Expansions.Serenity.ModuleRoboticRotationServo, ModuleWheels.ModuleWheelMotor, ModuleGroundExpControl, ModuleAnimationSetter, ModuleDeployableSolarPanel, ModuleReactionWheel, ModuleAblator, ModuleResourceIntake, ModuleAeroSurface, ModuleAsteroidDrill, ModuleCometDrill, Expansions.Serenity.ModuleRoboticServoPiston, ModuleGenerator, Expansions.Serenity.ModuleRoboticServoRotor, ModuleGroundExperiment, ModuleDecouple, ModuleTripLogger, ModuleSAS, ModuleResourceScanner, ModuleAlternator, FlagDecal, ModuleOrbitalSurveyor, ModuleWheels.ModuleWheelBrakes, ModuleKerbNetAccess, ModuleTestSubject, ModuleToggleCrossfeed, ModuleEnviroSensor, ModuleResourceConverter, ModuleGPS, ModuleGroundCommsPart, ModuleAnchoredDecoupler, CommNet.ModuleProbeControlPoint, CompoundParts.CModuleStrut, ModuleExperienceManagement, CompoundParts.CModuleFuelLine, ModuleDeployableAntenna, ModuleRCSFX, ModuleDeployableRadiator, and BaseDrill.

uint PartModule.GetPersistenActiontId ( )
inline

Get the modules persistentID, and create one if it doesnt already have one

Returns
uint PartModule.GetPersistentId ( )
inline

Get the modules persistentID, and create one if it doesnt already have one

Returns
static ReflectedAttributes PartModule.GetReflectedAttributes ( Type  partModuleType)
inlinestatic
virtual string PartModule.GetStagingDisableText ( )
inlinevirtual
virtual string PartModule.GetStagingEnableText ( )
inlinevirtual
ConfigNode PartModule.GetUpgrade ( string  name)
inlineprotected
virtual string PartModule.GetUpgradeInfo ( )
inlinevirtual

Called by Upgrade Stats dialog

Returns
bool PartModule.HasUpgrades ( )
inline

Returns true if upgrades exist for the partmodule

Returns
virtual bool PartModule.IsStageable ( )
inlinevirtual

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()

Reimplemented in ModuleEngines, ModuleDockingNode, ModuleScienceExperiment, ModuleRCS, ModuleJettison, ModuleGimbal, ModuleDecouplerBase, ModuleEvaChute, and ModuleTestSubject.

bool PartModule.IsValidContractObjective ( string  objectiveType)
inline

Returns if, for example, an antenna part module qualifies as an antenna for contracts.

void PartModule.Load ( ConfigNode  node)
inline
virtual void PartModule.LoadUpgrades ( ConfigNode  node)
inlinevirtual

Loads module-relevant upgrades from the partmodule confignode

Parameters
node
virtual void PartModule.LoadUpgradesApplied ( List< string >  applieds,
ConfigNode  node 
)
inlineprotectedvirtual

Load the applied upgrade names

Parameters
appliedsThe list to load into. Usually upgradesApplied
node
uint PartModule.NewPersistentId ( )
inline

Reset the modules persistentId to a new number

Returns
virtual void PartModule.OnActive ( )
inlinevirtual
virtual void PartModule.OnAwake ( )
inlinevirtual
virtual void PartModule.OnColorChanged ( Color  color)
inlinevirtual

Meant to be overwritten by part modules implementing color changes. In this case, it doesn't matter which color picker changed specifically.

Parameters
colorInput Color

Reimplemented in KerbalEVA, and ModuleLight.

virtual void PartModule.OnColorChanged ( Color  color,
string  pickerID = "" 
)
inlinevirtual

Meant to be overwritten by part modules implementing color changes

Parameters
colorInput Color
pickerIDSpecific color picker ID

Reimplemented in KerbalEVA, ModuleLight, and ModulePartFirework.

virtual void PartModule.OnConstructionModeFixedUpdate ( )
inlinevirtual

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().

Reimplemented in FXModuleLookAtConstraint.

virtual void PartModule.OnConstructionModeUpdate ( )
inlinevirtual

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().

Reimplemented in FXModuleLookAtConstraint.

virtual void PartModule.OnCopy ( PartModule  fromModule)
inlinevirtual

Use OnCopy to copy any additional data from the PartModule provided

Parameters
fromModule

Reimplemented in ModuleInventoryPart, Expansions.Serenity.BaseServo, Expansions.Serenity.ModuleRoboticServoHinge, and Expansions.Serenity.ModuleRoboticRotationServo.

virtual void PartModule.OnFixedUpdate ( )
inlinevirtual
virtual void PartModule.OnIconCreate ( )
inlinevirtual

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.

virtual void PartModule.OnInactive ( )
inlinevirtual

Called before the part goes inactive (after packing etc)

Reimplemented in KerbalEVA.

virtual void PartModule.OnInitialize ( )
inlinevirtual

Called on all modules after all parts are loaded but before they give the ship to the game

Reimplemented in ModuleDockingNode, ModuleCargoPart, and LaunchClamp.

virtual void PartModule.OnInventoryModeDisable ( )
inlinevirtual
virtual void PartModule.OnInventoryModeEnable ( )
inlinevirtual

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.

Reimplemented in ModuleWheelBase, ModuleDockingNode, Expansions.Serenity.ModuleRobotArmScanner, ModuleScienceExperiment, Expansions.Serenity.ModuleRoboticServoHinge, ModuleWheels.ModuleWheelSuspension, ModuleWheels.ModuleWheelDamage, ModuleAeroSurface, and KerbalSeat.

virtual void PartModule.OnLoad ( ConfigNode  node)
inlinevirtual
virtual void PartModule.OnModuleAdjusterAdded ( AdjusterPartModuleBase  adjuster)
inlineprotectedvirtual

Perform processing specific to this part module when an adjuster is added. By default this does nothing is up to each part module to implement it properly.

Parameters
adjusterAdjuster which will be applied to part module.

Reimplemented in ModuleEngines, ModuleDockingNode, ModuleDeployablePart, ModuleLight, ModuleControlSurface, ModuleGrappleNode, ModuleRCS, ModuleCargoBay, ModuleDataTransmitter, ModuleGimbal, ModuleActiveRadiator, ModuleLiftingSurface, ModuleDeployableSolarPanel, ModuleWheels.ModuleWheelMotor, ModuleReactionWheel, ModuleDecouplerBase, ModuleGenerator, ModuleSAS, ModuleAlternator, ModuleWheels.ModuleWheelBrakes, and CommNet.ModuleProbeControlPoint.

void PartModule.OnModuleAdjusterAddedWrapper ( AdjusterPartModuleBase  adjuster)
inline

Wrapper to check the mission expansion availability before performing processing specific to this part module when an adjuster is added.

Parameters
adjusterAdjuster which will be applied to part module.
virtual void PartModule.OnModuleAdjusterRemoved ( AdjusterPartModuleBase  adjuster)
inlinevirtual

Perform processing specific to this part module when an adjuster is removed. By default this does nothing is up to each part module to implement it properly.

Parameters
adjusterAdjuster which is being removed from part module.

Reimplemented in ModuleEngines, ModuleDockingNode, ModuleDeployablePart, ModuleLight, ModuleControlSurface, ModuleGrappleNode, ModuleRCS, ModuleCargoBay, ModuleDataTransmitter, ModuleGimbal, ModuleActiveRadiator, ModuleLiftingSurface, ModuleDeployableSolarPanel, ModuleWheels.ModuleWheelMotor, ModuleReactionWheel, ModuleDecouplerBase, ModuleGenerator, ModuleSAS, ModuleAlternator, ModuleWheels.ModuleWheelBrakes, and CommNet.ModuleProbeControlPoint.

virtual void PartModule.OnPartCreatedFomInventory ( ModuleInventoryPart  moduleInventoryPart)
inlinevirtual

This method is called when a part is being taken out from a slot while being in EVAConstruction mode.

Parameters
moduleInventoryPartThe inventory part module this part is being drawn from.

Reimplemented in RetractableLadder.

virtual void PartModule.OnSave ( ConfigNode  node)
inlinevirtual
virtual void PartModule.OnStart ( StartState  state)
inlinevirtual
virtual void PartModule.OnStartBeforePartAttachJoint ( StartState  state)
inlinevirtual

Called in flight scene in Part.Start just before the Part attachnode joints are created.

Parameters
state

Reimplemented in Expansions.Serenity.BaseServo.

virtual void PartModule.OnStartFinished ( StartState  state)
inlinevirtual

Called when the part finishes starting. The StartState gives an indication of where in flight you are. All values may not be plugged in!

Parameters
state

Reimplemented in KerbalEVA, ModuleDockingNode, ModuleResourceDrain, ModuleCargoBay, KerbalSeat, ModuleDynamicNodes, CompoundParts.CModuleStrut, and CompoundParts.CModuleFuelLine.

virtual void PartModule.OnStoredInInventory ( ModuleInventoryPart  moduleInventoryPart)
inlinevirtual

Called when the part is stored in an inventory.

Parameters
moduleInventoryPart

Reimplemented in ModuleDeployablePart, ModuleAnimateGeneric, ModuleWheels.ModuleWheelDeployment, RetractableLadder, ModuleAnimationGroup, and ModuleAeroSurface.

virtual void PartModule.OnUpdate ( )
inlinevirtual
virtual void PartModule.OnWasCopied ( PartModule  copyPartModule,
bool  asSymCounterpart 
)
inlinevirtual

Called when the PartModule was copied, through Alt+Copy or symmetry

Parameters
copyPartModuleIs the equivalent PartModule in the new copy - May be null if by some chance it didn't get copied.
asSymCounterpartTrue if copied as part of a symmetry group.
virtual void PartModule.OnWillBeCopied ( bool  asSymCounterpart)
inlinevirtual

Called when the PartModule is about to be copied, through Alt+Copy or symmetry

Parameters
asSymCounterpartTrue if copied as part of a symmetry group.
virtual bool PartModule.OnWillBeMirrored ( ref Quaternion  rotation,
AttachNode  selPartNode,
Part  partParent 
)
inlinevirtual

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.

Reimplemented in ModuleMirrorPlacement.

virtual List<Color> PartModule.PresetColors ( )
inlinevirtual

Preset colors received for any part module. By default, returns only black, override to make your own selection.

Returns

Reimplemented in KerbalEVA, ModuleLight, and ModulePartFirework.

virtual string PartModule.PrintUpgrades ( )
inlinevirtual
virtual void PartModule.PromoteToPhysicalPart ( )
inlinevirtual

This method will be called from Part class PromoteToPhysicalPart when the part is being converted from physicsless to physical part.

Reimplemented in Expansions.Serenity.BaseServo, ModuleWheelBase, and ModuleDockingNode.

void PartModule.RemovePartModuleAdjuster ( AdjusterPartModuleBase  oldAdjuster)
inline

Call this to remove an adjuster from this part module.

Parameters
oldAdjusterAdjuster to be removed from part module.
void PartModule.RemovePartModuleAdjusterList ( List< AdjusterPartModuleBase moduleAdjusters)
inline

Removes the appropriate module adjusters. Performs checks to make sure that the adjusters are valid too.

Template Parameters
moduleAdjustersList of module adjusters to remove
void PartModule.Save ( ConfigNode  node)
inline
virtual void PartModule.SaveUpgradesApplied ( ConfigNode  node)
inlineprotectedvirtual

Save the applied upgrades.

Parameters
node
virtual void PartModule.SetStaging ( bool  newValue)
inlinevirtual

Run by the part's staging toggle handler, sets staging on modules on symmetry counterparts.

Parameters
newValue
void PartModule.SetStagingState ( bool  newState)
inline

Set the staging enabled bool for this module.

virtual bool PartModule.StagingEnabled ( )
inlinevirtual

Gets current staging status (is staging enabled for this module) Override me!

Returns
True iff staging enabled for this module

Reimplemented in ModuleDockingNode, ModuleScienceExperiment, and ModuleDecouplerBase.

virtual bool PartModule.StagingToggleEnabledEditor ( )
inlinevirtual
virtual bool PartModule.StagingToggleEnabledFlight ( )
inlinevirtual
void PartModule.ToggleStaging ( )
inline
virtual void PartModule.UpdateStagingToggle ( )
inlinevirtual

Updates the staging toggle

static PartUpgradeState PartModule.UpgradesAvailable ( Part  part)
inlinestatic

Returns true if at least one module on the part has at least one upgrade available (isUnlocked)

Parameters
partPart to get stats for
Returns
static PartUpgradeState PartModule.UpgradesAvailable ( Part  part,
ConfigNode  node 
)
inlinestatic

Returns true if at least one module on the part has at least one upgrade available (isUnlocked)

Parameters
partPart to get stats for
nodeUpgrades node to use - if null then use existing loaded config
Returns
IEnumerator PartModule.UpgradeWaitForScenarioModules ( )
inlineprotected
delegate void PartModule.voidPMApplyNodeDelegate ( PartModule  pm,
List< string >  appliedUps,
ConfigNode  node,
bool  doLoad 
)
delegate void PartModule.voidPMDelegate ( PartModule  pm)
delegate void PartModule.voidPMNodeDelegate ( PartModule  pm,
ConfigNode  node 
)

Member Data Documentation

voidPMApplyNodeDelegate PartModule.ApplyUpgradeNodeDel
static
boolPMApplyUpgrades PartModule.ApplyUpgradesDel
static
bool PartModule.ApplyUpgradesEditorAuto = true
static
Dictionary<string, ConfigNode> PartModule.exclusives = new Dictionary<string, ConfigNode>()
staticprotected
boolPMBoolDelegate PartModule.FindUpgradesDel
static
bool PartModule.isEnabled = true
voidPMNodeDelegate PartModule.LoadExpansionNodes
static

Hook for loading extra nodes common to all part modules.

voidPMNodeDelegate PartModule.LoadUpgradesDel
static
bool PartModule.moduleIsEnabled = true
string PartModule.moduleName
bool PartModule.overrideStagingIconIfBlank = true
Dictionary<Type, ReflectedAttributes> PartModule.reflectedAttributeCache = new Dictionary<Type, ReflectedAttributes>()
staticprotected
ModuleResourceHandler PartModule.resHandler = new ModuleResourceHandler()
voidPMNodeDelegate PartModule.SaveExpansionNodes
static

Hook for saving extra nodes common to all part modules.

voidPMDelegate PartModule.SetupExpansion
static

Hook for performing extra setup common to all part modules.

bool PartModule.showUpgradesInModuleInfo = false
ProtoPartModuleSnapshot PartModule.snapshot
string PartModule.stagingDisableText = ""
bool PartModule.stagingEnabled = true
string PartModule.stagingEnableText = ""
bool PartModule.stagingToggleEnabledEditor = false
bool PartModule.stagingToggleEnabledFlight = false
List<ConfigNode> PartModule.upgrades
List<string> PartModule.upgradesApplied = new List<string>()
bool PartModule.upgradesApply = true
bool PartModule.upgradesAsk = true
string PartModule.UpgradesAvailableString = "#autoLOC_6002273"
static
string PartModule.UpgradesLockedString = "#autoLOC_6002274"
static

Property Documentation

BaseActionList PartModule.Actions
get
int PartModule.ClassID
get
string PartModule.ClassName
get
List<AdjusterPartModuleBase> PartModule.CurrentModuleAdjusterList
get

List of all the module adjusters that are currently active on this part module.

BaseEventList PartModule.Events
get
BaseFieldList PartModule.Fields
get
string PartModule.GUIName
get
bool PartModule.HasAdjusters
get

Has this part module been adjusted?

ReflectedAttributes PartModule.ModuleAttributes
getset
Part PartModule.part
getset
uint PartModule.PersistentActionsId
getset

A unique identifier for each vessel including from when it was Shipconstruct

uint PartModule.PersistentId
get

A unique identifier for each vessel including from when it was Shipconstruct

Vessel PartModule.vessel
get

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