static int SetMask(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 3)
            {
                TMPro.TextMeshPro   obj  = (TMPro.TextMeshPro)ToLua.CheckObject <TMPro.TextMeshPro>(L, 1);
                TMPro.MaskingTypes  arg0 = (TMPro.MaskingTypes)ToLua.CheckObject(L, 2, typeof(TMPro.MaskingTypes));
                UnityEngine.Vector4 arg1 = ToLua.ToVector4(L, 3);
                obj.SetMask(arg0, arg1);
                return(0);
            }
            else if (count == 5)
            {
                TMPro.TextMeshPro   obj  = (TMPro.TextMeshPro)ToLua.CheckObject <TMPro.TextMeshPro>(L, 1);
                TMPro.MaskingTypes  arg0 = (TMPro.MaskingTypes)ToLua.CheckObject(L, 2, typeof(TMPro.MaskingTypes));
                UnityEngine.Vector4 arg1 = ToLua.ToVector4(L, 3);
                float arg2 = (float)LuaDLL.luaL_checknumber(L, 4);
                float arg3 = (float)LuaDLL.luaL_checknumber(L, 5);
                obj.SetMask(arg0, arg1, arg2, arg3);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: TMPro.TextMeshPro.SetMask"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }