From 14f470a9a77b1fb5b8985a4eb784627c3d8e0be3 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Sun, 28 Aug 2022 03:37:46 +1000 Subject: [PATCH] Improve encapsulation of `ToolFormBase` props --- .../tools/ToolFormBase.cs | 28 +++++++++++++++---- .../tools/ToolManager.cs | 8 +----- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/tools/ToolFormBase.cs b/src/BizHawk.Client.EmuHawk/tools/ToolFormBase.cs index 6418b1261c..4ea6758e3a 100644 --- a/src/BizHawk.Client.EmuHawk/tools/ToolFormBase.cs +++ b/src/BizHawk.Client.EmuHawk/tools/ToolFormBase.cs @@ -11,17 +11,17 @@ namespace BizHawk.Client.EmuHawk { public class ToolFormBase : FormBase, IToolForm, IDialogParent { - public ToolManager Tools { get; set; } + protected ToolManager Tools { get; private set; } - public DisplayManager DisplayManager { get; set; } + protected DisplayManager DisplayManager { get; private set; } - public InputManager InputManager { get; set; } + protected InputManager InputManager { get; private set; } - public IMainFormForTools MainForm { get; set; } + protected IMainFormForTools MainForm { get; private set; } - public IMovieSession MovieSession { get; set; } + protected IMovieSession MovieSession { get; private set; } - public IGameInfo Game { get; set; } + protected IGameInfo Game { get; private set; } public IDialogController DialogController => MainForm; @@ -32,6 +32,22 @@ namespace BizHawk.Client.EmuHawk public virtual void Restart() {} + public void SetToolFormBaseProps( + DisplayManager displayManager, + InputManager inputManager, + IMainFormForTools mainForm, + IMovieSession movieSession, + ToolManager toolManager, + IGameInfo game) + { + DisplayManager = displayManager; + Game = game; + InputManager = inputManager; + MainForm = mainForm; + MovieSession = movieSession; + Tools = toolManager; + } + public virtual void UpdateValues(ToolFormUpdateType type) { switch (type) diff --git a/src/BizHawk.Client.EmuHawk/tools/ToolManager.cs b/src/BizHawk.Client.EmuHawk/tools/ToolManager.cs index 7480602ef4..8d88335ea7 100644 --- a/src/BizHawk.Client.EmuHawk/tools/ToolManager.cs +++ b/src/BizHawk.Client.EmuHawk/tools/ToolManager.cs @@ -88,13 +88,7 @@ namespace BizHawk.Client.EmuHawk f.Config = _config; if (!(form is ToolFormBase tool)) return; - - tool.Tools = this; - tool.DisplayManager = _displayManager; - tool.InputManager = _inputManager; - tool.MainForm = _owner; - tool.MovieSession = _movieSession; - tool.Game = _game; + tool.SetToolFormBaseProps(_displayManager, _inputManager, _owner, _movieSession, this, _game); } ///