Make a lack of random map yaml be non-fatal

This commit is contained in:
Scott_NZ
2013-02-12 22:47:34 +13:00
parent 57dd8bb91e
commit 4b3feed324

View File

@@ -144,18 +144,18 @@ namespace OpenRA.Mods.RA.Widgets.Logic
}; };
mapButton.IsVisible = () => mapButton.Visible && Game.IsHost; mapButton.IsVisible = () => mapButton.Visible && Game.IsHost;
var randomMapButton = lobby.Get<ButtonWidget>("RANDOMMAP_BUTTON"); var randomMapButton = lobby.GetOrNull<ButtonWidget>("RANDOMMAP_BUTTON");
randomMapButton.OnClick = () => if (randomMapButton != null && Game.modData.AvailableMaps.Any())
{ {
if (Game.modData.AvailableMaps.Any()) randomMapButton.OnClick = () =>
{ {
var mapUid = Game.modData.AvailableMaps.Random(Game.CosmeticRandom).Key; var mapUid = Game.modData.AvailableMaps.Random(Game.CosmeticRandom).Key;
orderManager.IssueOrder(Order.Command("map " + mapUid)); orderManager.IssueOrder(Order.Command("map " + mapUid));
Game.Settings.Server.Map = mapUid; Game.Settings.Server.Map = mapUid;
Game.Settings.Save(); Game.Settings.Save();
} };
}; randomMapButton.IsVisible = () => mapButton.Visible && Game.IsHost;
randomMapButton.IsVisible = () => mapButton.Visible && Game.IsHost; }
var disconnectButton = lobby.Get<ButtonWidget>("DISCONNECT_BUTTON"); var disconnectButton = lobby.Get<ButtonWidget>("DISCONNECT_BUTTON");
disconnectButton.OnClick = () => { CloseWindow(); onExit(); }; disconnectButton.OnClick = () => { CloseWindow(); onExit(); };