protected override void Open()
{
base.Open();
- _window = new OfferingWindow();
- _window.Title = Loc.GetString("salvage-magnet-window-title");
- _window.OnClose += Close;
- _window.OpenCenteredLeft();
+
+ if (_window is null)
+ {
+ _window = new OfferingWindow();
+ _window.Title = Loc.GetString("salvage-magnet-window-title");
+ _window.OnClose += Close;
+ _window.OpenCenteredLeft();
+ }
}
protected override void UpdateState(BoundUserInterfaceState state)
_window.AddOption(option);
}
}
+
+ protected override void Dispose(bool disposing)
+ {
+ base.Dispose(disposing);
+
+ if (disposing)
+ {
+ _window?.Close();
+ _window?.Dispose();
+ }
+ }
}