Table of Contents

Class ManeuverPlanComponent

Namespace
KSP.Sim.impl
Assembly
Assembly-CSharp.dll
public class ManeuverPlanComponent : ObjectComponent, IGuidIdentity
Inheritance
ManeuverPlanComponent
Implements
Inherited Members
Extension Methods

Constructors

ManeuverPlanComponent()

public ManeuverPlanComponent()

ManeuverPlanComponent(ManeuverPlanDefinition, IUniverseModel)

public ManeuverPlanComponent(ManeuverPlanDefinition componentDefinition, IUniverseModel universeModel)

Parameters

componentDefinition ManeuverPlanDefinition
universeModel IUniverseModel

Fields

OnManeuverNodeAdded

public Action<Guid> OnManeuverNodeAdded

Field Value

Action<Guid>

OnManeuverNodeBurnChanged

public Action<Guid> OnManeuverNodeBurnChanged

Field Value

Action<Guid>

OnManeuverNodePositionChanged

public Action<Guid> OnManeuverNodePositionChanged

Field Value

Action<Guid>

OnManeuverNodesRemoved

public Action<List<ManeuverNodeData>> OnManeuverNodesRemoved

Field Value

Action<List<ManeuverNodeData>>

Properties

ActiveNode

Returns the current active node if there is one, otherwise null.

public ManeuverNodeData ActiveNode { get; }

Property Value

ManeuverNodeData

DefinitionType

[TypeConverterIgnore]
public override Type DefinitionType { get; }

Property Value

Type

StateType

[TypeConverterIgnore]
public override Type StateType { get; }

Property Value

Type

Type

[TypeConverterIgnore]
public override Type Type { get; }

Property Value

Type

Methods

AddNode(ManeuverNodeData, bool)

public bool AddNode(ManeuverNodeData nodeData, bool rebuilding)

Parameters

nodeData ManeuverNodeData
rebuilding bool

Returns

bool

EnoughDeltaVToAddNode()

public bool EnoughDeltaVToAddNode()

Returns

bool

EnoughDeltaVToAddNodeOnRebuild(ManeuverNodeData, out Vector3d)

public bool EnoughDeltaVToAddNodeOnRebuild(ManeuverNodeData node, out Vector3d reducedBurnVectorChange)

Parameters

node ManeuverNodeData
reducedBurnVectorChange Vector3d

Returns

bool

EnoughDeltaVToChangeNode(ManeuverNodeData, Vector3, out Vector3)

public bool EnoughDeltaVToChangeNode(ManeuverNodeData node, Vector3 change, out Vector3 newChange)

Parameters

node ManeuverNodeData
change Vector3
newChange Vector3

Returns

bool

GetDefinition()

public override object GetDefinition()

Returns

object

GetManeuverNodeBurnDirVector(Guid)

public Vector GetManeuverNodeBurnDirVector(Guid nodeId)

Parameters

nodeId Guid

Returns

Vector

GetManeuverNodeBurnVector(Guid)

public Vector GetManeuverNodeBurnVector(Guid nodeId)

Parameters

nodeId Guid

Returns

Vector

GetNodes()

public List<ManeuverNodeData> GetNodes()

Returns

List<ManeuverNodeData>

GetState()

public override object GetState()

Returns

object

IsEngineInAirbreathingMode(VesselDeltaVComponent)

public bool IsEngineInAirbreathingMode(VesselDeltaVComponent vesselDeltaV)

Parameters

vesselDeltaV VesselDeltaVComponent

Returns

bool

OnFixedUpdate(double, double)

public override void OnFixedUpdate(double universalTime, double deltaUniversalTime)

Parameters

universalTime double
deltaUniversalTime double

OnRemoved(SimulationObjectModel, double)

Action triggered when a maneuver node is removed.

public override void OnRemoved(SimulationObjectModel simulationObject, double universalTime)

Parameters

simulationObject SimulationObjectModel
universalTime double

OnStart(double)

Subscribes to SOIEnteredMessage and SOIExitedMessage.

public override void OnStart(double universalTime)

Parameters

universalTime double

RebuildNodeData(Action)

public void RebuildNodeData(Action onRebuild)

Parameters

onRebuild Action

RefreshManeuverNodeState(int)

Refresh the state of the specified (indexed) maneuver

public void RefreshManeuverNodeState(int maneuverNumber)

Parameters

maneuverNumber int

RemoveNode(ManeuverNodeData, bool)

Removes the specified node if found.

public void RemoveNode(ManeuverNodeData nodeData, bool showMessageIfError = true)

Parameters

nodeData ManeuverNodeData
showMessageIfError bool

RemoveNodes(List<ManeuverNodeData>)

public void RemoveNodes(List<ManeuverNodeData> nodes)

Parameters

nodes List<ManeuverNodeData>

SOIChanged(MessageCenterMessage)

public void SOIChanged(MessageCenterMessage msg)

Parameters

msg MessageCenterMessage

SetState(object, ISimulationModelMap)

public override object SetState(object state, ISimulationModelMap simulationModelMap)

Parameters

state object
simulationModelMap ISimulationModelMap

Returns

object

TryGetNode(Guid, out ManeuverNodeData)

public bool TryGetNode(Guid nodeID, out ManeuverNodeData node)

Parameters

nodeID Guid
node ManeuverNodeData

Returns

bool

UpdateChangeOnNode(ManeuverNodeData, Vector3)

public void UpdateChangeOnNode(ManeuverNodeData data, Vector3 change)

Parameters

data ManeuverNodeData
change Vector3

UpdateNodeDetails(ManeuverNodeData)

public void UpdateNodeDetails(ManeuverNodeData node)

Parameters

node ManeuverNodeData

UpdateTimeOnNode(ManeuverNodeData, double)

Processes an update on the specified nodeData setting a new nodeData.Time value to adjust the timing of the node. NOTE: This method just calls the next one bypassing it nodeData.NodeID and the updated time.

public void UpdateTimeOnNode(ManeuverNodeData nodeData, double time)

Parameters

nodeData ManeuverNodeData
time double

ValidateState(object, ISimulationModelMap)

public override bool ValidateState(object stateData, ISimulationModelMap simulationModelMap)

Parameters

stateData object
simulationModelMap ISimulationModelMap

Returns

bool

WarpToNode(ManeuverNodeData)

public void WarpToNode(ManeuverNodeData nodeData)

Parameters

nodeData ManeuverNodeData

Events

OnManeuverNodeDataUpdated

public event Action OnManeuverNodeDataUpdated

Event Type

Action

OnManeuverNodeETAChanged

public event Action OnManeuverNodeETAChanged

Event Type

Action