Files
Studio/Assets/Scripts/XRLib/CustomPlayerLoop/PlayerLoopQuitChecker.cs
2025-02-19 17:24:26 +09:00

28 lines
677 B
C#

using System;
using UnityEngine;
using Object = UnityEngine.Object;
public static partial class PlayerLoopQuitChecker
{
public static event Action GameQuitCallback;
[RuntimeInitializeOnLoadMethod]
static void Initialize()
{
var quitCheckContainer = new GameObject("[Quit Checker]")
{
hideFlags = HideFlags.HideAndDontSave
};
quitCheckContainer.AddComponent<QuitCheckerRunner>();
Object.DontDestroyOnLoad(quitCheckContainer);
}
private partial class QuitCheckerRunner : MonoBehaviour
{
private void OnApplicationQuit()
{
GameQuitCallback?.Invoke();
}
}
}