Skip to content
Yongkang Chen edited this page Jan 5, 2015 · 4 revisions

1、lua代码提示功能: ctags lua增强, 配置参考ctags FILES

ctags for sublime text

ctags for atom


2、lua定时器实现

public static void UnityCoroutine(YieldInstruction ins, LuaFunction func)
{
	Main.instance.StartCoroutine (doCoroutine (ins, func));
}

private static IEnumerator doCoroutine(YieldInstruction ins, LuaFunction func)
{
	yield return ins;
	func.Call ();
}
Main = using "Main"
local WaitForSeconds = using "UnityEngine.WaitForSeconds"
local UnityCoroutine = Main.UnityCoroutine
function SetTimeout(func, sec)
    UnityCoroutine(WaitForSeconds(sec), coroutine.wrap(func))
end

3、How to dynamically create generic C# object? (如何创建泛型对象 luainterface 版)

    local BetterListType = Type.GetType("BetterList`1")
    local Vector3Type = Type.GetType("UnityEngine.Vector3, UnityEngine")

    local Array = using "System.Array"
    local TypeArray = Array.CreateInstance(Type.GetType("System.Type"), 1)
    TypeArray:SetValue(Vector3Type, 0)

    local makeObj = BetterListType.MakeGenericType(BetterListType, TypeArray)

    local Activator = using "System.Activator"
    local o = Activator.CreateInstance(makeObj)

    print("BetterList: %s", o)

unity3d预设打包、预设更新、动态界面(待补充)

Clone this wiki locally