//Parachute cutting public void Cut() { part.Effect("rccut"); DeploymentState = DeploymentStates.CUT; parachute.gameObject.SetActive(false); currentArea = 0; dragTimer.Reset(); currentTemp = (float)(startTemp + absoluteZero); chuteTemperature = startTemp; Fields["currentTemp"].guiActive = false; Fields["chuteDisplayMaxTemp"].guiActive = false; SetRepack(); }
private void Update() { if (!CompatibilityChecker.IsAllCompatible() || !HighLogic.LoadedSceneIsFlight) { return; } //Makes the chute icon blink if failed if (failedTimer.IsRunning) { double totalSeconds = failedTimer.Elapsed.TotalSeconds; if (totalSeconds <= 2.5) { if (!displayed) { ScreenMessages.PostScreenMessage(Localizer.Format("RCLFailDeploy"), 2.5f, ScreenMessageStyle.UPPER_CENTER); if (part.ShieldedFromAirstream) { ScreenMessages.PostScreenMessage(Localizer.Format("RCLFailShielded"), 2.5f, ScreenMessageStyle.UPPER_CENTER); } else if (GroundStop) { ScreenMessages.PostScreenMessage(Localizer.Format("RCLFailGround"), 2.5f, ScreenMessageStyle.UPPER_CENTER); } else if (atmPressure.NearlyEqual(0)) { ScreenMessages.PostScreenMessage(Localizer.Format("RCLFailPres"), 2.5f, ScreenMessageStyle.UPPER_CENTER); } else { ScreenMessages.PostScreenMessage(Localizer.Format("RCLFailOther"), 2.5f, ScreenMessageStyle.UPPER_CENTER); } displayed = true; } if (totalSeconds < 0.5 || totalSeconds >= 1 && totalSeconds < 1.5 || totalSeconds >= 2) { part.stackIcon.SetIconColor(XKCDColors.Red); } else { part.stackIcon.SetIconColor(XKCDColors.White); } } else { displayed = false; part.stackIcon.SetIconColor(XKCDColors.White); failedTimer.Reset(); } } Disarm.active = armed || showDisarm; DeployE.active = !staged && DeploymentState != DeploymentStates.CUT; CutE.active = IsDeployed; Repack.guiActiveUnfocused = CanRepack; }