Skip to content

Commit 3b7a5da

Browse files
committed
Revert "changed Provider method into a getter property. Passing by reference instead of a func<>."
This reverts commit 2abebfa.
1 parent 772cbbd commit 3b7a5da

File tree

3 files changed

+25
-20
lines changed

3 files changed

+25
-20
lines changed

Intersect.Client.Core/Interface/Game/EscapeMenu.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ namespace Intersect.Client.Interface.Game;
1212

1313
public partial class EscapeMenu : ImagePanel
1414
{
15-
private readonly SettingsWindow _settingsWindow;
15+
private readonly Func<SettingsWindow> _settingsWindowProvider;
1616
private readonly Button _buttonCharacterSelect;
1717
private readonly Panel _versionPanel;
1818

1919
private readonly Framework.Graphics.GameFont _font;
2020

21-
public EscapeMenu(Canvas gameCanvas, SettingsWindow settingsWindow) : base(gameCanvas, nameof(EscapeMenu))
21+
public EscapeMenu(Canvas gameCanvas, Func<SettingsWindow> settingsWindowProvider) : base(gameCanvas, nameof(EscapeMenu))
2222
{
23-
_settingsWindow = settingsWindow;
23+
_settingsWindowProvider = settingsWindowProvider;
2424

2525
Interface.InputBlockingComponents.Add(this);
2626

@@ -113,7 +113,8 @@ public override void Invalidate()
113113
/// <inheritdoc />
114114
public override void ToggleHidden()
115115
{
116-
if (_settingsWindow.IsVisible)
116+
var settingsWindow = _settingsWindowProvider();
117+
if (settingsWindow.IsVisible)
117118
{
118119
return;
119120
}
@@ -133,7 +134,8 @@ public void Update()
133134

134135
public void OpenSettingsWindow(bool returnToMenu = false)
135136
{
136-
_settingsWindow.Show(returnToMenu ? this : null);
137+
var settingsWindow = _settingsWindowProvider();
138+
settingsWindow.Show(returnToMenu ? this : null);
137139
Hide();
138140
}
139141

Intersect.Client.Core/Interface/Game/GameInterface.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,22 +92,21 @@ public partial class GameInterface : MutableInterface
9292

9393
public PlayerStatusWindow PlayerStatusWindow;
9494

95-
private SettingsWindow SettingsWindow
95+
private SettingsWindow GetOrCreateSettingsWindow()
9696
{
97-
get
97+
_settingsWindow ??= new SettingsWindow(GameCanvas)
9898
{
99-
return _settingsWindow ??= new SettingsWindow(GameCanvas)
100-
{
101-
IsVisible = false,
102-
};
103-
}
99+
IsVisible = false,
100+
};
101+
102+
return _settingsWindow;
104103
}
105104

106105
public GameInterface(Canvas canvas) : base(canvas)
107106
{
108107
GameCanvas = canvas;
109-
EscapeMenu = new EscapeMenu(GameCanvas, SettingsWindow) {IsHidden = true};
110-
SimplifiedEscapeMenu = new SimplifiedEscapeMenu(GameCanvas, SettingsWindow) {IsHidden = true};
108+
EscapeMenu = new EscapeMenu(GameCanvas, GetOrCreateSettingsWindow) {IsHidden = true};
109+
SimplifiedEscapeMenu = new SimplifiedEscapeMenu(GameCanvas, GetOrCreateSettingsWindow) {IsHidden = true};
111110
TargetContextMenu = new TargetContextMenu(GameCanvas) {IsHidden = true};
112111
AnnouncementWindow = new AnnouncementWindow(GameCanvas) { IsHidden = true };
113112

Intersect.Client.Core/Interface/Game/SimplifiedEscapeMenu.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,17 @@ namespace Intersect.Client.Interface.Game;
1212

1313
public sealed partial class SimplifiedEscapeMenu : Framework.Gwen.Control.Menu
1414
{
15-
private readonly SettingsWindow _settingsWindow;
15+
private readonly Func<SettingsWindow> _settingsWindowProvider;
1616
private readonly MenuItem _settings;
1717
private readonly MenuItem _character;
1818
private readonly MenuItem _logout;
1919
private readonly MenuItem _exit;
2020

21-
public SimplifiedEscapeMenu(Canvas gameCanvas, SettingsWindow settingsWindow) : base(gameCanvas, nameof(SimplifiedEscapeMenu))
21+
public SimplifiedEscapeMenu(Canvas gameCanvas, Func<SettingsWindow> settingsWindowProvider) : base(gameCanvas, nameof(SimplifiedEscapeMenu))
2222
{
2323
IsHidden = true;
2424
IconMarginDisabled = true;
25-
_settingsWindow = settingsWindow;
25+
_settingsWindowProvider = settingsWindowProvider;
2626

2727
Children.Clear();
2828

@@ -41,7 +41,8 @@ public SimplifiedEscapeMenu(Canvas gameCanvas, SettingsWindow settingsWindow) :
4141

4242
public void ToggleHidden(Button? target)
4343
{
44-
if (!_settingsWindow.IsHidden || target == null)
44+
var settingsWindow = _settingsWindowProvider();
45+
if (!settingsWindow.IsHidden || target == null)
4546
{
4647
return;
4748
}
@@ -123,10 +124,13 @@ private static void ShowCombatWarning()
123124

124125
private void OpenSettingsWindow(object? sender, EventArgs? e)
125126
{
126-
if (!_settingsWindow.IsVisible)
127+
var settingsWindow = _settingsWindowProvider();
128+
if (settingsWindow.IsVisible)
127129
{
128-
_settingsWindow.Show();
130+
return;
129131
}
132+
133+
settingsWindow.Show();
130134
}
131135

132136
private static void LogoutToCharacterSelect(object? sender, EventArgs? e)

0 commit comments

Comments
 (0)