public ProtoVessel LoadLaunchProtoVessel(Vessel vessel) { LaunchVehicle launchVehicle = null; Payload payload = null; if (!QuickLauncher.Instance.Split(vessel.parts, out launchVehicle, out payload)) { return(null); } int key = launchVehicle.GetHashCode(); if (!quickLaunchVessels.ContainsKey(key)) { return(null); } return(quickLaunchVessels[key].launchProtoVessel); }
public void OnStartMission(Vessel vessel) { if (vessel.situation != Vessel.Situations.PRELAUNCH) { ScreenMessages.PostScreenMessage("Can't start, must be pre-launch!", 4, ScreenMessageStyle.UPPER_CENTER); return; } QuickLaunchMissionTracker tracker = vessel.GetComponent <QuickLaunchMissionTracker>(); LaunchVehicle launchVehicle = null; Payload payload = null; if (tracker.isTracking) { ScreenMessages.PostScreenMessage("Already tracking!", 4, ScreenMessageStyle.UPPER_CENTER); return; } if (!QuickLauncher.Instance.Split(vessel.parts, out launchVehicle, out payload)) { ScreenMessages.PostScreenMessage("No payload separator available", 4, ScreenMessageStyle.UPPER_CENTER); return; } QuickLaunchVessel quickLaunchVessel = null; if (quickLaunchVessels.TryGetValue(launchVehicle.GetHashCode(), out quickLaunchVessel)) { string vesselName = quickLaunchVessel.name; tracker.StartTracking(vesselName); ScreenMessages.PostScreenMessage(string.Format("Started tracking {0}", vesselName), 4, ScreenMessageStyle.UPPER_CENTER); return; } else { startMissionDialog = StartMissionDialog.Create(OnStartMissionDialogDismiss, vessel, launchVehicle, tracker); } }
public void OnQuickLaunchMission(Vessel vessel) { LaunchVehicle launchVehicle = null; Payload payload = null; if (!QuickLauncher.Instance.Split(vessel.parts, out launchVehicle, out payload)) { ScreenMessages.PostScreenMessage("No payload separator available", 4, ScreenMessageStyle.UPPER_CENTER); return; } int key = launchVehicle.GetHashCode(); if (!quickLaunchVessels.ContainsKey(key)) { ScreenMessages.PostScreenMessage("No missions available", 4, ScreenMessageStyle.UPPER_CENTER); return; } QuickLaunchVessel quickLaunchVessel = quickLaunchVessels[key]; quickLaunchMissionDialog = QuickLaunchMissionDialog.Create(OnQuickLaunchDialogDismissed, quickLaunchVessel, vessel); }
public bool Equals(LaunchVehicle launchVehicle) { return(launchVehicle.GetHashCode() == GetHashCode()); }