⚡
极致易用
统一 C# 与 Lua 双向调用,类比 P/Invoke 的 [LuaInvoke]、[LuaCallback]、[LuaMarshalAs],对开发者完全屏蔽底层 Lua C API。
🚀
极致性能
Il2Cpp 内嵌 Lua,C++ 层直桥:字段按偏移直读、函数经 methodPointer 调用,数倍甚至十倍以上优化传统 xLua 式 Wrapper 路径。
📦
零 Wrapper 膨胀
不生成 C# Wrap 函数,相同签名的桥接函数共享复用,彻底解决传统方案 wrapper 体积庞大的问题。
双向调用一览
- C# → Lua
- Lua → C#
C# · LuaInvoke
// Bootstrap.cs
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void InitZLuaOnStartup()
{
LuaAppDomain.Initialize(LoadLuaModule);
}
[LuaInvoke("app", "main")]
private static extern void AppMain();
[LuaInvoke("app", "add")]
private static extern int AppAdd(int a, int b);Lua · app.lua
-- app.lua
local function main()
print("lua main start")
end
local function add(a, b)
return a + b
end
return {
main = main,
add = add,
}CSharp['AC'] = CSharp['Assembly-CSharp']
local function main()
local demo = CSharp.AC.Demo()
demo.x = 10
print("Demo.Add:", CSharp.AC.Demo.Add(3, 5))
end
return { main = main }