Files
OpenRA/OpenRA.Mods.Common/Widgets/Logic/DisconnectWatcherLogic.cs
steelphase 2f87a62ee8 Mods.Common Widgets
Moved over Widgets that don't require a bunch of things to move.
2014-10-01 09:48:41 -04:00

38 lines
1017 B
C#

#region Copyright & License Information
/*
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see COPYING.
*/
#endregion
using OpenRA.Network;
using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic
{
public class DisconnectWatcherLogic
{
[ObjectCreator.UseCtor]
public DisconnectWatcherLogic(Widget widget, OrderManager orderManager)
{
var disconnected = false;
widget.Get<LogicTickerWidget>("DISCONNECT_WATCHER").OnTick = () =>
{
if (disconnected || orderManager.Connection.ConnectionState != ConnectionState.NotConnected)
return;
Game.RunAfterTick(() => Ui.OpenWindow("CONNECTIONFAILED_PANEL", new WidgetArgs {
{ "orderManager", orderManager },
{ "onAbort", null },
{ "onRetry", null }
}));
disconnected = true;
};
}
}
}