public static bool CheckTypes <T1, T2, T3, T4, T5, T6, T7, T8>(IntPtr L, int pos) { return(TypeTraits <T1> .Check(L, pos) && TypeTraits <T2> .Check(L, pos + 1) && TypeTraits <T3> .Check(L, pos + 2) && TypeTraits <T4> .Check(L, pos + 3) && TypeTraits <T5> .Check(L, pos + 4) && TypeTraits <T6> .Check(L, pos + 5) && TypeTraits <T7> .Check(L, pos + 6) && TypeTraits <T8> .Check(L, pos + 7)); }
public static bool CheckTypes <T1, T2, T3, T4, T5>(IntPtr L, int pos) { return(TypeTraits <T1> .Check(L, pos) && TypeTraits <T2> .Check(L, pos + 1) && TypeTraits <T3> .Check(L, pos + 2) && TypeTraits <T4> .Check(L, pos + 3) && TypeTraits <T5> .Check(L, pos + 4)); }
public static bool CheckTypes <T1, T2, T3, T4>(IntPtr L, int pos) { var ss = TypeTraits <T1> .Check(L, pos); Debug.Log("pos:" + pos + " result:" + ss.ToString()); return(TypeTraits <T1> .Check(L, pos) && TypeTraits <T2> .Check(L, pos + 1) && TypeTraits <T3> .Check(L, pos + 2) && TypeTraits <T4> .Check(L, pos + 3)); }
public static bool CheckTypes <T1, T2>(IntPtr L, int pos) { return(TypeTraits <T1> .Check(L, pos) && TypeTraits <T2> .Check(L, pos + 1)); }
public static bool CheckTypes <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(IntPtr L, int pos) { return(TypeTraits <T1> .Check(L, pos) && TypeTraits <T2> .Check(L, pos + 1) && TypeTraits <T3> .Check(L, pos + 2) && TypeTraits <T4> .Check(L, pos + 3) && TypeTraits <T5> .Check(L, pos + 4) && TypeTraits <T6> .Check(L, pos + 5) && TypeTraits <T7> .Check(L, pos + 6) && TypeTraits <T8> .Check(L, pos + 7) && TypeTraits <T9> .Check(L, pos + 8) && TypeTraits <T10> .Check(L, pos + 9) && TypeTraits <T11> .Check(L, pos + 10) && TypeTraits <T12> .Check(L, pos + 11)); }
static T DefaultCheck(IntPtr L, int stackPos) { int udata = LuaDLL.tolua_rawnetobj(L, stackPos); if (udata != -1) { ObjectTranslator translator = ObjectTranslator.Get(L); object obj = translator.GetObject(udata); if (obj != null) { if (obj is T) { return((T)obj); } LuaDLL.luaL_argerror(L, stackPos, string.Format("{0} expected, got {1}", TypeTraits <T> .GetTypeName(), obj.GetType().FullName)); } if (!TypeTraits <T> .IsValueType) { return(default(T)); } } else if (LuaDLL.lua_isnil(L, stackPos) && !TypeTraits <T> .IsValueType) { return(default(T)); } LuaDLL.luaL_typerror(L, stackPos, TypeTraits <T> .GetTypeName()); return(default(T)); }