/// <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); }