From 7ed9eaad4439b5ffdf2be36060645b6320e14b2a Mon Sep 17 00:00:00 2001 From: Christopher Date: Mon, 12 Sep 2016 11:16:25 +0100 Subject: [PATCH] Refactored LuaStore to use ILuaStore interface --- .../Thirdparty/FungusLua/Scripts/ILuaStore.cs | 12 ++++++++++ .../FungusLua/Scripts/ILuaStore.cs.meta | 12 ++++++++++ .../Thirdparty/FungusLua/Scripts/InfoText.cs | 2 +- .../Thirdparty/FungusLua/Scripts/LuaStore.cs | 23 +++++++++++-------- 4 files changed, 39 insertions(+), 10 deletions(-) create mode 100644 Assets/Fungus/Thirdparty/FungusLua/Scripts/ILuaStore.cs create mode 100644 Assets/Fungus/Thirdparty/FungusLua/Scripts/ILuaStore.cs.meta diff --git a/Assets/Fungus/Thirdparty/FungusLua/Scripts/ILuaStore.cs b/Assets/Fungus/Thirdparty/FungusLua/Scripts/ILuaStore.cs new file mode 100644 index 00000000..7d2a1ad3 --- /dev/null +++ b/Assets/Fungus/Thirdparty/FungusLua/Scripts/ILuaStore.cs @@ -0,0 +1,12 @@ +using MoonSharp.Interpreter; + +namespace Fungus +{ + public interface ILuaStore + { + /// + /// A Lua table that can be shared between multiple LuaEnvironments. + /// + Table PrimeTable { get; } + } +} \ No newline at end of file diff --git a/Assets/Fungus/Thirdparty/FungusLua/Scripts/ILuaStore.cs.meta b/Assets/Fungus/Thirdparty/FungusLua/Scripts/ILuaStore.cs.meta new file mode 100644 index 00000000..dd27467c --- /dev/null +++ b/Assets/Fungus/Thirdparty/FungusLua/Scripts/ILuaStore.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6851f703962d046f7ba2182643f4b3c9 +timeCreated: 1473675184 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/FungusLua/Scripts/InfoText.cs b/Assets/Fungus/Thirdparty/FungusLua/Scripts/InfoText.cs index 3b34e88c..a3b87a06 100644 --- a/Assets/Fungus/Thirdparty/FungusLua/Scripts/InfoText.cs +++ b/Assets/Fungus/Thirdparty/FungusLua/Scripts/InfoText.cs @@ -14,7 +14,7 @@ namespace Fungus [TextArea(20, 20)] [SerializeField] protected string info = ""; - void OnGUI() + protected virtual void OnGUI() { Rect rect = new Rect(0,0, Screen.width / 2, Screen.height); diff --git a/Assets/Fungus/Thirdparty/FungusLua/Scripts/LuaStore.cs b/Assets/Fungus/Thirdparty/FungusLua/Scripts/LuaStore.cs index ca90bb54..caf36b4a 100644 --- a/Assets/Fungus/Thirdparty/FungusLua/Scripts/LuaStore.cs +++ b/Assets/Fungus/Thirdparty/FungusLua/Scripts/LuaStore.cs @@ -11,15 +11,10 @@ namespace Fungus /// This is useful for transferring values from one scene to another. One one LuaStore component may exist /// in a scene at a time. /// - public class LuaStore : LuaBindingsBase + public class LuaStore : LuaBindingsBase, ILuaStore { protected Table primeTable; - /// - /// A Lua table that can be shared between multiple LuaEnvironments. - /// - public virtual Table PrimeTable { get { return primeTable; } } - protected bool initialized; protected static LuaStore instance; @@ -67,9 +62,8 @@ namespace Fungus return true; } - /// - /// Callback to bind this LuaStore component with the "unity" table in a LuaEnvironment component. - /// + #region LuaBindingsBase implementation + public override void AddBindings(ILuaEnvironment luaEnv) { if (!Init()) @@ -98,5 +92,16 @@ namespace Fungus globals["store"] = primeTable; } } + + #endregion + + #region ILuaStore implementation + + /// + /// A Lua table that can be shared between multiple LuaEnvironments. + /// + public virtual Table PrimeTable { get { return primeTable; } } + + #endregion } } \ No newline at end of file