Unity熱更新03-C#呼叫XLua-07-Lua表對映到C#類
阿新 • • 發佈:2020-10-28
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using XLua; public class CallLuaClass { //在這個類中去宣告成員變數 //名字一定要和 Lua那邊的一樣 //公共 私有和保護 沒辦法賦值 //這個自定義中的 變數 可以更多也可以更少 //如果變數比 lua中的少 就會忽略它 //如果變數比 lua中的多 不會賦值 也會忽略 public int testInt; public bool testBool; //public float testFloat; public float testString; public UnityAction testFun; public CallLuaInClass testInClass; public int i; public void Test() { Debug.Log(testInt); } } public class CallLuaInClass { public int testInInt; } public class Lesson7_CallClass : MonoBehaviour { // Start is called before the first frame update void Start() { LuaMgr.GetInstance().Init(); LuaMgr.GetInstance().DoLuaFile("Main"); CallLuaClass obj = LuaMgr.GetInstance().Global.Get<CallLuaClass>("testClas"); Debug.Log(obj.testInt); Debug.Log(obj.testBool); //Debug.Log(obj.testFloat); Debug.Log(obj.testString); Debug.Log(obj.i); Debug.Log("巢狀:" + obj.testInClass.testInInt); obj.testFun(); //值拷貝 改變了它 不會改變Lua表裡的內容 obj.testInt = 100; CallLuaClass obj2 = LuaMgr.GetInstance().Global.Get<CallLuaClass>("testClas"); Debug.Log(obj2.testInt); } // Update is called once per frame void Update() { } }