From 01019686cf06b070d6d663c5bef2aba5af02b9a9 Mon Sep 17 00:00:00 2001 From: adelikat Date: Thu, 1 Jan 2015 20:19:20 +0000 Subject: [PATCH] lua - convert memory libraries to use service injection --- .../lua/EmuLuaLibrary.MainMemory.cs | 6 +++--- BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs | 14 +++++++------- BizHawk.Client.Common/lua/LuaMemoryBase.cs | 12 +++++++++--- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/BizHawk.Client.Common/lua/EmuLuaLibrary.MainMemory.cs b/BizHawk.Client.Common/lua/EmuLuaLibrary.MainMemory.cs index c4bef7ce38..3e8f3cef3b 100644 --- a/BizHawk.Client.Common/lua/EmuLuaLibrary.MainMemory.cs +++ b/BizHawk.Client.Common/lua/EmuLuaLibrary.MainMemory.cs @@ -22,13 +22,13 @@ namespace BizHawk.Client.Common { get { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - return Global.Emulator.AsMemoryDomains().MemoryDomains.MainMemory; + return MemoryDomainCore.MemoryDomains.MainMemory; } else { - var error = string.Format("Error: {0} does not implement memory domains", Global.Emulator.Attributes().CoreName); + var error = string.Format("Error: {0} does not implement memory domains", Emulator.Attributes().CoreName); Log(error); throw new NotImplementedException(error); } diff --git a/BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs b/BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs index 9520e2f90c..c3787882bb 100644 --- a/BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs +++ b/BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs @@ -15,9 +15,9 @@ namespace BizHawk.Client.Common public MemoryLuaLibrary(Lua lua) : base(lua) { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - var domains = Global.Emulator.AsMemoryDomains().MemoryDomains; + var domains = MemoryDomainCore.MemoryDomains; _currentMemoryDomain = domains.IndexOf(domains.MainMemory); } } @@ -25,9 +25,9 @@ namespace BizHawk.Client.Common public MemoryLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - var domains = Global.Emulator.AsMemoryDomains().MemoryDomains; + var domains = MemoryDomainCore.MemoryDomains; _currentMemoryDomain = domains.IndexOf(domains.MainMemory); } } @@ -38,13 +38,13 @@ namespace BizHawk.Client.Common { get { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - return Global.Emulator.AsMemoryDomains().MemoryDomains[_currentMemoryDomain]; + return MemoryDomainCore.MemoryDomains[_currentMemoryDomain]; } else { - var error = string.Format("Error: {0} does not implement memory domains", Global.Emulator.Attributes().CoreName); + var error = string.Format("Error: {0} does not implement memory domains", Emulator.Attributes().CoreName); Log(error); throw new NotImplementedException(error); } diff --git a/BizHawk.Client.Common/lua/LuaMemoryBase.cs b/BizHawk.Client.Common/lua/LuaMemoryBase.cs index 457b57222c..f3eabed122 100644 --- a/BizHawk.Client.Common/lua/LuaMemoryBase.cs +++ b/BizHawk.Client.Common/lua/LuaMemoryBase.cs @@ -10,6 +10,12 @@ namespace BizHawk.Client.Common /// public abstract class LuaMemoryBase : LuaLibraryBase { + [RequiredService] + protected IEmulator Emulator { get; set; } + + [OptionalService] + protected IMemoryDomains MemoryDomainCore { get; set; } + public LuaMemoryBase(Lua lua) : base(lua) { } @@ -22,13 +28,13 @@ namespace BizHawk.Client.Common { get { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - return Global.Emulator.AsMemoryDomains().MemoryDomains; + return MemoryDomainCore.MemoryDomains; } else { - var error = string.Format("Error: {0} does not implement memory domains", Global.Emulator.Attributes().CoreName); + var error = string.Format("Error: {0} does not implement memory domains", Emulator.Attributes().CoreName); Log(error); throw new NotImplementedException(error); }