private void OnRecordingStopCallback(LXVRResult result, Tutorial2Status state) { if (result == LXVRResult.Success) { Debug.Log("OnRecordingStopCallback : " + result); switch (state) { case Tutorial2Status.Image: if (curImageIndex == Images.Length - 1) { ChangeMode(Tutorial2Status.Question1); return; } curImageIndex++; timer = 0f; ChangeMode(Tutorial2Status.Image); break; case Tutorial2Status.Video: ChangeMode(Tutorial2Status.Question2); break; case Tutorial2Status.Question1: ChangeMode(Tutorial2Status.Video); break; case Tutorial2Status.Question2: ChangeMode(Tutorial2Status.End); break; } } }
public void ChangeMode(Tutorial2Status status) { if (!isConnected) { return; } DeactiveAll(); curState = status; switch (status) { case Tutorial2Status.Intro: StartButton.SetActive(true); break; case Tutorial2Status.Image: Image.GetComponent <Image>().sprite = Images[curImageIndex]; lxvrManager.StartRecording(curState.ToString(), Images[curImageIndex].name, false, (LXVRResult result) => OnRecordingStartCallback(result, Image)); break; case Tutorial2Status.Question1: SetQuestion(1); lxvrManager.StartRecording(curState.ToString(), "1", false, (LXVRResult result) => OnRecordingStartCallback(result, Question)); break; case Tutorial2Status.Video: VideoPlayer.GetComponent <VideoPlayer>().loopPointReached += (VideoPlaer) => lxvrManager.StopRecording((LXVRResult result) => OnRecordingStopCallback(result, curState)); lxvrManager.StartRecording(curState.ToString(), VideoPlayer.GetComponent <VideoPlayer>().clip.name, false, (LXVRResult result) => OnRecordingStartCallback(result, VideoPlayer)); VideoPlayer.SetActive(true); break; case Tutorial2Status.Question2: SetQuestion(2); lxvrManager.StartRecording(curState.ToString(), "1", false, (LXVRResult result) => OnRecordingStartCallback(result, Question)); break; case Tutorial2Status.End: End.SetActive(true); break; default: break; } }
private void Update() { prevState = curState; if (curState != Tutorial2Status.Image) { return; } timer += Time.deltaTime; if (timer <= 5f) { return; } lxvrManager.StopRecording((LXVRResult result) => OnRecordingStopCallback(result, curState)); }