From c203edba17a61d92587bfa2f941290ffa0a994c8 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Sat, 28 Nov 2020 22:39:13 +1000 Subject: [PATCH] Move prop GlobalWin.UserBag to global MovieSession and weaken to IDict --- src/BizHawk.Client.Common/movie/MovieSession.cs | 2 ++ .../movie/interfaces/IMovieSession.cs | 2 ++ src/BizHawk.Client.Common/savestates/SavestateFile.cs | 4 ++-- src/BizHawk.Client.EmuHawk/Api/UserDataApi.cs | 10 +++++----- src/BizHawk.Client.EmuHawk/GlobalWin.cs | 3 --- src/BizHawk.Client.EmuHawk/MainForm.cs | 4 ++-- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/BizHawk.Client.Common/movie/MovieSession.cs b/src/BizHawk.Client.Common/movie/MovieSession.cs index 60fbca4d8a..fb6cb86a33 100644 --- a/src/BizHawk.Client.Common/movie/MovieSession.cs +++ b/src/BizHawk.Client.Common/movie/MovieSession.cs @@ -46,6 +46,8 @@ namespace BizHawk.Client.Common public bool NewMovieQueued => _queuedMovie != null; public string QueuedSyncSettings => _queuedMovie.SyncSettingsJson; + public IDictionary UserBag { get; set; } = new Dictionary(); + public IInputAdapter MovieIn { private get; set; } public IInputAdapter MovieOut { get; } = new CopyControllerAdapter(); public IStickyAdapter StickySource { get; set; } diff --git a/src/BizHawk.Client.Common/movie/interfaces/IMovieSession.cs b/src/BizHawk.Client.Common/movie/interfaces/IMovieSession.cs index 41b3ccaa8a..eba0ff5544 100644 --- a/src/BizHawk.Client.Common/movie/interfaces/IMovieSession.cs +++ b/src/BizHawk.Client.Common/movie/interfaces/IMovieSession.cs @@ -20,6 +20,8 @@ namespace BizHawk.Client.Common /// string QueuedSyncSettings { get; } + IDictionary UserBag { get; set; } + IMovieController MovieController { get; } /// diff --git a/src/BizHawk.Client.Common/savestates/SavestateFile.cs b/src/BizHawk.Client.Common/savestates/SavestateFile.cs index 3b14fddd71..b73708f882 100644 --- a/src/BizHawk.Client.Common/savestates/SavestateFile.cs +++ b/src/BizHawk.Client.Common/savestates/SavestateFile.cs @@ -17,9 +17,9 @@ namespace BizHawk.Client.Common private readonly IStatable _statable; private readonly IVideoProvider _videoProvider; private readonly IMovieSession _movieSession; - private readonly Dictionary _userBag; + private readonly IDictionary _userBag; - public SavestateFile(IEmulator emulator, IMovieSession movieSession, Dictionary userBag) + public SavestateFile(IEmulator emulator, IMovieSession movieSession, IDictionary userBag) { if (!emulator.HasSavestates()) { diff --git a/src/BizHawk.Client.EmuHawk/Api/UserDataApi.cs b/src/BizHawk.Client.EmuHawk/Api/UserDataApi.cs index 9c43f30e7e..8943bff373 100644 --- a/src/BizHawk.Client.EmuHawk/Api/UserDataApi.cs +++ b/src/BizHawk.Client.EmuHawk/Api/UserDataApi.cs @@ -13,15 +13,15 @@ namespace BizHawk.Client.EmuHawk var t = value.GetType(); if (!t.IsPrimitive && t != typeof(string)) throw new InvalidOperationException("Invalid type for userdata"); } - GlobalWin.UserBag[name] = value; + GlobalWin.MovieSession.UserBag[name] = value; } - public object Get(string key) => GlobalWin.UserBag.TryGetValue(key, out var value) ? value : null; + public object Get(string key) => GlobalWin.MovieSession.UserBag.TryGetValue(key, out var value) ? value : null; - public void Clear() => GlobalWin.UserBag.Clear(); + public void Clear() => GlobalWin.MovieSession.UserBag.Clear(); - public bool Remove(string key) => GlobalWin.UserBag.Remove(key); + public bool Remove(string key) => GlobalWin.MovieSession.UserBag.Remove(key); - public bool ContainsKey(string key) => GlobalWin.UserBag.ContainsKey(key); + public bool ContainsKey(string key) => GlobalWin.MovieSession.UserBag.ContainsKey(key); } } diff --git a/src/BizHawk.Client.EmuHawk/GlobalWin.cs b/src/BizHawk.Client.EmuHawk/GlobalWin.cs index 6ea15709a9..a74358f940 100644 --- a/src/BizHawk.Client.EmuHawk/GlobalWin.cs +++ b/src/BizHawk.Client.EmuHawk/GlobalWin.cs @@ -1,7 +1,6 @@ using BizHawk.Bizware.BizwareGL; using BizHawk.Client.Common; using BizHawk.Emulation.Common; -using System.Collections.Generic; // ReSharper disable StyleCop.SA1401 namespace BizHawk.Client.EmuHawk @@ -22,8 +21,6 @@ namespace BizHawk.Client.EmuHawk public static Sound Sound; - public static Dictionary UserBag { get; set; } = new Dictionary(); - public static Config Config { get; set; } public static GameInfo Game { get; set; } public static IMovieSession MovieSession { get; set; } diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index e21e234ec5..79b1001f97 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -4012,7 +4012,7 @@ namespace BizHawk.Client.EmuHawk return; } - if (new SavestateFile(Emulator, MovieSession, GlobalWin.UserBag).Load(path)) + if (new SavestateFile(Emulator, MovieSession, MovieSession.UserBag).Load(path)) { OSD.ClearGuiText(); EmuClient.OnStateLoaded(this, userFriendlyStateName); @@ -4091,7 +4091,7 @@ namespace BizHawk.Client.EmuHawk try { - new SavestateFile(Emulator, MovieSession, GlobalWin.UserBag).Create(path, Config.Savestates); + new SavestateFile(Emulator, MovieSession, MovieSession.UserBag).Create(path, Config.Savestates); EmuClient.OnStateSaved(this, userFriendlyStateName);