using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;
public class Test1 : MonoBehaviour {
[XLua.CSharpCallLua]
public delegate double LuaMax(double a, double b);
void Start () {
//创建Lua虚拟机,建议创建一次重复使用。
LuaEnv luaenv = new LuaEnv();
//Lua调用C#函数
luaenv.DoString("CS.UnityEngine.Debug.Log('hello world')");
//C#调用Lua函数
var max = luaenv.Global.GetInPath<LuaMax>("math.max");
Debug.Log("max:" + max(32, 12));
//释放绑定
//Lua虚拟机在调用Dispose()前必须释放所有函数绑定,否则会报以下错:
//InvalidOperationException: try to dispose a LuaEnv with C# callback!
max = null;
//释放Lua虚拟机
luaenv.Dispose();
}
}
运行测试