Kerbal Space Program  1.12.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Properties | List of all members
ModuleGroundExperiment Class Reference
Inheritance diagram for ModuleGroundExperiment:
ModuleGroundSciencePart ModuleGroundPart ModuleCargoPart IAnimatedModule PartModule

Public Member Functions

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...
 
override void OnDestroy ()
 
override void OnLoad (ConfigNode node)
 Use OnLoad to load any additional data from the ConfigNode provided More...
 
override void OnStart (PartModule.StartState state)
 
override void RetrievePart ()
 Event to retrieve (pick up) the part. Will pick it up (Destroy the part and it's vessel) and place it into the Kerbal's inventory. More...
 
- Public Member Functions inherited from ModuleGroundSciencePart
bool CalculateTrackingLOS (Vector3 trackingDirection, ref string blocker)
 
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...
 
override string GetTooltip ()
 Returns the localized inventory tooltip for this cargo part. More...
 
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...
 
override void OnDestroy ()
 
override void OnLoad (ConfigNode node)
 Use OnLoad to load any additional data from the ConfigNode provided More...
 
override void OnStart (PartModule.StartState state)
 
override void OnUpdate ()
 Called every frame that the part is active More...
 
override void RetrievePart ()
 Retreive the part and run the science data when retreived. More...
 
void ToggleActive ()
 Toggle the Science Part Active/Inactive More...
 
void ToggleActiveAction ()
 Action to toggle the part Active/Inactive More...
 
- Public Member Functions inherited from ModuleGroundPart
virtual void DisableModule ()
 
override void EnableModule ()
 
virtual bool HasChildParts ()
 Checks if this part has children. It checks for any part attached, if there is it is non-retrievable. More...
 
virtual bool IsSituationValid ()
 
virtual bool ModuleIsActive ()
 
override void OnPartPack ()
 Called when the part is Packed and goes on rails More...
 
override void OnPartUnpack ()
 Called when the part is Unpacked and comes off rails More...
 
override void OnStart (PartModule.StartState state)
 
- Public Member Functions inherited from ModuleCargoPart
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...
 
bool HasLinkedCompoundParts ()
 Is this part the target of any active compound parts (eg. struts) More...
 
bool IsDeployedSciencePart ()
 Returns true if the part is deployed science as well as cargo. More...
 
override void OnInitialize ()
 Called on all modules after all parts are loaded but before they give the ship to the game More...
 
override void OnLoad (ConfigNode node)
 Use OnLoad to load any additional data from the ConfigNode provided More...
 
override void OnStart (PartModule.StartState state)
 
override void OnUpdate ()
 Called every frame that the part is active 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 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...
 
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 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

FloatCurve distanceCurve = new FloatCurve()
 A modifier curve applied to Seismic Experiment only. Based on distance impact is from the module. Clamped between 0 and 1 (0-100%) More...
 
string experimentId
 The Science system experiment Id that this module will generate science for. More...
 
float ScienceCompletedPercentage
 The science percentage completed. More...
 
float ScienceModifierRate = 5f
 The science percentage modifier that is applied to how fast this module will generate science. It is set based on the traits and level of the kerbal that placed this module on the ground. More...
 
float ScienceTransmittedPercentage
 The science percentage completed. More...
 
- Public Attributes inherited from ModuleGroundSciencePart
string ConnectionState
 The connection state of this part. (if connected to a controller or not). More...
 
uint ControlUnitId
 The Part Persistent Id for the connected Control Unit. - Otherwise 0u. More...
 
float DistanceToController
 The distance this part is from the cluster controller. More...
 
string localRotationAxis = "Z"
 The Local axis to rotate the secondary transform around. More...
 
float packingRotationMultiplier
 The rotation speed multiplier for the rotation before packing the part. More...
 
string pivotName = "suncatcher"
 The Transform name to rotate towards the sun. More...
 
string PowerState
 The power state of this part. More...
 
float raycastOffset = 0.25f
 The offset applied from the secondary Transform to raycast towards the sun. More...
 
string secondaryTransformName = string.Empty
 The Transform Name to raycast from to track the sun. It's Y axis should be pointing away in the direction you want to face the sun. More...
 
Vector3 targetRotationAngle
 The target rotation angle, the part that tracks the sun will return to before running it's undeployed animation. More...
 
float trackingSpeed = 0.25f
 The speed at which to rotate the pivot towards the sun. More...
 
bool TrackSun = false
 Set to true will track the sun using secondaryTransformName More...
 
- Public Attributes inherited from ModuleGroundPart
string fxGroupDeploy
 Name of the FXGroup to Play when the part is being deployed. More...
 
bool placementAllowXRotation = true
 Determines if the Part can be rotated in the X Axis when in ground placement mode, before being placed on the ground. More...
 
bool placementAllowYRotation = true
 Determines if the Part can be rotated in the Y Axis when in ground placement mode, before being placed on the ground. More...
 
bool placementAllowZRotation = true
 Determines if the Part can be rotated in the Z Axis when in ground placement mode, before being placed on the ground. More...
 
- Public Attributes inherited from ModuleCargoPart
string inventoryTooltip = ""
 The tooltip for inventory cargo parts,shows up when mouse is over a part icon during flight. More...
 
float kinematicDelay = 3f
 
float packedVolume
 The space this part occupies when packed inside an inventory container More...
 
float placementMaxRivotVelocity = 0.003f
 This is the velocity the part must be travelling less than before it will be rivoted to the ground. More...
 
bool reinitResourcesOnStoreInVessel = false
 Set to true when the parts resources should be "filled" magically when the part is stored in a vessel. More...
 
int stackableQuantity = 1
 The number of parts of the same kind and variant that can be stacked in a single inventory slot 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

override void UpdateModuleUI ()
 
- Protected Member Functions inherited from ModuleGroundPart
bool CanBeStored ()
 Checks if this part can be stored when retreived, prints a Screen Message if inventory part would exceed carrying capacity. More...
 
virtual IEnumerator MakePartKinematic ()
 
override void PlayDeployAnimation ()
 
void RetrieveScienceData ()
 If Serenity is installed and the active vessel has a science container. Attempt to retrieve the science data and store it into the active vessel's science container. More...
 
- Protected Member Functions inherited from ModuleCargoPart
virtual IEnumerator MakePartSettle (bool waitForMotionStop)
 
virtual void OnWeldFinish (KerbalEVA kerbalEVA)
 
virtual void OnWeldStart (KerbalEVA kerbalEVA)
 
- 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 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 ()
 

Protected Attributes

float scienceLimit
 
float scienceValue
 
float scienceValueDisplay
 This field value is what is shown in the PAW as the science value p/hour. More...
 
- Protected Attributes inherited from ModuleGroundSciencePart
int actualPowerUnitsProduced
 
string blockingObject
 
int defaultLayerMask
 
RaycastHit hit
 
bool isSolarPanel = false
 
bool moduleEnabled = true
 
Transform panelRotationTransform
 
UIPartActionWindow partActionWindow
 
int planetLayerMask
 
int powerUnitsProduced
 
int powerUnitsRequired
 
Transform secondaryTransform
 
CelestialBody trackingBody = null
 
bool trackingLOS
 
Transform trackingTransformScaled
 
- Protected Attributes inherited from ModuleGroundPart
bool beingDeployed
 Set to true when the part is in the process of being deployed - ie before pinning to the ground . More...
 
bool beingRetrieved
 Set to true when the part is in the process of being retrieved (picked up). More...
 
bool deployedOnGround = false
 
- Protected Attributes inherited from ModuleCargoPart
ModuleGroundSciencePart groundScienceModule
 
bool inConstructionMode = false
 
float preSettlingPrefabMass = 0
 The prefab mass that the part was before the settling period More...
 

Properties

float ScienceLimit [get, set]
 The Science Limit that this Experiment can produce. More...
 
float ScienceValue [get, set]
 The Science Generated by this Experiment every Hour. More...
 
- Properties inherited from ModuleGroundSciencePart
int ActualPowerUnitsProduced [get, set]
 The amount of Manned Science Power Units this Part produces. More...
 
bool DeployedOnGround [get]
 If the Part is deployed on the ground successfully or not. More...
 
bool Enabled [get, set]
 If the Science Part is Enabled or Not More...
 
bool IsSolarPanel [get, set]
 This will be set truen if this Part is a Solar Panel that generates Deployed Science power. Solar Panels do not generate Power all the time (rely on the Sun's rays obviously). More...
 
int PowerUnitsProduced [get, set]
 The amount of Manned Science Power Units this Part produces. More...
 
int PowerUnitsRequired [get, set]
 The Number of Manned Science Power Units required for this Part. More...
 
DeployedScienceCluster ScienceClusterData [get]
 Link to the DeployedScienceCluster Data for this part. More...
 
- 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]
 

Additional Inherited Members

- 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
}
 
