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

            if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent)))
            {
                UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1);
                GameFramework.ObjectPool.ObjectPoolBase[]      o   = obj.GetAllObjectPools();
                ToLua.Push(L, o);
                return(1);
            }
            else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(bool)))
            {
                UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1);
                bool arg0 = LuaDLL.lua_toboolean(L, 2);
                GameFramework.ObjectPool.ObjectPoolBase[] o = obj.GetAllObjectPools(arg0);
                ToLua.Push(L, o);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: UnityGameFramework.Runtime.ObjectPoolComponent.GetAllObjectPools"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
 protected override void OnDrawScrollableWindow()
 {
     GUILayout.Label("<b>Object Pool Information</b>");
     GUILayout.BeginVertical("box");
     {
         DrawItem("Object Pool Count", m_ObjectPoolComponent.Count.ToString());
     }
     GUILayout.EndVertical();
     ObjectPoolBase[] objectPools = m_ObjectPoolComponent.GetAllObjectPools(true);
     foreach (ObjectPoolBase objectPool in objectPools)
     {
         DrawObjectPool(objectPool);
     }
 }