Esempio n. 1
0
 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));
 }
Esempio n. 2
0
 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));
 }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 public static bool CheckTypes <T1, T2>(IntPtr L, int pos)
 {
     return(TypeTraits <T1> .Check(L, pos) && TypeTraits <T2> .Check(L, pos + 1));
 }
Esempio n. 5
0
 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));
 }
Esempio n. 6
0
        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));
        }