t1 / TFDContents / Assets / KinectScripts / MultiScene / LoadLevelWhenUserDetected.cs @ 3
이력 | 보기 | 이력해설 | 다운로드 (1.47 KB)
1 | 3 | KTH | using UnityEngine; |
---|---|---|---|
2 | using System.Collections; |
||
3 | using UnityEngine.SceneManagement; |
||
4 | |||
5 | public class LoadLevelWhenUserDetected : MonoBehaviour |
||
6 | { |
||
7 | [Tooltip("User pose that will trigger the loading of next level.")] |
||
8 | public KinectGestures.Gestures expectedUserPose = KinectGestures.Gestures.None; |
||
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 | |||
20 | private bool levelLoaded = false; |
||
21 | private KinectGestures.Gestures savedCalibrationPose; |
||
22 | |||
23 | |||
24 | void Start() |
||
25 | { |
||
26 | KinectManager manager = KinectManager.Instance; |
||
27 | |||
28 | if(validateKinectManager && debugText != null) |
||
29 | { |
||
30 | if(manager == null || !manager.IsInitialized()) |
||
31 | { |
||
32 | debugText.text = "KinectManager is not initialized!"; |
||
33 | levelLoaded = true; |
||
34 | } |
||
35 | } |
||
36 | |||
37 | if(manager != null && manager.IsInitialized()) |
||
38 | { |
||
39 | savedCalibrationPose = manager.playerCalibrationPose; |
||
40 | manager.playerCalibrationPose = expectedUserPose; |
||
41 | } |
||
42 | } |
||
43 | |||
44 | |||
45 | void Update() |
||
46 | { |
||
47 | if(!levelLoaded && nextLevel >= 0) |
||
48 | { |
||
49 | KinectManager manager = KinectManager.Instance; |
||
50 | |||
51 | if(manager != null && manager.IsUserDetected()) |
||
52 | { |
||
53 | manager.playerCalibrationPose = savedCalibrationPose; |
||
54 | |||
55 | levelLoaded = true; |
||
56 | SceneManager.LoadScene(nextLevel); |
||
57 | } |
||
58 | } |
||
59 | } |
||
60 | |||
61 | } |