private void RefreshGuidanceMode() { switch (_guidanceIndex) { case 1: GuidanceMode = GuidanceModes.AAMPure; GuidanceLabel = "AAM"; break; case 2: GuidanceMode = GuidanceModes.AGM; GuidanceLabel = "AGM/STS"; break; case 3: GuidanceMode = GuidanceModes.Cruise; GuidanceLabel = "Cruise"; break; case 4: GuidanceMode = GuidanceModes.AGMBallistic; GuidanceLabel = "Ballistic"; break; } if (Fields["CruiseAltitude"] != null) { Fields["CruiseAltitude"].guiActive = _guidanceIndex == 3; Fields["CruiseAltitude"].guiActiveEditor = _guidanceIndex == 3; } Misc.RefreshAssociatedWindows(part); }
private void UpdateTargetingMode(TargetingModes newTargetingMode) { if (newTargetingMode == TargetingModes.Radar) { Fields["ActiveRadarRange"].guiActive = true; Fields["ActiveRadarRange"].guiActiveEditor = true; } else { Fields["ActiveRadarRange"].guiActive = false; Fields["ActiveRadarRange"].guiActiveEditor = false; } this.TargetingMode = newTargetingMode; this._targetingLabel = newTargetingMode.ToString(); Misc.RefreshAssociatedWindows(part); }
public override void FireMissile() { if (!HasFired) { GameEvents.onPartDie.Add(PartDie); BDATargetManager.FiredMissiles.Add(this); foreach (var wpm in vessel.FindPartModulesImplementing <MissileFire>()) { Team = wpm.team; break; } SourceVessel = vessel; SetTargeting(); Jettison(); AddTargetInfoToVessel(); vessel.vesselName = GetShortName(); vessel.vesselType = VesselType.Station; TimeFired = Time.time; MissileState = MissileStates.Drop; Misc.RefreshAssociatedWindows(part); if (StageToTriggerOnProximity == 0) { ArmingExplosive(); } HasFired = true; } }
public void StartGuidance() { if (hasFired) { return; } if (vessel.targetObject != null && vessel.targetObject.GetVessel() != null) { targetVessel = vessel.targetObject.GetVessel(); } else if (parentVessel != null && parentVessel.targetObject != null && parentVessel.targetObject.GetVessel() != null) { targetVessel = parentVessel.targetObject.GetVessel(); } else { return; } if (!hasFired && targetVessel != null) { hasFired = true; guidanceActive = true; vessel.OnFlyByWire += GuidanceSteer; vessel.SetReferenceTransform(part); GameObject velocityObject = new GameObject("velObject"); velocityObject.transform.position = transform.position; velocityObject.transform.parent = transform; velocityTransform = velocityObject.transform; Events["StartGuidance"].guiActive = false; Misc.RefreshAssociatedWindows(part); vessel.OnJustAboutToBeDestroyed += RemoveGuidance; part.OnJustAboutToBeDestroyed += RemoveGuidance; } }
void RefreshGuidanceMode() { switch (guidanceMode) { case 1: guidanceLabel = "AAM"; break; case 2: guidanceLabel = "AGM/STS"; break; case 3: guidanceLabel = "Cruise"; break; } Fields["cruiseAltitude"].guiActive = (guidanceMode == 3); Fields["cruiseAltitude"].guiActiveEditor = (guidanceMode == 3); Misc.RefreshAssociatedWindows(part); }