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 ForceUnloadUnusedAssets(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); UnityGameFramework.Runtime.ResourceComponent obj = (UnityGameFramework.Runtime.ResourceComponent)ToLua.CheckObject(L, 1, typeof(UnityGameFramework.Runtime.ResourceComponent)); bool arg0 = LuaDLL.luaL_checkboolean(L, 2); obj.ForceUnloadUnusedAssets(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
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); } }