/// <summary>
        /// Add new ClampAndSetMode for custom display mode
        /// </summary>
        public void ClampAndSetMode(ref CNCCommNetUI.CustomDisplayMode curMode, CNCCommNetUI.CustomDisplayMode newMode)
        {
            if (this.vessel == null || this.vessel.connection == null || this.vessel.connection.Comm.Net == null)
            {
                if (newMode != CNCCommNetUI.CustomDisplayMode.None &&
                    newMode != CNCCommNetUI.CustomDisplayMode.Network &&
                    newMode != CNCCommNetUI.CustomDisplayMode.MultiPaths)
                {
                    newMode = ((curMode != CNCCommNetUI.CustomDisplayMode.None) ? CNCCommNetUI.CustomDisplayMode.None : CNCCommNetUI.CustomDisplayMode.Network);
                }
            }

            CNCCommNetUI.CustomMode = (curMode = newMode);
        }
        /// <summary>
        /// Overrode SwitchMode to use custom display mode
        /// </summary>
        public override void SwitchMode(int step)
        {
            int modeIndex = (((int)CNCCommNetUI.CustomMode) + step + CNCCommNetUI.CustomModeCount) % CNCCommNetUI.CustomModeCount;

            CNCCommNetUI.CustomDisplayMode newMode = (CNCCommNetUI.CustomDisplayMode)modeIndex;

            if (this.useTSBehavior)
            {
                this.ClampAndSetMode(ref CNCCommNetUI.CustomModeTrackingStation, newMode);
            }
            else
            {
                this.ClampAndSetMode(ref CNCCommNetUI.CustomModeFlightMap, newMode);
            }

            this.points.Clear();
            ScreenMessages.PostScreenMessage(Localizer.Format("#autoLOC_118530", new string[]
            {
                Localizer.Format(CNCCommNetUI.CustomMode.displayDescription())
            }), CNCSettings.ScreenMessageDuration);
        }