当前位置: 首页>>代码示例>>C#>>正文


C# PartModule.SendMessage方法代码示例

本文整理汇总了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!");
                 }
             }
         }
     }
 }
开发者ID:wrcsubers,项目名称:RoboBrakes,代码行数:78,代码来源:RoboBrakesMono.cs


注:本文中的PartModule.SendMessage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。