本文整理汇总了C#中PartModule.SendMessage方法的典型用法代码示例。如果您正苦于以下问题:C# PartModule.SendMessage方法的具体用法?C# PartModule.SendMessage怎么用?C# PartModule.SendMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PartModule
的用法示例。
在下文中一共展示了PartModule.SendMessage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EngageChute
//============================================================================================================================================
public void EngageChute()
{
//FAR Compatibility =)
if (assemblyFARUsed == true) {
foreach (Part EnabledPart in EnabledPartList) {
if (EnabledPart.Modules.Contains ("RealChuteFAR")) {
//FerramAerospaceResearch.RealChuteLite.RealChuteFAR RCF = new FerramAerospaceResearch.RealChuteLite.RealChuteFAR ();
//RCF = EnabledPart.FindModuleImplementing<FerramAerospaceResearch.RealChuteLite.RealChuteFAR> ();
ChuteFARModuleReference = EnabledPart.Modules ["RealChuteFAR"];
PropertyInfo ChuteFARModuleDeploymentState = ChuteFARModuleReference.GetType().GetProperty("deploymentState");
RoboBrakes_ParaEnabledCount++;
ChuteFARDeploymentString = ChuteFARModuleReference.Fields.GetValue ("depState").ToString ();
//Repack if Chute was already Cut
if ((ChuteFARDeploymentString == "CUT") && (IsLanded == false) && (RoboBrakes_CHUTEAUTO == true)) {
//Bypassing RealChutes Repacking Method so we don't have to EVA - Also we can't set 'canRepack' bool as it is read only :-/
ChuteFARModuleDeploymentState.SetValue(ChuteFARModuleReference, 1, null);
ChuteFARModuleReference.part.Effect ("rcrepack");
ChuteFARModuleReference.part.stackIcon.SetIconColor (XKCDColors.White);
ChuteFARModuleReference.part.DragCubes.SetCubeWeight ("PACKED", 1);
ChuteFARModuleReference.part.DragCubes.SetCubeWeight ("RCDEPLOYED", 0);
print ("ROBOBRAKES - RealChute " + EnabledPart.name + " was already Cut! Repacked Automatically!");
}
//Deploy Chute
if ((RoboBrakes_CHUTEREADY == true && RoboBrakes_CHUTEAUTO == true)) {
RoboBrakes_CHUTEREADY = false;
//Deploy Real Chute
ChuteFARModuleReference.SendMessage("ActivateRC");
}
//Repack Chute Automatically
if (ChuteFARDeploymentString == "DEPLOYED" | ChuteFARDeploymentString == "PREDEPLOYED") {
if (RoboBrakes_CUTCHUTE == true) {
RoboBrakes_CUTCHUTE = false;
//Cut Real Chute
ChuteFARModuleReference.SendMessage("Cut");
//Bypassing RealChutes Repacking Method so we don't have to EVA - Also we can't set 'canRepack' bool as it is read only :-/
ChuteFARModuleDeploymentState.SetValue(ChuteFARModuleReference, 1, null);
ChuteFARModuleReference.part.Effect ("rcrepack");
ChuteFARModuleReference.part.stackIcon.SetIconColor (XKCDColors.White);
ChuteFARModuleReference.part.DragCubes.SetCubeWeight ("PACKED", 1);
ChuteFARModuleReference.part.DragCubes.SetCubeWeight ("RCDEPLOYED", 0);
print ("ROBOBRAKES - RealChute " + EnabledPart.name + " was Cut & Repacked Automatically!");
}
}
}
}
}
foreach (Part EnabledPart in EnabledPartList) {
//Module Parachutes
//---------------------------------------------------------------------------------------------------------------------
if (EnabledPart.Modules.Contains ("ModuleParachute")) {
ModuleParachute MPA = new ModuleParachute ();
MPA = EnabledPart.FindModuleImplementing<ModuleParachute> ();
RoboBrakes_ParaEnabledCount++;
//Repack the Chute automatically if it has been manually cut
if ((MPA.deploymentState.Equals (ModuleParachute.deploymentStates.CUT)) && (IsLanded == false) && (RoboBrakes_CHUTEAUTO == true)) {
MPA.Repack ();
print ("ROBOBRAKES - Chute " + EnabledPart.name + " was already Cut! Repacked Automatically!");
}
//Deploy Chute
if ((RoboBrakes_AUTOMATICBRAKE_ACTIVE == true && RoboBrakes_CHUTEAUTO == true)) {
if (RoboBrakes_CHUTEREADY == true) {
RoboBrakes_CHUTEREADY = false;
MPA.Deploy ();
}
}
//Repack Chute
if (MPA.deploymentState.Equals (ModuleParachute.deploymentStates.DEPLOYED)) {
if (RoboBrakes_CUTCHUTE == true) {
RoboBrakes_CUTCHUTE = false;
MPA.CutParachute ();
MPA.Repack ();
print ("ROBOBRAKES - Chute " + EnabledPart.name + " was Cut & Repacked Automatically!");
}
}
}
}
}