From 6d90fecffb292b17b9fdca622247f9a15674e215 Mon Sep 17 00:00:00 2001 From: Chris Gregan Date: Tue, 10 May 2016 17:30:27 +0100 Subject: [PATCH] Handle case when a type fails to register in MoonSharp --- .../FungusLua/Scripts/LuaEnvironment.cs | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Assets/Fungus/Thirdparty/FungusLua/Scripts/LuaEnvironment.cs b/Assets/Fungus/Thirdparty/FungusLua/Scripts/LuaEnvironment.cs index 18502475..95dc5dfe 100644 --- a/Assets/Fungus/Thirdparty/FungusLua/Scripts/LuaEnvironment.cs +++ b/Assets/Fungus/Thirdparty/FungusLua/Scripts/LuaEnvironment.cs @@ -184,14 +184,21 @@ namespace Fungus if (!UserData.IsTypeRegistered(t)) { - if (extensionType) - { - UserData.RegisterExtensionType(t); - } - else - { - UserData.RegisterType(t); - } + try + { + if (extensionType) + { + UserData.RegisterExtensionType(t); + } + else + { + UserData.RegisterType(t); + } + } + catch (ArgumentException ex) + { + UnityEngine.Debug.LogWarning(ex.Message); + } } } @@ -215,7 +222,8 @@ namespace Fungus LogException(ex.DecoratedMessage, luaString); } - if (res.Type != DataType.Function) + if (res == null || + res.Type != DataType.Function) { UnityEngine.Debug.LogError("Failed to create Lua function from Lua string"); return null;