diff --git a/OpenRA.Mods.Common/Widgets/Logic/Ingame/ObserverShroudSelectorLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Ingame/ObserverShroudSelectorLogic.cs index 1d44d2e9de..839af3c879 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Ingame/ObserverShroudSelectorLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Ingame/ObserverShroudSelectorLogic.cs @@ -97,13 +97,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic .OrderBy(g => g.Key); var noTeams = teams.Count() == 1; + var totalPlayers = 0; foreach (var t in teams) { + totalPlayers += t.Count(); var label = noTeams ? "Players" : t.Key == 0 ? "No Team" : $"Team {t.Key}"; groups.Add(label, t); } + var shroudSelectorDisabled = limitViews && totalPlayers < 2; var shroudSelector = widget.Get("SHROUD_SELECTOR"); + shroudSelector.IsDisabled = () => shroudSelectorDisabled; shroudSelector.OnMouseDown = _ => { Func setupItem = (option, template) =>