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 | } |