Unity - Package - xLua
本次操作 xLua 主要是做熱更方案的評估測試,筆者目前還是偏好使用 HybridCLR。
Official
評估
- 使用 lua
- 仍是目前主流/穩定做法 (畢竟也行之有年了)。
- 邏輯操作可能要移師到 lua 側。
- 缺少 ide 支援如果要在 lua 側 進行 unity 相關操作時,維護/除錯成本極高。
Example
在 lua 側進行 unity 相關操作
local speed = 10
local lightCpnt = nil
function start()
print("lua start...")
print("injected object", lightObject)
lightCpnt= lightObject:GetComponent(typeof(CS.UnityEngine.Light))
end
function update()
local r = CS.UnityEngine.Vector3.up * CS.UnityEngine.Time.deltaTime * speed
self.transform:Rotate(r)
lightCpnt.color = CS.UnityEngine.Color(CS.UnityEngine.Mathf.Sin(CS.UnityEngine.Time.time) / 2 + 0.5, 0, 0, 1)
end
function ondestroy()
print("lua destroy")
end