From 4ec3997be6700a0aeefea83fa41b0db0d4af32ba Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Fri, 5 Feb 2016 08:25:27 +0000 Subject: [PATCH] Rename LobbyPreview.Map to LobbyLogic.MapPreview. --- .../Widgets/Logic/Lobby/LobbyLogic.cs | 83 ++++++++--------- .../Logic/Lobby/LobbyMapPreviewLogic.cs | 92 ++++++++++--------- 2 files changed, 89 insertions(+), 86 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index 9f381f2e73..3dd98a0676 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -26,7 +26,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic { static readonly Action DoNothing = () => { }; - public MapPreview Map = MapCache.UnknownMap; + public MapPreview MapPreview = MapCache.UnknownMap; readonly Action onStart; readonly Action onExit; @@ -168,7 +168,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic var onSelect = new Action(uid => { // Don't select the same map again - if (uid == Map.Uid) + if (uid == MapPreview.Uid) return; orderManager.IssueOrder(Order.Command("map " + uid)); @@ -178,7 +178,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic Ui.OpenWindow("MAPCHOOSER_PANEL", new WidgetArgs() { - { "initialMap", Map.Uid }, + { "initialMap", MapPreview.Uid }, { "initialTab", MapClassification.System }, { "onExit", DoNothing }, { "onSelect", Game.IsHost ? onSelect : null }, @@ -190,7 +190,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic var slotsButton = lobby.GetOrNull("SLOTS_DROPDOWNBUTTON"); if (slotsButton != null) { - slotsButton.IsDisabled = () => configurationDisabled() || panel != PanelType.Players || Map.RuleStatus != MapRuleStatus.Cached || + slotsButton.IsDisabled = () => configurationDisabled() || panel != PanelType.Players || MapPreview.RuleStatus != MapRuleStatus.Cached || (orderManager.LobbyInfo.Slots.Values.All(s => !s.AllowBots) && orderManager.LobbyInfo.Slots.Count(s => !s.Value.LockTeam && orderManager.LobbyInfo.ClientInSlot(s.Key) != null) == 0); @@ -294,7 +294,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic var optionsTab = lobby.Get("OPTIONS_TAB"); optionsTab.IsHighlighted = () => panel == PanelType.Options; - optionsTab.IsDisabled = () => Map.RuleStatus != MapRuleStatus.Cached || panel == PanelType.Kick || panel == PanelType.ForceStart; + optionsTab.IsDisabled = () => MapPreview.RuleStatus != MapRuleStatus.Cached || panel == PanelType.Kick || panel == PanelType.ForceStart; optionsTab.OnClick = () => panel = PanelType.Options; var playersTab = lobby.Get("PLAYERS_TAB"); @@ -317,9 +317,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic var startGameButton = lobby.GetOrNull("START_GAME_BUTTON"); if (startGameButton != null) { - startGameButton.IsDisabled = () => configurationDisabled() || Map.RuleStatus != MapRuleStatus.Cached || + startGameButton.IsDisabled = () => configurationDisabled() || MapPreview.RuleStatus != MapRuleStatus.Cached || orderManager.LobbyInfo.Slots.Any(sl => sl.Value.Required && orderManager.LobbyInfo.ClientInSlot(sl.Key) == null) || (orderManager.LobbyInfo.GlobalSettings.DisableSingleplayer && orderManager.LobbyInfo.IsSinglePlayer); + startGameButton.OnClick = () => { // Bots and admins don't count @@ -341,7 +342,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (allowCheats != null) { allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats; - allowCheats.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Cheats.HasValue || configurationDisabled(); + allowCheats.IsDisabled = () => MapPreview.Status != MapStatus.Available || MapPreview.Map.Options.Cheats.HasValue || configurationDisabled(); allowCheats.OnClick = () => orderManager.IssueOrder(Order.Command( "allowcheats {0}".F(!orderManager.LobbyInfo.GlobalSettings.AllowCheats))); } @@ -350,7 +351,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (crates != null) { crates.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Crates; - crates.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Crates.HasValue || configurationDisabled(); + crates.IsDisabled = () => MapPreview.Status != MapStatus.Available || MapPreview.Map.Options.Crates.HasValue || configurationDisabled(); crates.OnClick = () => orderManager.IssueOrder(Order.Command( "crates {0}".F(!orderManager.LobbyInfo.GlobalSettings.Crates))); } @@ -359,7 +360,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (creeps != null) { creeps.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Creeps; - creeps.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Creeps.HasValue || configurationDisabled(); + creeps.IsDisabled = () => MapPreview.Status != MapStatus.Available || MapPreview.Map.Options.Creeps.HasValue || configurationDisabled(); creeps.OnClick = () => orderManager.IssueOrder(Order.Command( "creeps {0}".F(!orderManager.LobbyInfo.GlobalSettings.Creeps))); } @@ -368,7 +369,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (allybuildradius != null) { allybuildradius.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllyBuildRadius; - allybuildradius.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.AllyBuildRadius.HasValue || configurationDisabled(); + allybuildradius.IsDisabled = () => MapPreview.Status != MapStatus.Available || MapPreview.Map.Options.AllyBuildRadius.HasValue || configurationDisabled(); allybuildradius.OnClick = () => orderManager.IssueOrder(Order.Command( "allybuildradius {0}".F(!orderManager.LobbyInfo.GlobalSettings.AllyBuildRadius))); } @@ -377,7 +378,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (shortGame != null) { shortGame.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.ShortGame; - shortGame.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.ShortGame.HasValue || configurationDisabled(); + shortGame.IsDisabled = () => MapPreview.Status != MapStatus.Available || MapPreview.Map.Options.ShortGame.HasValue || configurationDisabled(); shortGame.OnClick = () => orderManager.IssueOrder(Order.Command( "shortgame {0}".F(!orderManager.LobbyInfo.GlobalSettings.ShortGame))); } @@ -385,12 +386,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic var difficulty = optionsBin.GetOrNull("DIFFICULTY_DROPDOWNBUTTON"); if (difficulty != null) { - difficulty.IsVisible = () => Map.Status == MapStatus.Available && Map.Map.Options.Difficulties.Any(); - difficulty.IsDisabled = () => Map.Status != MapStatus.Available || configurationDisabled(); + difficulty.IsVisible = () => MapPreview.Status == MapStatus.Available && MapPreview.Map.Options.Difficulties.Any(); + difficulty.IsDisabled = () => MapPreview.Status != MapStatus.Available || configurationDisabled(); difficulty.GetText = () => orderManager.LobbyInfo.GlobalSettings.Difficulty; difficulty.OnMouseDown = _ => { - var options = Map.Map.Options.Difficulties.Select(d => new DropDownOption + var options = MapPreview.Map.Options.Difficulties.Select(d => new DropDownOption { Title = d, IsSelected = () => orderManager.LobbyInfo.GlobalSettings.Difficulty == d, @@ -419,10 +420,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic return selectedClass != null ? selectedClass : c; }; - startingUnits.IsDisabled = () => Map.Status != MapStatus.Available || - !Map.Map.Options.ConfigurableStartingUnits || configurationDisabled(); - startingUnits.GetText = () => Map.Status != MapStatus.Available || - !Map.Map.Options.ConfigurableStartingUnits ? "Not Available" : className(orderManager.LobbyInfo.GlobalSettings.StartingUnitsClass); + startingUnits.IsDisabled = () => MapPreview.Status != MapStatus.Available || + !MapPreview.Map.Options.ConfigurableStartingUnits || configurationDisabled(); + startingUnits.GetText = () => MapPreview.Status != MapStatus.Available || + !MapPreview.Map.Options.ConfigurableStartingUnits ? "Not Available" : className(orderManager.LobbyInfo.GlobalSettings.StartingUnitsClass); startingUnits.OnMouseDown = _ => { var options = classes.Select(c => new DropDownOption @@ -448,10 +449,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic var startingCash = optionsBin.GetOrNull("STARTINGCASH_DROPDOWNBUTTON"); if (startingCash != null) { - startingCash.IsDisabled = () => Map.Status != MapStatus.Available || - Map.Map.Options.StartingCash.HasValue || configurationDisabled(); - startingCash.GetText = () => Map.Status != MapStatus.Available || - Map.Map.Options.StartingCash.HasValue ? "Not Available" : "${0}".F(orderManager.LobbyInfo.GlobalSettings.StartingCash); + startingCash.IsDisabled = () => MapPreview.Status != MapStatus.Available || + MapPreview.Map.Options.StartingCash.HasValue || configurationDisabled(); + startingCash.GetText = () => MapPreview.Status != MapStatus.Available || + MapPreview.Map.Options.StartingCash.HasValue ? "Not Available" : "${0}".F(orderManager.LobbyInfo.GlobalSettings.StartingCash); startingCash.OnMouseDown = _ => { var options = modRules.Actors["player"].TraitInfo().SelectableCash.Select(c => new DropDownOption @@ -482,10 +483,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (techLevelDescription != null) techLevelDescription.IsVisible = () => techTraits.Count > 0; - techLevel.IsDisabled = () => Map.Status != MapStatus.Available || - Map.Map.Options.TechLevel != null || configurationDisabled() || techTraits.Count <= 1; - techLevel.GetText = () => Map.Status != MapStatus.Available || - Map.Map.Options.TechLevel != null ? "Not Available" : "{0}".F(orderManager.LobbyInfo.GlobalSettings.TechLevel); + techLevel.IsDisabled = () => MapPreview.Status != MapStatus.Available || + MapPreview.Map.Options.TechLevel != null || configurationDisabled() || techTraits.Count <= 1; + techLevel.GetText = () => MapPreview.Status != MapStatus.Available || + MapPreview.Map.Options.TechLevel != null ? "Not Available" : "{0}".F(orderManager.LobbyInfo.GlobalSettings.TechLevel); techLevel.OnMouseDown = _ => { var options = techTraits.Select(c => new DropDownOption @@ -511,10 +512,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic { var speeds = Game.ModData.Manifest.Get().Speeds; - gameSpeed.IsDisabled = () => Map.Status != MapStatus.Available || configurationDisabled(); + gameSpeed.IsDisabled = () => MapPreview.Status != MapStatus.Available || configurationDisabled(); gameSpeed.GetText = () => { - if (Map.Status != MapStatus.Available) + if (MapPreview.Status != MapStatus.Available) return "Not Available"; GameSpeed speed; @@ -548,7 +549,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (exploredMap != null) { exploredMap.IsChecked = () => !orderManager.LobbyInfo.GlobalSettings.Shroud; - exploredMap.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Shroud.HasValue || configurationDisabled(); + exploredMap.IsDisabled = () => MapPreview.Status != MapStatus.Available || MapPreview.Map.Options.Shroud.HasValue || configurationDisabled(); exploredMap.OnClick = () => orderManager.IssueOrder(Order.Command( "shroud {0}".F(!orderManager.LobbyInfo.GlobalSettings.Shroud))); } @@ -557,7 +558,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (enableFog != null) { enableFog.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Fog; - enableFog.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Fog.HasValue || configurationDisabled(); + enableFog.IsDisabled = () => MapPreview.Status != MapStatus.Available || MapPreview.Map.Options.Fog.HasValue || configurationDisabled(); enableFog.OnClick = () => orderManager.IssueOrder(Order.Command( "fog {0}".F(!orderManager.LobbyInfo.GlobalSettings.Fog))); } @@ -733,31 +734,31 @@ namespace OpenRA.Mods.Common.Widgets.Logic void UpdateCurrentMap() { var uid = orderManager.LobbyInfo.GlobalSettings.Map; - if (Map.Uid == uid) + if (MapPreview.Uid == uid) return; - Map = Game.ModData.MapCache[uid]; - if (Map.Status == MapStatus.Available) + MapPreview = Game.ModData.MapCache[uid]; + if (MapPreview.Status == MapStatus.Available) { // Maps need to be validated and pre-loaded before they can be accessed new Thread(_ => { - var map = Map; - map.CacheRules(); + var mapPreview = MapPreview; + mapPreview.CacheRules(); Game.RunAfterTick(() => { // Map may have changed in the meantime - if (map != Map) + if (mapPreview != MapPreview) return; - if (map.RuleStatus != MapRuleStatus.Invalid) + if (mapPreview.RuleStatus != MapRuleStatus.Invalid) { // Tell the server that we have the map orderManager.IssueOrder(Order.Command("state {0}".F(Session.ClientState.NotReady))); // Restore default starting cash if the last map set it to something invalid var pri = modRules.Actors["player"].TraitInfo(); - if (!Map.Map.Options.StartingCash.HasValue && !pri.SelectableCash.Contains(orderManager.LobbyInfo.GlobalSettings.StartingCash)) + if (!MapPreview.Map.Options.StartingCash.HasValue && !pri.SelectableCash.Contains(orderManager.LobbyInfo.GlobalSettings.StartingCash)) orderManager.IssueOrder(Order.Command("startingcash {0}".F(pri.DefaultCash))); } }); @@ -816,9 +817,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic LobbyUtils.SetupEditableColorWidget(template, slot, client, orderManager, shellmapWorld, colorPreview); LobbyUtils.SetupEditableFactionWidget(template, slot, client, orderManager, factions); - LobbyUtils.SetupEditableTeamWidget(template, slot, client, orderManager, Map); - LobbyUtils.SetupEditableSpawnWidget(template, slot, client, orderManager, Map); - LobbyUtils.SetupEditableReadyWidget(template, slot, client, orderManager, Map); + LobbyUtils.SetupEditableTeamWidget(template, slot, client, orderManager, MapPreview); + LobbyUtils.SetupEditableSpawnWidget(template, slot, client, orderManager, MapPreview); + LobbyUtils.SetupEditableReadyWidget(template, slot, client, orderManager, MapPreview); } else { diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs index 5c0952ef05..36a6b934bc 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs @@ -25,79 +25,80 @@ namespace OpenRA.Mods.Common.Widgets.Logic var available = widget.GetOrNull("MAP_AVAILABLE"); if (available != null) { - available.IsVisible = () => lobby.Map.Status == MapStatus.Available && lobby.Map.RuleStatus == MapRuleStatus.Cached; + available.IsVisible = () => lobby.MapPreview.Status == MapStatus.Available && lobby.MapPreview.RuleStatus == MapRuleStatus.Cached; var preview = available.Get("MAP_PREVIEW"); - preview.Preview = () => lobby.Map; - preview.OnMouseDown = mi => LobbyUtils.SelectSpawnPoint(orderManager, preview, lobby.Map, mi); - preview.SpawnOccupants = () => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, lobby.Map); + preview.Preview = () => lobby.MapPreview; + preview.OnMouseDown = mi => LobbyUtils.SelectSpawnPoint(orderManager, preview, lobby.MapPreview, mi); + preview.SpawnOccupants = () => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, lobby.MapPreview); var titleLabel = available.GetOrNull("MAP_TITLE"); if (titleLabel != null) { var font = Game.Renderer.Fonts[titleLabel.Font]; var title = new CachedTransform(m => WidgetUtils.TruncateText(m.Title, titleLabel.Bounds.Width, font)); - titleLabel.GetText = () => title.Update(lobby.Map); + titleLabel.GetText = () => title.Update(lobby.MapPreview); } var typeLabel = available.GetOrNull("MAP_TYPE"); if (typeLabel != null) - typeLabel.GetText = () => lobby.Map.Type; + typeLabel.GetText = () => lobby.MapPreview.Type; var authorLabel = available.GetOrNull("MAP_AUTHOR"); if (authorLabel != null) { var font = Game.Renderer.Fonts[authorLabel.Font]; - var author = new CachedTransform(m => WidgetUtils.TruncateText("Created by {0}".F(lobby.Map.Author), authorLabel.Bounds.Width, font)); - authorLabel.GetText = () => author.Update(lobby.Map); + var author = new CachedTransform( + m => WidgetUtils.TruncateText("Created by {0}".F(lobby.MapPreview.Author), authorLabel.Bounds.Width, font)); + authorLabel.GetText = () => author.Update(lobby.MapPreview); } } var invalid = widget.GetOrNull("MAP_INVALID"); if (invalid != null) { - invalid.IsVisible = () => lobby.Map.Status == MapStatus.Available && lobby.Map.RuleStatus == MapRuleStatus.Invalid; + invalid.IsVisible = () => lobby.MapPreview.Status == MapStatus.Available && lobby.MapPreview.RuleStatus == MapRuleStatus.Invalid; var preview = invalid.Get("MAP_PREVIEW"); - preview.Preview = () => lobby.Map; - preview.OnMouseDown = mi => LobbyUtils.SelectSpawnPoint(orderManager, preview, lobby.Map, mi); - preview.SpawnOccupants = () => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, lobby.Map); + preview.Preview = () => lobby.MapPreview; + preview.OnMouseDown = mi => LobbyUtils.SelectSpawnPoint(orderManager, preview, lobby.MapPreview, mi); + preview.SpawnOccupants = () => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, lobby.MapPreview); var title = invalid.GetOrNull("MAP_TITLE"); if (title != null) - title.GetText = () => lobby.Map.Title; + title.GetText = () => lobby.MapPreview.Title; var type = invalid.GetOrNull("MAP_TYPE"); if (type != null) - type.GetText = () => lobby.Map.Type; + type.GetText = () => lobby.MapPreview.Type; } var download = widget.GetOrNull("MAP_DOWNLOADABLE"); if (download != null) { - download.IsVisible = () => lobby.Map.Status == MapStatus.DownloadAvailable; + download.IsVisible = () => lobby.MapPreview.Status == MapStatus.DownloadAvailable; var preview = download.Get("MAP_PREVIEW"); - preview.Preview = () => lobby.Map; - preview.OnMouseDown = mi => LobbyUtils.SelectSpawnPoint(orderManager, preview, lobby.Map, mi); - preview.SpawnOccupants = () => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, lobby.Map); + preview.Preview = () => lobby.MapPreview; + preview.OnMouseDown = mi => LobbyUtils.SelectSpawnPoint(orderManager, preview, lobby.MapPreview, mi); + preview.SpawnOccupants = () => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, lobby.MapPreview); var title = download.GetOrNull("MAP_TITLE"); if (title != null) - title.GetText = () => lobby.Map.Title; + title.GetText = () => lobby.MapPreview.Title; var type = download.GetOrNull("MAP_TYPE"); if (type != null) - type.GetText = () => lobby.Map.Type; + type.GetText = () => lobby.MapPreview.Type; var author = download.GetOrNull("MAP_AUTHOR"); if (author != null) - author.GetText = () => "Created by {0}".F(lobby.Map.Author); + author.GetText = () => "Created by {0}".F(lobby.MapPreview.Author); var install = download.GetOrNull("MAP_INSTALL"); if (install != null) { - install.OnClick = () => lobby.Map.Install(); + install.OnClick = () => lobby.MapPreview.Install(); install.IsHighlighted = () => installHighlighted; } } @@ -106,71 +107,72 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (progress != null) { progress.IsVisible = () => - (lobby.Map.Status != MapStatus.Available || lobby.Map.RuleStatus == MapRuleStatus.Unknown) && - lobby.Map.Status != MapStatus.DownloadAvailable; + (lobby.MapPreview.Status != MapStatus.Available || lobby.MapPreview.RuleStatus == MapRuleStatus.Unknown) && + lobby.MapPreview.Status != MapStatus.DownloadAvailable; var preview = progress.Get("MAP_PREVIEW"); - preview.Preview = () => lobby.Map; - preview.OnMouseDown = mi => LobbyUtils.SelectSpawnPoint(orderManager, preview, lobby.Map, mi); - preview.SpawnOccupants = () => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, lobby.Map); + preview.Preview = () => lobby.MapPreview; + preview.OnMouseDown = mi => LobbyUtils.SelectSpawnPoint(orderManager, preview, lobby.MapPreview, mi); + preview.SpawnOccupants = () => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, lobby.MapPreview); var title = progress.GetOrNull("MAP_TITLE"); if (title != null) - title.GetText = () => lobby.Map.Title; + title.GetText = () => lobby.MapPreview.Title; var type = progress.GetOrNull("MAP_TYPE"); if (type != null) - type.GetText = () => lobby.Map.Type; + type.GetText = () => lobby.MapPreview.Type; var statusSearching = progress.GetOrNull("MAP_STATUS_SEARCHING"); if (statusSearching != null) - statusSearching.IsVisible = () => lobby.Map.Status == MapStatus.Searching; + statusSearching.IsVisible = () => lobby.MapPreview.Status == MapStatus.Searching; var statusUnavailable = progress.GetOrNull("MAP_STATUS_UNAVAILABLE"); if (statusUnavailable != null) - statusUnavailable.IsVisible = () => lobby.Map.Status == MapStatus.Unavailable; + statusUnavailable.IsVisible = () => lobby.MapPreview.Status == MapStatus.Unavailable; var statusError = progress.GetOrNull("MAP_STATUS_ERROR"); if (statusError != null) - statusError.IsVisible = () => lobby.Map.Status == MapStatus.DownloadError; + statusError.IsVisible = () => lobby.MapPreview.Status == MapStatus.DownloadError; var statusDownloading = progress.GetOrNull("MAP_STATUS_DOWNLOADING"); if (statusDownloading != null) { - statusDownloading.IsVisible = () => lobby.Map.Status == MapStatus.Downloading; + statusDownloading.IsVisible = () => lobby.MapPreview.Status == MapStatus.Downloading; statusDownloading.GetText = () => { - if (lobby.Map.DownloadBytes == 0) + if (lobby.MapPreview.DownloadBytes == 0) return "Connecting..."; // Server does not provide the total file length - if (lobby.Map.DownloadPercentage == 0) - return "Downloading {0} kB".F(lobby.Map.DownloadBytes / 1024); + if (lobby.MapPreview.DownloadPercentage == 0) + return "Downloading {0} kB".F(lobby.MapPreview.DownloadBytes / 1024); - return "Downloading {0} kB ({1}%)".F(lobby.Map.DownloadBytes / 1024, lobby.Map.DownloadPercentage); + return "Downloading {0} kB ({1}%)".F(lobby.MapPreview.DownloadBytes / 1024, lobby.MapPreview.DownloadPercentage); }; } var retry = progress.GetOrNull("MAP_RETRY"); if (retry != null) { - retry.IsVisible = () => (lobby.Map.Status == MapStatus.DownloadError || lobby.Map.Status == MapStatus.Unavailable) && lobby.Map != MapCache.UnknownMap; + retry.IsVisible = () => (lobby.MapPreview.Status == MapStatus.DownloadError || lobby.MapPreview.Status == MapStatus.Unavailable) && + lobby.MapPreview != MapCache.UnknownMap; retry.OnClick = () => { - if (lobby.Map.Status == MapStatus.DownloadError) - lobby.Map.Install(); - else if (lobby.Map.Status == MapStatus.Unavailable) - Game.ModData.MapCache.QueryRemoteMapDetails(new[] { lobby.Map.Uid }); + if (lobby.MapPreview.Status == MapStatus.DownloadError) + lobby.MapPreview.Install(); + else if (lobby.MapPreview.Status == MapStatus.Unavailable) + Game.ModData.MapCache.QueryRemoteMapDetails(new[] { lobby.MapPreview.Uid }); }; - retry.GetText = () => lobby.Map.Status == MapStatus.DownloadError ? "Retry Install" : "Retry Search"; + retry.GetText = () => lobby.MapPreview.Status == MapStatus.DownloadError ? "Retry Install" : "Retry Search"; } var progressbar = progress.GetOrNull("MAP_PROGRESSBAR"); if (progressbar != null) { - progressbar.IsIndeterminate = () => lobby.Map.DownloadPercentage == 0; - progressbar.GetPercentage = () => lobby.Map.DownloadPercentage; + progressbar.IsIndeterminate = () => lobby.MapPreview.DownloadPercentage == 0; + progressbar.GetPercentage = () => lobby.MapPreview.DownloadPercentage; progressbar.IsVisible = () => !retry.IsVisible(); } }