dwelling act 4 (live motion cap w/ kinect azure)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

71 lines
2.0 KiB

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using com.rfilkov.kinect;
namespace com.rfilkov.components
{
/// <summary>
/// This component loads the next level after the given delay in seconds.
/// </summary>
public class LoadLevelWithDelay : MonoBehaviour
{
[Tooltip("Seconds to wait before loading next level.")]
public float waitSeconds = 0f;
[Tooltip("Next level number. No level is loaded, if the number is negative.")]
public int nextLevel = -1;
[Tooltip("Whether to check for initialized KinectManager or not.")]
public bool validateKinectManager = true;
[Tooltip("UI-Text used to display the debug messages.")]
public UnityEngine.UI.Text debugText;
private float timeToLoadLevel = 0f;
private bool levelLoaded = false;
void Start()
{
timeToLoadLevel = Time.realtimeSinceStartup + waitSeconds;
if (validateKinectManager && debugText != null)
{
KinectManager kinectManager = KinectManager.Instance;
if (kinectManager == null || !kinectManager.IsInitialized())
{
debugText.text = "KinectManager is not initialized!";
levelLoaded = true;
}
}
}
void Update()
{
if (!levelLoaded && nextLevel >= 0)
{
if (Time.realtimeSinceStartup >= timeToLoadLevel)
{
levelLoaded = true;
Debug.Log($"Loading level {nextLevel}...");
SceneManager.LoadScene(nextLevel);
}
else
{
float timeRest = timeToLoadLevel - Time.realtimeSinceStartup;
if (debugText != null)
{
debugText.text = string.Format("Time to the next level: {0:F0} s.", timeRest);
}
}
}
}
}
}