Move static IEmuClientApi prop from GlobalWin to ClientApi

This commit is contained in:
YoshiRulz 2020-11-26 14:32:18 +10:00
parent 0e2d35d6aa
commit 21b633c705
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
3 changed files with 66 additions and 67 deletions

View File

@ -64,9 +64,8 @@ namespace BizHawk.Client.EmuHawk
IEmulator emulator, IEmulator emulator,
IGameInfo game) IGameInfo game)
{ {
GlobalWin.ClientApi = null;
_container = Register(serviceProvider, Console.WriteLine, mainForm, displayManager, inputManager, config, emulator, game); _container = Register(serviceProvider, Console.WriteLine, mainForm, displayManager, inputManager, config, emulator, game);
GlobalWin.ClientApi = _container.EmuClient as EmuClientApi; ClientApi.EmuClient = _container.EmuClient;
return new BasicApiProvider(_container); return new BasicApiProvider(_container);
} }

View File

@ -8,201 +8,203 @@ namespace BizHawk.Client.EmuHawk
{ {
public static class ClientApi public static class ClientApi
{ {
public static IEmuClientApi EmuClient { get; set; }
/// <inheritdoc cref="IEmuClientApi.BeforeQuickLoad"/> /// <inheritdoc cref="IEmuClientApi.BeforeQuickLoad"/>
public static event BeforeQuickLoadEventHandler BeforeQuickLoad public static event BeforeQuickLoadEventHandler BeforeQuickLoad
{ {
add => GlobalWin.ClientApi.BeforeQuickLoad += value; add => EmuClient.BeforeQuickLoad += value;
remove => GlobalWin.ClientApi.BeforeQuickLoad -= value; remove => EmuClient.BeforeQuickLoad -= value;
} }
/// <inheritdoc cref="IEmuClientApi.BeforeQuickSave"/> /// <inheritdoc cref="IEmuClientApi.BeforeQuickSave"/>
public static event BeforeQuickSaveEventHandler BeforeQuickSave public static event BeforeQuickSaveEventHandler BeforeQuickSave
{ {
add => GlobalWin.ClientApi.BeforeQuickSave += value; add => EmuClient.BeforeQuickSave += value;
remove => GlobalWin.ClientApi.BeforeQuickSave -= value; remove => EmuClient.BeforeQuickSave -= value;
} }
/// <inheritdoc cref="IEmuClientApi.RomLoaded"/> /// <inheritdoc cref="IEmuClientApi.RomLoaded"/>
public static event EventHandler RomLoaded public static event EventHandler RomLoaded
{ {
add => GlobalWin.ClientApi.RomLoaded += value; add => EmuClient.RomLoaded += value;
remove => GlobalWin.ClientApi.RomLoaded -= value; remove => EmuClient.RomLoaded -= value;
} }
/// <inheritdoc cref="IEmuClientApi.StateLoaded"/> /// <inheritdoc cref="IEmuClientApi.StateLoaded"/>
public static event StateLoadedEventHandler StateLoaded public static event StateLoadedEventHandler StateLoaded
{ {
add => GlobalWin.ClientApi.StateLoaded += value; add => EmuClient.StateLoaded += value;
remove => GlobalWin.ClientApi.StateLoaded -= value; remove => EmuClient.StateLoaded -= value;
} }
/// <inheritdoc cref="IEmuClientApi.StateSaved"/> /// <inheritdoc cref="IEmuClientApi.StateSaved"/>
public static event StateSavedEventHandler StateSaved public static event StateSavedEventHandler StateSaved
{ {
add => GlobalWin.ClientApi.StateSaved += value; add => EmuClient.StateSaved += value;
remove => GlobalWin.ClientApi.StateSaved -= value; remove => EmuClient.StateSaved -= value;
} }
/// <inheritdoc cref="IEmuClientApi.BorderHeight"/> /// <inheritdoc cref="IEmuClientApi.BorderHeight"/>
public static int BorderHeight() => GlobalWin.ClientApi.BorderHeight(); public static int BorderHeight() => EmuClient.BorderHeight();
/// <inheritdoc cref="IEmuClientApi.BorderWidth"/> /// <inheritdoc cref="IEmuClientApi.BorderWidth"/>
public static int BorderWidth() => GlobalWin.ClientApi.BorderWidth(); public static int BorderWidth() => EmuClient.BorderWidth();
/// <inheritdoc cref="IEmuClientApi.BufferHeight"/> /// <inheritdoc cref="IEmuClientApi.BufferHeight"/>
public static int BufferHeight() => GlobalWin.ClientApi.BufferHeight(); public static int BufferHeight() => EmuClient.BufferHeight();
/// <inheritdoc cref="IEmuClientApi.BufferWidth"/> /// <inheritdoc cref="IEmuClientApi.BufferWidth"/>
public static int BufferWidth() => GlobalWin.ClientApi.BufferWidth(); public static int BufferWidth() => EmuClient.BufferWidth();
/// <inheritdoc cref="IEmuClientApi.ClearAutohold"/> /// <inheritdoc cref="IEmuClientApi.ClearAutohold"/>
public static void ClearAutohold() => GlobalWin.ClientApi.ClearAutohold(); public static void ClearAutohold() => EmuClient.ClearAutohold();
/// <inheritdoc cref="IEmuClientApi.CloseEmulator"/> /// <inheritdoc cref="IEmuClientApi.CloseEmulator"/>
public static void CloseEmulator() => GlobalWin.ClientApi.CloseEmulator(); public static void CloseEmulator() => EmuClient.CloseEmulator();
/// <inheritdoc cref="IEmuClientApi.CloseEmulator"/> /// <inheritdoc cref="IEmuClientApi.CloseEmulator"/>
public static void CloseEmulatorWithCode(int exitCode) => GlobalWin.ClientApi.CloseEmulator(exitCode); public static void CloseEmulatorWithCode(int exitCode) => EmuClient.CloseEmulator(exitCode);
/// <inheritdoc cref="IEmuClientApi.CloseRom"/> /// <inheritdoc cref="IEmuClientApi.CloseRom"/>
public static void CloseRom() => GlobalWin.ClientApi.CloseRom(); public static void CloseRom() => EmuClient.CloseRom();
/// <inheritdoc cref="IEmuClientApi.DisplayMessages"/> /// <inheritdoc cref="IEmuClientApi.DisplayMessages"/>
public static void DisplayMessages(bool value) => GlobalWin.ClientApi.DisplayMessages(value); public static void DisplayMessages(bool value) => EmuClient.DisplayMessages(value);
/// <inheritdoc cref="IEmuClientApi.DoFrameAdvance"/> /// <inheritdoc cref="IEmuClientApi.DoFrameAdvance"/>
public static void DoFrameAdvance() => GlobalWin.ClientApi.DoFrameAdvance(); public static void DoFrameAdvance() => EmuClient.DoFrameAdvance();
/// <inheritdoc cref="IEmuClientApi.DoFrameAdvanceAndUnpause"/> /// <inheritdoc cref="IEmuClientApi.DoFrameAdvanceAndUnpause"/>
public static void DoFrameAdvanceAndUnpause() => GlobalWin.ClientApi.DoFrameAdvanceAndUnpause(); public static void DoFrameAdvanceAndUnpause() => EmuClient.DoFrameAdvanceAndUnpause();
/// <inheritdoc cref="IEmuClientApi.EnableRewind"/> /// <inheritdoc cref="IEmuClientApi.EnableRewind"/>
public static void EnableRewind(bool enabled) => GlobalWin.ClientApi.EnableRewind(enabled); public static void EnableRewind(bool enabled) => EmuClient.EnableRewind(enabled);
/// <inheritdoc cref="IEmuClientApi.FrameSkip"/> /// <inheritdoc cref="IEmuClientApi.FrameSkip"/>
public static void FrameSkip(int numFrames) => GlobalWin.ClientApi.FrameSkip(numFrames); public static void FrameSkip(int numFrames) => EmuClient.FrameSkip(numFrames);
/// <inheritdoc cref="IEmuClientApi.GetInput"/> /// <inheritdoc cref="IEmuClientApi.GetInput"/>
public static Joypad GetInput(int player) => GlobalWin.ClientApi.GetInput(player); public static Joypad GetInput(int player) => EmuClient.GetInput(player);
/// <inheritdoc cref="IEmuClientApi.GetSoundOn"/> /// <inheritdoc cref="IEmuClientApi.GetSoundOn"/>
public static bool GetSoundOn() => GlobalWin.ClientApi.GetSoundOn(); public static bool GetSoundOn() => EmuClient.GetSoundOn();
/// <inheritdoc cref="IEmuClientApi.GetTargetScanlineIntensity"/> /// <inheritdoc cref="IEmuClientApi.GetTargetScanlineIntensity"/>
public static int GetTargetScanlineIntensity() => GlobalWin.ClientApi.GetTargetScanlineIntensity(); public static int GetTargetScanlineIntensity() => EmuClient.GetTargetScanlineIntensity();
/// <inheritdoc cref="IEmuClientApi.GetWindowSize"/> /// <inheritdoc cref="IEmuClientApi.GetWindowSize"/>
public static int GetWindowSize() => GlobalWin.ClientApi.GetWindowSize(); public static int GetWindowSize() => EmuClient.GetWindowSize();
/// <inheritdoc cref="IEmuClientApi.InvisibleEmulation"/> /// <inheritdoc cref="IEmuClientApi.InvisibleEmulation"/>
public static void InvisibleEmulation(bool invisible) => GlobalWin.ClientApi.InvisibleEmulation(invisible); public static void InvisibleEmulation(bool invisible) => EmuClient.InvisibleEmulation(invisible);
/// <inheritdoc cref="IEmuClientApi.IsPaused"/> /// <inheritdoc cref="IEmuClientApi.IsPaused"/>
public static bool IsPaused() => GlobalWin.ClientApi.IsPaused(); public static bool IsPaused() => EmuClient.IsPaused();
/// <inheritdoc cref="IEmuClientApi.IsSeeking"/> /// <inheritdoc cref="IEmuClientApi.IsSeeking"/>
public static bool IsSeeking() => GlobalWin.ClientApi.IsSeeking(); public static bool IsSeeking() => EmuClient.IsSeeking();
/// <inheritdoc cref="IEmuClientApi.IsTurbo"/> /// <inheritdoc cref="IEmuClientApi.IsTurbo"/>
public static bool IsTurbo() => GlobalWin.ClientApi.IsTurbo(); public static bool IsTurbo() => EmuClient.IsTurbo();
/// <inheritdoc cref="IEmuClientApi.LoadState"/> /// <inheritdoc cref="IEmuClientApi.LoadState"/>
public static void LoadState(string name) => GlobalWin.ClientApi.LoadState(name); public static void LoadState(string name) => EmuClient.LoadState(name);
/// <inheritdoc cref="IEmuClientApi.OnBeforeQuickLoad"/> /// <inheritdoc cref="IEmuClientApi.OnBeforeQuickLoad"/>
public static void OnBeforeQuickLoad(object sender, string quickSaveSlotName, out bool eventHandled) => GlobalWin.ClientApi.OnBeforeQuickLoad(sender, quickSaveSlotName, out eventHandled); public static void OnBeforeQuickLoad(object sender, string quickSaveSlotName, out bool eventHandled) => EmuClient.OnBeforeQuickLoad(sender, quickSaveSlotName, out eventHandled);
/// <inheritdoc cref="IEmuClientApi.OnBeforeQuickSave"/> /// <inheritdoc cref="IEmuClientApi.OnBeforeQuickSave"/>
public static void OnBeforeQuickSave(object sender, string quickSaveSlotName, out bool eventHandled) => GlobalWin.ClientApi.OnBeforeQuickSave(sender, quickSaveSlotName, out eventHandled); public static void OnBeforeQuickSave(object sender, string quickSaveSlotName, out bool eventHandled) => EmuClient.OnBeforeQuickSave(sender, quickSaveSlotName, out eventHandled);
/// <inheritdoc cref="IEmuClientApi.OnRomLoaded"/> /// <inheritdoc cref="IEmuClientApi.OnRomLoaded"/>
public static void OnRomLoaded(IEmulator emu) => GlobalWin.ClientApi.OnRomLoaded(emu); public static void OnRomLoaded(IEmulator emu) => EmuClient.OnRomLoaded(emu);
/// <inheritdoc cref="IEmuClientApi.OnStateLoaded"/> /// <inheritdoc cref="IEmuClientApi.OnStateLoaded"/>
public static void OnStateLoaded(object sender, string stateName) => GlobalWin.ClientApi.OnStateLoaded(sender, stateName); public static void OnStateLoaded(object sender, string stateName) => EmuClient.OnStateLoaded(sender, stateName);
/// <inheritdoc cref="IEmuClientApi.OnStateSaved"/> /// <inheritdoc cref="IEmuClientApi.OnStateSaved"/>
public static void OnStateSaved(object sender, string stateName) => GlobalWin.ClientApi.OnStateSaved(sender, stateName); public static void OnStateSaved(object sender, string stateName) => EmuClient.OnStateSaved(sender, stateName);
/// <inheritdoc cref="IEmuClientApi.OpenRom"/> /// <inheritdoc cref="IEmuClientApi.OpenRom"/>
public static void OpenRom(string path) => GlobalWin.ClientApi.OpenRom(path); public static void OpenRom(string path) => EmuClient.OpenRom(path);
/// <inheritdoc cref="IEmuClientApi.Pause"/> /// <inheritdoc cref="IEmuClientApi.Pause"/>
public static void Pause() => GlobalWin.ClientApi.Pause(); public static void Pause() => EmuClient.Pause();
/// <inheritdoc cref="IEmuClientApi.PauseAv"/> /// <inheritdoc cref="IEmuClientApi.PauseAv"/>
public static void PauseAv() => GlobalWin.ClientApi.PauseAv(); public static void PauseAv() => EmuClient.PauseAv();
/// <inheritdoc cref="IEmuClientApi.RebootCore"/> /// <inheritdoc cref="IEmuClientApi.RebootCore"/>
public static void RebootCore() => GlobalWin.ClientApi.RebootCore(); public static void RebootCore() => EmuClient.RebootCore();
/// <inheritdoc cref="IEmuClientApi.SaveRam"/> /// <inheritdoc cref="IEmuClientApi.SaveRam"/>
public static void SaveRam() => GlobalWin.ClientApi.SaveRam(); public static void SaveRam() => EmuClient.SaveRam();
/// <inheritdoc cref="IEmuClientApi.SaveState"/> /// <inheritdoc cref="IEmuClientApi.SaveState"/>
public static void SaveState(string name) => GlobalWin.ClientApi.SaveState(name); public static void SaveState(string name) => EmuClient.SaveState(name);
/// <inheritdoc cref="IEmuClientApi.ScreenHeight"/> /// <inheritdoc cref="IEmuClientApi.ScreenHeight"/>
public static int ScreenHeight() => GlobalWin.ClientApi.ScreenHeight(); public static int ScreenHeight() => EmuClient.ScreenHeight();
/// <inheritdoc cref="IEmuClientApi.Screenshot"/> /// <inheritdoc cref="IEmuClientApi.Screenshot"/>
public static void Screenshot(string path = null) => GlobalWin.ClientApi.Screenshot(path); public static void Screenshot(string path = null) => EmuClient.Screenshot(path);
/// <inheritdoc cref="IEmuClientApi.ScreenshotToClipboard"/> /// <inheritdoc cref="IEmuClientApi.ScreenshotToClipboard"/>
public static void ScreenshotToClipboard() => GlobalWin.ClientApi.ScreenshotToClipboard(); public static void ScreenshotToClipboard() => EmuClient.ScreenshotToClipboard();
/// <inheritdoc cref="IEmuClientApi.ScreenWidth"/> /// <inheritdoc cref="IEmuClientApi.ScreenWidth"/>
public static int ScreenWidth() => GlobalWin.ClientApi.ScreenWidth(); public static int ScreenWidth() => EmuClient.ScreenWidth();
/// <inheritdoc cref="IEmuClientApi.SeekFrame"/> /// <inheritdoc cref="IEmuClientApi.SeekFrame"/>
public static void SeekFrame(int frame) => GlobalWin.ClientApi.SeekFrame(frame); public static void SeekFrame(int frame) => EmuClient.SeekFrame(frame);
/// <inheritdoc cref="IEmuClientApi.SetClientExtraPadding"/> /// <inheritdoc cref="IEmuClientApi.SetClientExtraPadding"/>
public static void SetExtraPadding(int left, int top = 0, int right = 0, int bottom = 0) => GlobalWin.ClientApi.SetClientExtraPadding(left, top, right, bottom); public static void SetExtraPadding(int left, int top = 0, int right = 0, int bottom = 0) => EmuClient.SetClientExtraPadding(left, top, right, bottom);
/// <inheritdoc cref="IEmuClientApi.SetGameExtraPadding"/> /// <inheritdoc cref="IEmuClientApi.SetGameExtraPadding"/>
public static void SetGameExtraPadding(int left, int top = 0, int right = 0, int bottom = 0) => GlobalWin.ClientApi.SetGameExtraPadding(left, top, right, bottom); public static void SetGameExtraPadding(int left, int top = 0, int right = 0, int bottom = 0) => EmuClient.SetGameExtraPadding(left, top, right, bottom);
/// <inheritdoc cref="IEmuClientApi.SetInput"/> /// <inheritdoc cref="IEmuClientApi.SetInput"/>
public static void SetInput(int player, Joypad joypad) => GlobalWin.ClientApi.SetInput(player, joypad); public static void SetInput(int player, Joypad joypad) => EmuClient.SetInput(player, joypad);
/// <inheritdoc cref="IEmuClientApi.SetScreenshotOSD"/> /// <inheritdoc cref="IEmuClientApi.SetScreenshotOSD"/>
public static void SetScreenshotOSD(bool value) => GlobalWin.ClientApi.SetScreenshotOSD(value); public static void SetScreenshotOSD(bool value) => EmuClient.SetScreenshotOSD(value);
/// <inheritdoc cref="IEmuClientApi.SetSoundOn"/> /// <inheritdoc cref="IEmuClientApi.SetSoundOn"/>
public static void SetSoundOn(bool enable) => GlobalWin.ClientApi.SetSoundOn(enable); public static void SetSoundOn(bool enable) => EmuClient.SetSoundOn(enable);
/// <inheritdoc cref="IEmuClientApi.SetTargetScanlineIntensity"/> /// <inheritdoc cref="IEmuClientApi.SetTargetScanlineIntensity"/>
public static void SetTargetScanlineIntensity(int val) => GlobalWin.ClientApi.SetTargetScanlineIntensity(val); public static void SetTargetScanlineIntensity(int val) => EmuClient.SetTargetScanlineIntensity(val);
/// <inheritdoc cref="IEmuClientApi.SetWindowSize"/> /// <inheritdoc cref="IEmuClientApi.SetWindowSize"/>
public static void SetWindowSize(int size) => GlobalWin.ClientApi.SetWindowSize(size); public static void SetWindowSize(int size) => EmuClient.SetWindowSize(size);
/// <inheritdoc cref="IEmuClientApi.SpeedMode"/> /// <inheritdoc cref="IEmuClientApi.SpeedMode"/>
public static void SpeedMode(int percent) => GlobalWin.ClientApi.SpeedMode(percent); public static void SpeedMode(int percent) => EmuClient.SpeedMode(percent);
/// <inheritdoc cref="IEmuClientApi.TogglePause"/> /// <inheritdoc cref="IEmuClientApi.TogglePause"/>
public static void TogglePause() => GlobalWin.ClientApi.TogglePause(); public static void TogglePause() => EmuClient.TogglePause();
/// <inheritdoc cref="IEmuClientApi.TransformPoint"/> /// <inheritdoc cref="IEmuClientApi.TransformPoint"/>
public static Point TransformPoint(Point point) => GlobalWin.ClientApi.TransformPoint(point); public static Point TransformPoint(Point point) => EmuClient.TransformPoint(point);
/// <inheritdoc cref="IEmuClientApi.Unpause"/> /// <inheritdoc cref="IEmuClientApi.Unpause"/>
public static void Unpause() => GlobalWin.ClientApi.Unpause(); public static void Unpause() => EmuClient.Unpause();
/// <inheritdoc cref="IEmuClientApi.UnpauseAv"/> /// <inheritdoc cref="IEmuClientApi.UnpauseAv"/>
public static void UnpauseAv() => GlobalWin.ClientApi.UnpauseAv(); public static void UnpauseAv() => EmuClient.UnpauseAv();
/// <inheritdoc cref="Unpause"/> /// <inheritdoc cref="Unpause"/>
public static void UnpauseEmulation() => Unpause(); public static void UnpauseEmulation() => Unpause();
/// <inheritdoc cref="IEmuClientApi.UpdateEmulatorAndVP"/> /// <inheritdoc cref="IEmuClientApi.UpdateEmulatorAndVP"/>
public static void UpdateEmulatorAndVP(IEmulator emu = null) => GlobalWin.ClientApi.UpdateEmulatorAndVP(emu); public static void UpdateEmulatorAndVP(IEmulator emu = null) => EmuClient.UpdateEmulatorAndVP(emu);
/// <inheritdoc cref="IEmuClientApi.Xpos"/> /// <inheritdoc cref="IEmuClientApi.Xpos"/>
public static int Xpos() => GlobalWin.ClientApi.Xpos(); public static int Xpos() => EmuClient.Xpos();
/// <inheritdoc cref="IEmuClientApi.Ypos"/> /// <inheritdoc cref="IEmuClientApi.Ypos"/>
public static int Ypos() => GlobalWin.ClientApi.Ypos(); public static int Ypos() => EmuClient.Ypos();
} }
} }

View File

@ -41,7 +41,5 @@ namespace BizHawk.Client.EmuHawk
public static GameInfo Game { get; set; } public static GameInfo Game { get; set; }
public static IMovieSession MovieSession { get; set; } public static IMovieSession MovieSession { get; set; }
public static InputManager InputManager { get; } = new InputManager(); public static InputManager InputManager { get; } = new InputManager();
public static EmuClientApi ClientApi { get; set; }
} }
} }