Use static ctors for static setup.

This commit is contained in:
Paul Chote
2011-05-23 18:14:01 +12:00
parent a5fdfbfd60
commit a288c5df15
3 changed files with 19 additions and 23 deletions

View File

@@ -16,11 +16,15 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
{
public class CncConnectingLogic
{
static bool staticSetup;
Action onConnect, onRetry, onAbort;
string host;
int port;
static CncConnectingLogic()
{
Game.ConnectionStateChanged += ConnectionStateChangedStub;
}
static void ConnectionStateChangedStub(OrderManager om)
{
var panel = Widget.RootWidget.GetWidget("CONNECTING_PANEL");
@@ -68,11 +72,6 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
this.onConnect = onConnect;
this.onRetry = onRetry;
this.onAbort = onAbort;
if (!staticSetup)
{
staticSetup = true;
Game.ConnectionStateChanged += ConnectionStateChangedStub;
}
var panel = widget.GetWidget("CONNECTING_PANEL");
panel.GetWidget<ButtonWidget>("ABORT_BUTTON").OnClick = () => { Widget.CloseWindow(); onAbort(); };