Files
TEngine/Assets/TEngine/Runtime/GameFramework/Debugger/Component/DebuggerModule.OperationsWindow.cs
ALEXTANG 8b164173ac GameModules
GameModules
2023-04-04 12:48:54 +08:00

60 lines
2.4 KiB
C#

using UnityEngine;
namespace TEngine
{
public sealed partial class DebuggerModule : GameFrameworkComponent
{
private sealed class OperationsWindow : ScrollableDebuggerWindowBase
{
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();
}
}
}
}