Notify the server after installing a map.

This commit is contained in:
Paul Chote
2016-03-18 17:55:12 +00:00
parent 51bfe4accc
commit 0dc939e0e8
2 changed files with 5 additions and 3 deletions

View File

@@ -314,7 +314,7 @@ namespace OpenRA
});
}
public void Install()
public void Install(Action onSuccess)
{
if (Status != MapStatus.DownloadAvailable || !Game.Settings.Game.AllowDownloading)
return;
@@ -372,6 +372,7 @@ namespace OpenRA
{
var package = modData.ModFiles.OpenPackage(mapFilename, mapInstallPackage);
UpdateFromMap(package, mapInstallPackage, MapClassification.User, null, GridType);
onSuccess();
});
};

View File

@@ -99,7 +99,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var install = download.GetOrNull<ButtonWidget>("MAP_INSTALL");
if (install != null)
{
install.OnClick = () => lobby.Map.Install();
install.OnClick = () => lobby.Map.Install(
() => orderManager.IssueOrder(Order.Command("state {0}".F(Session.ClientState.NotReady))));
install.IsHighlighted = () => installHighlighted;
}
}
@@ -160,7 +161,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
retry.OnClick = () =>
{
if (lobby.Map.Status == MapStatus.DownloadError)
lobby.Map.Install();
lobby.Map.Install(() => orderManager.IssueOrder(Order.Command("state {0}".F(Session.ClientState.NotReady))));
else if (lobby.Map.Status == MapStatus.Unavailable)
modData.MapCache.QueryRemoteMapDetails(new[] { lobby.Map.Uid });
};