Browse Source

Merge pull request #173 from nuskey8/lua-unity-better-path

change: loaded module returns better chunk name
Akeit0 6 months ago
parent
commit
40a1893bad

+ 11 - 2
src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAsset.cs

@@ -1,15 +1,24 @@
 using UnityEngine;
 
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
 namespace Lua.Unity
 {
     public sealed class LuaAsset : LuaAssetBase
     {
         [SerializeField] internal string text;
         public string Text => text;
-        
+
         public override LuaModule GetModule(string searchedName)
         {
-            return new LuaModule(searchedName,text);
+#if UNITY_EDITOR
+            var moduleName = "@"+AssetDatabase.GetAssetPath(this);
+#else
+           var  moduleName =  $"@{searchedName}.lua";
+#endif
+            return new LuaModule(moduleName, text);
         }
     }
 }

+ 1 - 2
src/Lua.Unity/Assets/Lua.Unity/Runtime/ResourcesModuleLoader.cs

@@ -4,7 +4,6 @@ using System.Runtime.CompilerServices;
 using System.Threading;
 using System.Threading.Tasks;
 using UnityEngine;
-
 namespace Lua.Unity
 {
     public sealed class ResourcesModuleLoader : ILuaModuleLoader
@@ -30,7 +29,7 @@ namespace Lua.Unity
                 return asset.GetModule(moduleName);
             }
 
-            var request = Resources.LoadAsync<LuaAsset>(moduleName);
+            var request = Resources.LoadAsync<LuaAssetBase>(moduleName);
             await request;
 
             if (request.asset == null)

+ 1 - 0
src/Lua.Unity/Assets/Sandbox/Resources/foo.lua

@@ -4,4 +4,5 @@ t.greet = function()
     print("Foo: Hello!")
 end
 
+print(debug.traceback())
 return t

+ 1 - 0
src/Lua.Unity/Assets/Sandbox/bar.lua

@@ -2,6 +2,7 @@ local t = {}
 
 t.greet = function()
     print("Bar: Hello!")
+    print(debug.traceback())
 end
 
 return t