Esempio n. 1
0
        public override void OnUpdate()
        {
            base.OnUpdate();
            Maxlevel = this.part.vessel.maxControlLevel;

            CurLevel = this.part.vessel.CurrentControlLevel;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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));
 }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
            /// <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));
            }