- 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"
 
- Static Protected Attributes inherited from ModuleGroundPart
static string cacheAutoLOC_6006116
 
- Static Protected Attributes inherited from PartModule
static Dictionary< string,
ConfigNode
exclusives = new Dictionary<string, ConfigNode>()
 
static Dictionary< Type,
ReflectedAttributes
reflectedAttributeCache = new Dictionary<Type, ReflectedAttributes>()
 

Member Function Documentation

override string ModuleGroundExperiment.GetInfo ( )
inlinevirtual

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

Returns

Reimplemented from PartModule.

override string ModuleGroundExperiment.GetModuleDisplayName ( )
inlinevirtual

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

Returns

Reimplemented from PartModule.

override void ModuleGroundExperiment.OnDestroy ( )
inlinevirtual

Reimplemented from ModuleCargoPart.

override void ModuleGroundExperiment.OnLoad ( ConfigNode  node)
inlinevirtual

Use OnLoad to load any additional data from the ConfigNode provided

Parameters
node

Reimplemented from PartModule.

override void ModuleGroundExperiment.OnStart ( PartModule.StartState  state)
inline
override void ModuleGroundExperiment.RetrievePart ( )
inlinevirtual

Event to retrieve (pick up) the part. Will pick it up (Destroy the part and it's vessel) and place it into the Kerbal's inventory.

Reimplemented from ModuleGroundPart.

override void ModuleGroundExperiment.UpdateModuleUI ( )
inlineprotectedvirtual

Reimplemented from ModuleGroundSciencePart.

Member Data Documentation

FloatCurve ModuleGroundExperiment.distanceCurve = new FloatCurve()

A modifier curve applied to Seismic Experiment only. Based on distance impact is from the module. Clamped between 0 and 1 (0-100%)

string ModuleGroundExperiment.experimentId

The Science system experiment Id that this module will generate science for.

float ModuleGroundExperiment.ScienceCompletedPercentage

The science percentage completed.

float ModuleGroundExperiment.scienceLimit
protected
float ModuleGroundExperiment.ScienceModifierRate = 5f

The science percentage modifier that is applied to how fast this module will generate science. It is set based on the traits and level of the kerbal that placed this module on the ground.

float ModuleGroundExperiment.ScienceTransmittedPercentage

The science percentage completed.

float ModuleGroundExperiment.scienceValue
protected
float ModuleGroundExperiment.scienceValueDisplay
protected

This field value is what is shown in the PAW as the science value p/hour.

Property Documentation

float ModuleGroundExperiment.ScienceLimit
getset

The Science Limit that this Experiment can produce.

float ModuleGroundExperiment.ScienceValue
getset

The Science Generated by this Experiment every Hour.


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