Remove legacy MP lobby mod and replay switching logic.

This commit is contained in:
Paul Chote
2017-02-11 16:25:36 +00:00
parent 69a869fe43
commit f2e6601e07
4 changed files with 14 additions and 55 deletions

View File

@@ -32,8 +32,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
CloseWindow();
var switchPanel = (om.ServerExternalMod != null || om.ServerMod != null) ?
"CONNECTION_SWITCHMOD_PANEL" : "CONNECTIONFAILED_PANEL";
var switchPanel = om.ServerExternalMod != null ? "CONNECTION_SWITCHMOD_PANEL" : "CONNECTIONFAILED_PANEL";
Ui.OpenWindow(switchPanel, new WidgetArgs()
{
{ "orderManager", om },
@@ -160,51 +159,24 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var abortButton = panel.Get<ButtonWidget>("ABORT_BUTTON");
var switchButton = panel.Get<ButtonWidget>("SWITCH_BUTTON");
var modTitle = "";
var modVersion = "";
Sprite modIcon = null;
if (orderManager.ServerExternalMod != null)
{
modTitle = orderManager.ServerExternalMod.Title;
modVersion = orderManager.ServerExternalMod.Version;
modIcon = orderManager.ServerExternalMod.Icon;
}
else
{
modTitle = orderManager.ServerMod.Metadata.Title;
modVersion = orderManager.ServerMod.Metadata.Version;
modIcon = Game.Mods.Icons[orderManager.ServerMod.Id];
}
var modTitle = orderManager.ServerExternalMod.Title;
var modVersion = orderManager.ServerExternalMod.Version;
var modIcon = orderManager.ServerExternalMod.Icon;
switchButton.OnClick = () =>
{
// Note: Switching mods for directly launched replays is handled by the load screen
// and the replay browser prevents loading replays from other mods, so it doesn't look
// like this replay case is ever hit.
var replay = orderManager.Connection as ReplayConnection;
var launchCommand = replay != null ?
"Launch.Replay=" + replay.Filename :
"Launch.Connect=" + orderManager.Host + ":" + orderManager.Port;
if (orderManager.ServerExternalMod != null)
var launchCommand = "Launch.Connect=" + orderManager.Host + ":" + orderManager.Port;
Game.SwitchToExternalMod(orderManager.ServerExternalMod, new[] { launchCommand }, () =>
{
Game.SwitchToExternalMod(orderManager.ServerExternalMod, new[] { launchCommand }, () =>
orderManager.ServerError = "Failed to switch mod.";
Ui.CloseWindow();
Ui.OpenWindow("CONNECTIONFAILED_PANEL", new WidgetArgs()
{
orderManager.ServerError = "Failed to switch mod.";
Ui.CloseWindow();
Ui.OpenWindow("CONNECTIONFAILED_PANEL", new WidgetArgs()
{
{ "orderManager", orderManager },
{ "onAbort", onAbort },
{ "onRetry", onRetry }
});
{ "orderManager", orderManager },
{ "onAbort", onAbort },
{ "onRetry", onRetry }
});
}
else
{
Game.ModData.LoadScreen.Display();
Game.InitializeMod(orderManager.ServerMod.Id, new Arguments(launchCommand));
}
});
};
abortButton.Visible = onAbort != null;

View File

@@ -91,8 +91,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
Action<string> onRetry = password => ConnectionLogic.Connect(om.Host, om.Port, password, onConnect, onExit);
var switchPanel = (om.ServerExternalMod != null || om.ServerMod != null) ?
"CONNECTION_SWITCHMOD_PANEL" : "CONNECTIONFAILED_PANEL";
var switchPanel = om.ServerExternalMod != null ? "CONNECTION_SWITCHMOD_PANEL" : "CONNECTIONFAILED_PANEL";
Ui.OpenWindow(switchPanel, new WidgetArgs()
{
{ "orderManager", om },