t1 / TFDContents / Assets / KinectScripts / MultiScene / LoadLevelWithDelay.cs @ 3
이력 | 보기 | 이력해설 | 다운로드 (1.37 KB)
1 |
using UnityEngine; |
---|---|
2 |
using System.Collections; |
3 |
using UnityEngine.SceneManagement; |
4 |
|
5 |
public class LoadLevelWithDelay : MonoBehaviour |
6 |
{ |
7 |
[Tooltip("Seconds to wait before loading next level.")] |
8 |
public float waitSeconds = 0f; |
9 |
|
10 |
[Tooltip("Next level number. No level is loaded, if the number is negative.")] |
11 |
public int nextLevel = -1; |
12 |
|
13 |
[Tooltip("Whether to check for initialized KinectManager or not.")] |
14 |
public bool validateKinectManager = true; |
15 |
|
16 |
[Tooltip("GUI-Text used to display the debug messages.")] |
17 |
public GUIText debugText; |
18 |
|
19 |
private float timeToLoadLevel = 0f; |
20 |
private bool levelLoaded = false; |
21 |
|
22 |
|
23 |
void Start() |
24 |
{ |
25 |
timeToLoadLevel = Time.realtimeSinceStartup + waitSeconds; |
26 |
|
27 |
if(validateKinectManager && debugText != null) |
28 |
{ |
29 |
KinectManager manager = KinectManager.Instance; |
30 |
|
31 |
if(manager == null || !manager.IsInitialized()) |
32 |
{ |
33 |
debugText.text = "KinectManager is not initialized!"; |
34 |
levelLoaded = true; |
35 |
} |
36 |
} |
37 |
} |
38 |
|
39 |
|
40 |
void Update() |
41 |
{ |
42 |
if(!levelLoaded && nextLevel >= 0) |
43 |
{ |
44 |
if(Time.realtimeSinceStartup >= timeToLoadLevel) |
45 |
{ |
46 |
levelLoaded = true; |
47 |
SceneManager.LoadScene(nextLevel); |
48 |
} |
49 |
else |
50 |
{ |
51 |
float timeRest = timeToLoadLevel - Time.realtimeSinceStartup; |
52 |
|
53 |
if(debugText != null) |
54 |
{ |
55 |
debugText.text = string.Format("Time to the next level: {0:F0} s.", timeRest); |
56 |
} |
57 |
} |
58 |
} |
59 |
} |
60 |
|
61 |
} |