- 如果要通过接口获取Lua中表的内容 自定义一个接口 接口中的变量都用属性去声明 多了少了无所谓 会忽略
- 注意:接口前面一定要加上 特性 一定要点击 Xlua中的 生成代码 如果接口结构改了 一定要先清除再生成
- 引用拷贝 改了接口对象中的值 对应Lua表中的值也会改变
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using XLua;
[CSharpCallLua]
public interface ICSharpCallInterface
{
int testInt
{
get;
set;
}
bool testBool
{
get;
set;
}
string testString
{
get;
set;
}
UnityAction testFun
{
get;
set;
}
float testFloat222
{
get;
set;
}
}
public class Lesson8_CallInterface : MonoBehaviour
{
void Start()
{
LuaMgr.GetInstance().Init();
LuaMgr.GetInstance().DoLuaFile("Main");
ICSharpCallInterface obj = LuaMgr.GetInstance().Global.Get<ICSharpCallInterface>("testClas");
Debug.Log(obj.testInt);
Debug.Log(obj.testBool);
Debug.Log("新加的:" + obj.testFloat222);
Debug.Log(obj.testString);
obj.testFun();
obj.testInt = 10000;
ICSharpCallInterface obj2 = LuaMgr.GetInstance().Global.Get<ICSharpCallInterface>("testClas");
Debug.Log(obj2.testInt);
}
void Update()
{
}
}