LuaCallCSharp.cs
using UnityEngine; using XLua;
public class LuaCallCSharp : MonoBehaviour {
void Start () { LuaEnv luaEnv = new LuaEnv(); luaEnv.DoString("require 'LuaCallCSharp'"); luaEnv.Dispose(); } } |
在Lua中new C#對象(創建遊戲物體)
LuaCallCSharp.lua.txt
--構造遊戲物體,new對象 CS.UnityEngine.GameObject("new by lua") |
Lua訪問C#靜態屬性和方法
LuaCallCSharp.lua.txt
--訪問靜態屬性 print(CS.UnityEngine.Time.deltaTime)
--設置值 CS.UnityEngine.Time.timeScale = 0.5
--查找遊戲物體,並修改它的名字 local gameObject = CS.UnityEngine.GameObject local camera = gameObject.Find("Main Camera") camera.name = "update by lua"
--查找燈光 local light = gameObject.Find("Direction Light") |
Lua訪問C#成員屬性和方法
LuaCallCSharp.lua.txt
--調用成員方法的時候,使用冒號 local cameraCom= camera:GetComponent("Camera")
--或者用點 local cameraCom= camera.GetComponent(camera,"Camera")
--刪除對象 gameObject.Destroy(cameraCom) |