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)); } }
static int GetObjectPool(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); GameFramework.ObjectPool.ObjectPoolBase o = obj.GetObjectPool(arg0); ToLua.PushObject(L, o); return(1); } else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(string))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); string arg1 = ToLua.ToString(L, 3); GameFramework.ObjectPool.ObjectPoolBase o = obj.GetObjectPool(arg0, arg1); ToLua.PushObject(L, o); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: UnityGameFramework.Runtime.ObjectPoolComponent.GetObjectPool")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public override void Initialize(params object[] args) { m_ObjectPoolComponent = GameEntry.GetComponent <ObjectPoolComponent>(); if (m_ObjectPoolComponent == null) { Log.Fatal("Object pool component is invalid."); return; } }
/// <summary> /// 内存不足时调用 /// </summary> private void OnLowMemory() { Log.Info("Low memory reported"); ObjectPoolComponent objectPoolComponent = GameEntry.GetComponent <ObjectPoolComponent>(); if (objectPoolComponent != null) { objectPoolComponent.ReleaseAllUnused(); } }
static int ReleaseAllUnused(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.CheckObject(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent)); obj.ReleaseAllUnused(); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
protected override void OnDrawScrollableWindow() { GUILayout.Label("<b>Operations</b>"); GUILayout.BeginVertical("box"); { ObjectPoolComponent objectPoolComponent = GameEntry.GetComponent <ObjectPoolComponent>(); if (objectPoolComponent != null) { if (GUILayout.Button("Object Pool Release", GUILayout.Height(30f))) { objectPoolComponent.Release(); } if (GUILayout.Button("Object Pool Release All Unused", GUILayout.Height(30f))) { objectPoolComponent.ReleaseAllUnused(); } } ResourceComponent resourceCompoent = GameEntry.GetComponent <ResourceComponent>(); if (resourceCompoent != null) { if (GUILayout.Button("Unload Unused Assets", GUILayout.Height(30f))) { resourceCompoent.ForceUnloadUnusedAssets(false); } if (GUILayout.Button("Unload Unused Assets and Garbage Collect", GUILayout.Height(30f))) { resourceCompoent.ForceUnloadUnusedAssets(true); } } if (GUILayout.Button("Shutdown Game Framework (None)", GUILayout.Height(30f))) { GameEntry.Shutdown(ShutdownType.None); } if (GUILayout.Button("Shutdown Game Framework (Restart)", GUILayout.Height(30f))) { GameEntry.Shutdown(ShutdownType.Restart); } if (GUILayout.Button("Shutdown Game Framework (Quit)", GUILayout.Height(30f))) { GameEntry.Shutdown(ShutdownType.Quit); } } GUILayout.EndVertical(); }
static int get_Count(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)o; int ret = obj.Count; LuaDLL.lua_pushinteger(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index Count on a nil value" : e.Message)); } }
private void OnLowMemory() { Log.Info("Low memory reported..."); ObjectPoolComponent objectPoolComponent = GameEntry.GetComponent <ObjectPoolComponent>(); if (objectPoolComponent != null) { objectPoolComponent.ReleaseAllUnused(); } ResourceComponent resourceCompoent = GameEntry.GetComponent <ResourceComponent>(); if (resourceCompoent != null) { resourceCompoent.ForceUnloadUnusedAssets(true); } }
protected override void OnDrawScrollableWindow() { GUILayout.Label("<b>Operation Settings</b>"); GUILayout.BeginVertical("box"); { ObjectPoolComponent objectPoolComponent = GameEntry.GetComponent <ObjectPoolComponent>(); if (objectPoolComponent != null) { if (GUILayout.Button("Object Pool Release", GUILayout.Height(30f))) { objectPoolComponent.Release(); } if (GUILayout.Button("Object Pool Release All Unused", GUILayout.Height(30f))) { objectPoolComponent.ReleaseAllUnused(); } } ResourceComponent resourceCompoent = GameEntry.GetComponent <ResourceComponent>(); if (resourceCompoent != null) { if (GUILayout.Button("Unload Unused Assets", GUILayout.Height(30f))) { resourceCompoent.UnloadUnusedAssets(false, "release from debugger"); } if (GUILayout.Button("Unload Unused Assets and Garbage Collect", GUILayout.Height(30f))) { resourceCompoent.UnloadUnusedAssets(true, "release from debugger"); } } if (GUILayout.Button("Restart Game Framework", GUILayout.Height(30f))) { GameEntry.Restart(); } if (GUILayout.Button("Shutdown Game Framework", GUILayout.Height(30f))) { GameEntry.Shutdown(); } } GUILayout.EndVertical(); }
static int CreateMultiSpawnObjectPool(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0); ToLua.PushObject(L, o); return(1); } else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(float))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); float arg1 = (float)LuaDLL.lua_tonumber(L, 3); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1); ToLua.PushObject(L, o); return(1); } else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(string))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); string arg1 = ToLua.ToString(L, 3); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1); ToLua.PushObject(L, o); return(1); } else if (count == 4 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(float), typeof(int))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); float arg1 = (float)LuaDLL.lua_tonumber(L, 3); int arg2 = (int)LuaDLL.lua_tonumber(L, 4); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1, arg2); ToLua.PushObject(L, o); return(1); } else if (count == 4 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(int), typeof(float))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); int arg1 = (int)LuaDLL.lua_tonumber(L, 3); float arg2 = (float)LuaDLL.lua_tonumber(L, 4); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1, arg2); ToLua.PushObject(L, o); return(1); } else if (count == 4 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(string), typeof(float))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); string arg1 = ToLua.ToString(L, 3); float arg2 = (float)LuaDLL.lua_tonumber(L, 4); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1, arg2); ToLua.PushObject(L, o); return(1); } else if (count == 5 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(int), typeof(float), typeof(int))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); int arg1 = (int)LuaDLL.lua_tonumber(L, 3); float arg2 = (float)LuaDLL.lua_tonumber(L, 4); int arg3 = (int)LuaDLL.lua_tonumber(L, 5); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1, arg2, arg3); ToLua.PushObject(L, o); return(1); } else if (count == 5 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(string), typeof(float), typeof(int))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); string arg1 = ToLua.ToString(L, 3); float arg2 = (float)LuaDLL.lua_tonumber(L, 4); int arg3 = (int)LuaDLL.lua_tonumber(L, 5); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1, arg2, arg3); ToLua.PushObject(L, o); return(1); } else if (count == 5 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(string), typeof(int), typeof(float))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); string arg1 = ToLua.ToString(L, 3); int arg2 = (int)LuaDLL.lua_tonumber(L, 4); float arg3 = (float)LuaDLL.lua_tonumber(L, 5); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1, arg2, arg3); ToLua.PushObject(L, o); return(1); } else if (count == 6 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.ObjectPoolComponent), typeof(System.Type), typeof(string), typeof(int), typeof(float), typeof(int))) { UnityGameFramework.Runtime.ObjectPoolComponent obj = (UnityGameFramework.Runtime.ObjectPoolComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); string arg1 = ToLua.ToString(L, 3); int arg2 = (int)LuaDLL.lua_tonumber(L, 4); float arg3 = (float)LuaDLL.lua_tonumber(L, 5); int arg4 = (int)LuaDLL.lua_tonumber(L, 6); GameFramework.ObjectPool.ObjectPoolBase o = obj.CreateMultiSpawnObjectPool(arg0, arg1, arg2, arg3, arg4); ToLua.PushObject(L, o); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: UnityGameFramework.Runtime.ObjectPoolComponent.CreateMultiSpawnObjectPool")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }