|
|
- using System.Runtime.InteropServices;
- using UnityEngine;
-
- namespace Oculus.Platform
- {
- public class CallbackRunner : MonoBehaviour
- {
- [DllImport(CAPI.DLL_NAME)]
- static extern void ovr_UnityResetTestPlatform();
-
- public bool IsPersistantBetweenSceneLoads = true;
-
- void Awake()
- {
- var existingCallbackRunner = FindObjectOfType<CallbackRunner>();
- if (existingCallbackRunner != this)
- {
- Debug.LogWarning("You only need one instance of CallbackRunner");
- }
- if (IsPersistantBetweenSceneLoads)
- {
- DontDestroyOnLoad(gameObject);
- }
- }
-
- void Update()
- {
- Request.RunCallbacks();
- }
-
- void OnDestroy()
- {
- #if UNITY_EDITOR
- ovr_UnityResetTestPlatform();
- #endif
- }
-
- void OnApplicationQuit()
- {
- Callback.OnApplicationQuit();
- }
- }
- }
|