diff --git a/OpenRA.Game/GameInformation.cs b/OpenRA.Game/GameInformation.cs index 57765eb28a..bd128a7895 100644 --- a/OpenRA.Game/GameInformation.cs +++ b/OpenRA.Game/GameInformation.cs @@ -35,7 +35,7 @@ namespace OpenRA /// Gets the game's duration, from the time the game started until the replay recording stopped. public TimeSpan Duration { get { return EndTimeUtc > StartTimeUtc ? EndTimeUtc - StartTimeUtc : TimeSpan.Zero; } } public IList Players { get; private set; } - public List DisabledSpawnPoints = new List(); + public HashSet DisabledSpawnPoints = new HashSet(); public MapPreview MapPreview { get { return Game.ModData.MapCache[MapUid]; } } public IEnumerable HumanPlayers { get { return Players.Where(p => p.IsHuman); } } public bool IsSinglePlayer { get { return HumanPlayers.Count() == 1; } } diff --git a/OpenRA.Game/Network/Session.cs b/OpenRA.Game/Network/Session.cs index 9e439e9328..c39b5b808c 100644 --- a/OpenRA.Game/Network/Session.cs +++ b/OpenRA.Game/Network/Session.cs @@ -26,7 +26,7 @@ namespace OpenRA.Network // Keyed by the PlayerReference id that the slot corresponds to public Dictionary Slots = new Dictionary(); - public List DisabledSpawnPoints = new List(); + public HashSet DisabledSpawnPoints = new HashSet(); public Global GlobalSettings = new Global(); @@ -72,7 +72,7 @@ namespace OpenRA.Network session.Slots.Add(s.PlayerReference, s); break; case "DisabledSpawnPoints": - session.DisabledSpawnPoints = FieldLoader.GetValue>("DisabledSpawnPoints", node.Value.Value); + session.DisabledSpawnPoints = FieldLoader.GetValue>("DisabledSpawnPoints", node.Value.Value); break; } } diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index bba9bdc2c8..1c137bc4e6 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -137,7 +137,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic LobbyUtils.SelectSpawnPoint(orderManager, preview, mapPreview, mi)) }, { "getSpawnOccupants", (Func>)(() => spawnOccupants) }, - { "getDisabledSpawnPoints", (Func>)(() => orderManager.LobbyInfo.DisabledSpawnPoints) }, + { "getDisabledSpawnPoints", (Func>)(() => orderManager.LobbyInfo.DisabledSpawnPoints) }, { "showUnoccupiedSpawnpoints", true }, }); diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/MapPreviewLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/MapPreviewLogic.cs index 346d719af0..6f3c095370 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/MapPreviewLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/MapPreviewLogic.cs @@ -25,7 +25,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic [ObjectCreator.UseCtor] internal MapPreviewLogic(Widget widget, ModData modData, OrderManager orderManager, Func getMap, Action onMouseDown, - Func> getSpawnOccupants, Func> getDisabledSpawnPoints, bool showUnoccupiedSpawnpoints) + Func> getSpawnOccupants, Func> getDisabledSpawnPoints, bool showUnoccupiedSpawnpoints) { var mapRepository = modData.Manifest.Get().MapRepository; @@ -172,7 +172,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic } void SetupWidgets(Widget parent, Func getMap, - Action onMouseDown, Func> getSpawnOccupants, Func> getDisabledSpawnPoints, bool showUnoccupiedSpawnpoints) + Action onMouseDown, Func> getSpawnOccupants, Func> getDisabledSpawnPoints, bool showUnoccupiedSpawnpoints) { var preview = parent.Get("MAP_PREVIEW"); preview.Preview = () => getMap(); diff --git a/OpenRA.Mods.Common/Widgets/Logic/ReplayBrowserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/ReplayBrowserLogic.cs index 65ef6d4b9d..2a553a3c60 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/ReplayBrowserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/ReplayBrowserLogic.cs @@ -87,8 +87,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic return occupants; }); - var noSpawns = new List(); - var disabledSpawnPoints = new CachedTransform>(r => r.GameInfo.DisabledSpawnPoints ?? noSpawns); + var noSpawns = new HashSet(); + var disabledSpawnPoints = new CachedTransform>(r => r.GameInfo.DisabledSpawnPoints ?? noSpawns); Ui.LoadWidget("MAP_PREVIEW", mapPreviewRoot, new WidgetArgs { @@ -96,7 +96,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic { "getMap", (Func)(() => map) }, { "onMouseDown", (Action)((preview, mapPreview, mi) => { }) }, { "getSpawnOccupants", (Func>)(() => spawnOccupants.Update(selectedReplay)) }, - { "getDisabledSpawnPoints", (Func>)(() => disabledSpawnPoints.Update(selectedReplay)) }, + { "getDisabledSpawnPoints", (Func>)(() => disabledSpawnPoints.Update(selectedReplay)) }, { "showUnoccupiedSpawnpoints", false }, });