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

            if (count == 3)
            {
                string arg0 = ToLua.CheckString(L, 1);
                UnityEngine.GameObject arg1 = (UnityEngine.GameObject)ToLua.CheckObject(L, 2, typeof(UnityEngine.GameObject));
                int arg2 = (int)LuaDLL.luaL_checknumber(L, 3);
                Framework.GameObjectPool obj = new Framework.GameObjectPool(arg0, arg1, arg2);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: Framework.GameObjectPool.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
 static int RecyleToPool(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         Framework.GameObjectPool obj  = (Framework.GameObjectPool)ToLua.CheckObject <Framework.GameObjectPool>(L, 1);
         UnityEngine.GameObject   arg0 = (UnityEngine.GameObject)ToLua.CheckObject(L, 2, typeof(UnityEngine.GameObject));
         obj.RecyleToPool(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
 static int GetGameObject(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         Framework.GameObjectPool obj = (Framework.GameObjectPool)ToLua.CheckObject <Framework.GameObjectPool>(L, 1);
         UnityEngine.GameObject   o   = obj.GetGameObject();
         ToLua.PushSealed(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
 static int GetPool(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         Framework.PoolManager obj = (Framework.PoolManager)ToLua.CheckObject <Framework.PoolManager>(L, 1);
         string arg0 = ToLua.CheckString(L, 2);
         Framework.GameObjectPool o = obj.GetPool(arg0);
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
    static int get_PoolRoot(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Framework.GameObjectPool obj = (Framework.GameObjectPool)o;
            UnityEngine.Transform    ret = obj.PoolRoot;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index PoolRoot on a nil value"));
        }
    }
    static int get_RecyleHandler(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Framework.GameObjectPool obj = (Framework.GameObjectPool)o;
            System.Action <UnityEngine.GameObject> ret = obj.RecyleHandler;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index RecyleHandler on a nil value"));
        }
    }
    static int set_RecyleHandler(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Framework.GameObjectPool obj = (Framework.GameObjectPool)o;
            System.Action <UnityEngine.GameObject> arg0 = (System.Action <UnityEngine.GameObject>)ToLua.CheckDelegate <System.Action <UnityEngine.GameObject> >(L, 2);
            obj.RecyleHandler = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index RecyleHandler on a nil value"));
        }
    }
 static int CreatePool(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 4);
         Framework.PoolManager obj = (Framework.PoolManager)ToLua.CheckObject <Framework.PoolManager>(L, 1);
         string arg0 = ToLua.CheckString(L, 2);
         UnityEngine.GameObject arg1 = (UnityEngine.GameObject)ToLua.CheckObject(L, 3, typeof(UnityEngine.GameObject));
         int arg2 = (int)LuaDLL.luaL_checknumber(L, 4);
         Framework.GameObjectPool o = obj.CreatePool(arg0, arg1, arg2);
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }