public override void OnUpdate() { base.OnUpdate(); Maxlevel = this.part.vessel.maxControlLevel; CurLevel = this.part.vessel.CurrentControlLevel; }
internal static string ControlEligible(Vessel vessel) { Vessel.ControlLevel controlLevel = vessel.CurrentControlLevel; switch (controlLevel) { case Vessel.ControlLevel.FULL: if (!HighLogic.CurrentGame.Parameters.CustomParams <OptionsC>().yesFull) { return(Localizer.Format("#SimpleLogistics_msgControl", Localizer.Format("#SimpleLogistics_Full"))); } break; case Vessel.ControlLevel.PARTIAL_MANNED: if (!HighLogic.CurrentGame.Parameters.CustomParams <OptionsC>().yesPartialManned) { return(Localizer.Format("#SimpleLogistics_msgControl", Localizer.Format("#SimpleLogistics_PartialManned"))); } break; case Vessel.ControlLevel.PARTIAL_UNMANNED: if (!HighLogic.CurrentGame.Parameters.CustomParams <OptionsC>().yesPartialUnmaned) { return(Localizer.Format("#SimpleLogistics_msgControl", Localizer.Format("#SimpleLogistics_PartialUnmanned"))); } break; case Vessel.ControlLevel.NONE: if (!HighLogic.CurrentGame.Parameters.CustomParams <OptionsC>().yesNone) { return(Localizer.Format("#SimpleLogistics_msgControl", Localizer.Format("#SimpleLogistics_None"))); } break; } return(String.Empty); }
void OnGUI() { if (!show || !IsVessel(target)) { return; } controlLevel = target.vessel.connection.GetControlLevel(); GUI.skin = HighLogic.Skin; windowRect = GUILayout.Window(windowId, windowRect, DrawWindow, "Tracking Data", GUILayout.Width(300.0f), GUILayout.Height(1.0f)); }
public static string displayControlLevel(Vessel.ControlLevel vcl) { switch (vcl) { case Vessel.ControlLevel.FULL: return("Full"); case Vessel.ControlLevel.NONE: return("None"); case Vessel.ControlLevel.PARTIAL_MANNED: return("Partial/Manned"); case Vessel.ControlLevel.PARTIAL_UNMANNED: return("Partial/Unmanned"); } return(vcl.ToString()); }
/// <summary> /// Try to get a "vessel control level" matcher from a ParsedParameters. The expected format is: /// /// controlLevel(level1, level2, ...) /// /// Must have at least one level. The allowed control level values are the enum constants /// in Vessel.ControlLevel. /// </summary> /// <param name="module"></param> /// <param name="parsedParams"></param> /// <returns></returns> public static IToggle TryParse(PartModule module, ParsedParameters parsedParams) { if (parsedParams == null) { return(null); } if (!TYPE_NAME.Equals(parsedParams.Identifier)) { return(null); } parsedParams.RequireCount(module, 1, -1); HashSet <Vessel.ControlLevel> requiredLevels = new HashSet <Vessel.ControlLevel>(); for (int i = 0; i < parsedParams.Count; ++i) { Vessel.ControlLevel additionalControlLevel = ParseLevel(module, parsedParams[i]); if (!requiredLevels.Add(additionalControlLevel)) { throw new ArgumentException("Duplicate specification of '" + parsedParams[i] + "' for " + TYPE_NAME + "() on " + module.ClassName + " of " + module.part.GetTitle()); } } return(new VesselControlLevelMatch(module, requiredLevels)); }