From 84020b83d8963bc6c9af3bdb26a6b95470387491 Mon Sep 17 00:00:00 2001 From: EfveZff Date: Wed, 22 Jan 2025 11:24:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20require=20=E6=97=B6?= =?UTF-8?q?=E6=9C=AA=E4=BC=A0=E5=85=A5=E7=AC=AC=E4=BA=8C=E4=B8=AA=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/XLua/Src/StaticLuaCallbacks.cs | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/Assets/XLua/Src/StaticLuaCallbacks.cs b/Assets/XLua/Src/StaticLuaCallbacks.cs index 6f3c4c156..bf38c26d2 100644 --- a/Assets/XLua/Src/StaticLuaCallbacks.cs +++ b/Assets/XLua/Src/StaticLuaCallbacks.cs @@ -694,17 +694,16 @@ internal static int LoadFromResource(RealStatePtr L) { LuaAPI.lua_pushstring(L, string.Format( "\n\tno such resource '{0}'", filename)); + return 1; } - else + + if (LuaAPI.xluaL_loadbuffer(L, file.bytes, file.bytes.Length, "@" + filename) != 0) { - if (LuaAPI.xluaL_loadbuffer(L, file.bytes, file.bytes.Length, "@" + filename) != 0) - { - return LuaAPI.luaL_error(L, String.Format("error loading module {0} from resource, {1}", - LuaAPI.lua_tostring(L, 1), LuaAPI.lua_tostring(L, -1))); - } + return LuaAPI.luaL_error(L, String.Format("error loading module {0} from resource, {1}", + LuaAPI.lua_tostring(L, 1), LuaAPI.lua_tostring(L, -1))); } - - return 1; + LuaAPI.lua_pushstring(L, filename); + return 2; } catch (System.Exception e) { @@ -717,6 +716,7 @@ internal static int LoadFromStreamingAssetsPath(RealStatePtr L) { try { + int ret = 1; string filename = LuaAPI.lua_tostring(L, 1).Replace('.', '/') + ".lua"; var filepath = UnityEngine.Application.streamingAssetsPath + "/" + filename; #if UNITY_ANDROID && !UNITY_EDITOR @@ -739,6 +739,8 @@ internal static int LoadFromStreamingAssetsPath(RealStatePtr L) return LuaAPI.luaL_error(L, String.Format("error loading module {0} from streamingAssetsPath, {1}", LuaAPI.lua_tostring(L, 1), LuaAPI.lua_tostring(L, -1))); } + LuaAPI.lua_pushstring(L, filename); + ret++; } break; } @@ -755,6 +757,8 @@ internal static int LoadFromStreamingAssetsPath(RealStatePtr L) return LuaAPI.luaL_error(L, String.Format("error loading module {0} from streamingAssetsPath, {1}", LuaAPI.lua_tostring(L, 1), LuaAPI.lua_tostring(L, -1))); } + LuaAPI.lua_pushstring(L, filename); + ret++; } else { @@ -762,7 +766,7 @@ internal static int LoadFromStreamingAssetsPath(RealStatePtr L) "\n\tno such file '{0}' in streamingAssetsPath!", filename)); } #endif - return 1; + return ret; } catch (System.Exception e) { @@ -791,7 +795,8 @@ internal static int LoadFromCustomLoaders(RealStatePtr L) return LuaAPI.luaL_error(L, String.Format("error loading module {0} from CustomLoader, {1}", LuaAPI.lua_tostring(L, 1), LuaAPI.lua_tostring(L, -1))); } - return 1; + LuaAPI.lua_pushstring(L, real_file_path); + return 2; } } LuaAPI.lua_pushstring(L, string.Format( @@ -1237,4 +1242,4 @@ public static int ReleaseCsObject(RealStatePtr L) } } } -} \ No newline at end of file +}