//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 loyalsoft. All rights reserved.
// Homepage: http://www.game7000.com/
// Feedback: http://www.game7000.com/
//------------------------------------------------------------
using UnityEngine;
namespace UnityGameFramework.Runtime
{
public sealed partial class DebuggerComponent : GameFrameworkComponent
{
private sealed class OperationsWindow : ScrollableDebuggerWindowBase
{
protected override void OnDrawScrollableWindow()
{
GUILayout.Label("Operations");
GUILayout.BeginVertical("box");
{
ObjectPoolComponent objectPoolComponent = GameEntry.GetComponent();
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();
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();
}
}
}
}