上传YomovSDK
This commit is contained in:
36
Packages/com.unity.xr.openxr/Runtime/WaitForRestartFinish.cs
Normal file
36
Packages/com.unity.xr.openxr/Runtime/WaitForRestartFinish.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
namespace UnityEngine.XR.OpenXR
|
||||
{
|
||||
/// <summary>
|
||||
/// Custom yield instruction that waits for the OpenXRRestarter to finish if it is running.
|
||||
/// </summary>
|
||||
internal sealed class WaitForRestartFinish : CustomYieldInstruction
|
||||
{
|
||||
private float m_Timeout = 0;
|
||||
|
||||
public WaitForRestartFinish(float timeout = 5.0f)
|
||||
{
|
||||
m_Timeout = Time.realtimeSinceStartup + timeout;
|
||||
}
|
||||
|
||||
public override bool keepWaiting
|
||||
{
|
||||
get
|
||||
{
|
||||
// Wait until the restarter is finished
|
||||
if (!OpenXRRestarter.Instance.isRunning)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Did we time out waiting?
|
||||
if (Time.realtimeSinceStartup > m_Timeout)
|
||||
{
|
||||
Debug.LogError("WaitForRestartFinish: Timeout");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user