public LuaThread(LuaFunc func) : base(IntPtr.Zero) { if (func != null && func.L != IntPtr.Zero) { L = func.L.newthread(); Refid = func.L.refer(); if (func.Refid != 0) { L.getref(func.Refid); _Func = new LuaFunc(L, -1); L.pop(1); } } }
public LuaThread(LuaOnStackFunc func) : base(IntPtr.Zero) { if (!ReferenceEquals(func, null) && func.L != IntPtr.Zero) { L = func.L.newthread(); Refid = func.L.refer(); func.L.pushvalue(func.StackPos); var reffunc = func.L.refer(); _Func = new LuaFunc(); _Func.L = L; _Func.Refid = reffunc; } if (L != IntPtr.Zero) { _ObjCache = LuaObjCache.GetOrCreateObjCache(L); } }
public LuaThread(LuaFunc func) : base(IntPtr.Zero) { if (!ReferenceEquals(func, null) && func.L != IntPtr.Zero) { L = func.L.newthread(); Refid = func.L.refer(); if (func.Refid != 0) { L.getref(func.Refid); _Func = new LuaFunc(L, -1); L.pop(1); } } if (L != IntPtr.Zero) { _ObjCache = LuaObjCache.GetOrCreateObjCache(L); } }