t1 / TFDContents / Assets / KinectScripts / MultiScene / LoadLevelWithDelay.cs @ 3
이력 | 보기 | 이력해설 | 다운로드 (1.37 KB)
1 | 3 | KTH | 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 | } |