// 4. Wait unitl get a Event from VRInputManager while looping animation. IEnumerator DrawAnimationUnilEvent_CR(TutSlide slide) { if (slide._inputType.HasValue == false) { yield break; } float currTime = 0; int idx = 0; ChangeSlide(slide._sprites[idx]); VRInputManager.currTutInputManager.RegisterEvent(slide._inputType.Value, slide.SetOnEventFlag); while (true) { currTime += Time.deltaTime; if (currTime > slide._playTime) { currTime = 0; idx = (idx + 1) % (slide._sprites.Length); ChangeSlide(slide._sprites[idx]); } yield return(null); if (slide._eventFlag == true) { break; } } VRInputManager.currTutInputManager.UnRegisterEvent(slide._inputType.Value, slide.SetOnEventFlag); GoNextSlide(); }
//Change Slide and Draw public void Draw(TutSlide slide) { if (slide._inputType.HasValue == false) /* Non Event Type */ { if (!slide._isAnimation) { // Default Draw slide ChangeSlide(slide._sprites[0]); StartCoroutine(DrawDefalut_CR(slide)); } else { // Animation Slides play once StartCoroutine(DrawAnimation_CR(slide)); } } else /* Event Type */ { if (!slide._isAnimation) { ChangeSlide(slide._sprites[0]); StartCoroutine(DrawDefalutUnitlEvent_CR(slide)); } else { // Animation Slides play loop StartCoroutine(DrawAnimationUnilEvent_CR(slide)); } } }
// Use this for initialization protected override void Initialize() { tutorialName = "pptKaraoke"; //Configuration slidePlayer.enabled = false; timerPlayer.enabled = false; _slides = new TutSlide[8]; _slides[0] = new TutSlide(); string[] arr1 = new string[] { "pptKaraoke/t1" }; _slides[0].Initialize(arr1, null, false, 3.0f); _slides[1] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t2" }; _slides[1].Initialize(arr1, null, false, 3.0f); _slides[2] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t3" }; _slides[2].Initialize(arr1, VRInputManager.TutorialInputType.LookAtScreen, false, 0); _slides[3] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t5", "pptKaraoke/t5_1" }; _slides[3].Initialize(arr1, null, true, 3.0f); _slides[4] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t7" }; _slides[4].Initialize(arr1, null, false, 3.0f); _slides[5] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t8" }; _slides[5].Initialize(arr1, null, false, 3.0f); _slides[6] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t9" }; _slides[6].Initialize(arr1, null, false, 3.0f); _slides[7] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t10" }; _slides[7].Initialize(arr1, null, false, 3.0f); }
// Use this for initialization protected override void Initialize(){ tutorialName = "pptKaraoke"; //Configuration slidePlayer.enabled = false; timerPlayer.enabled = false; _slides = new TutSlide[8]; _slides[0] = new TutSlide(); string[] arr1 = new string[] { "pptKaraoke/t1" }; _slides[0].Initialize( arr1, null, false, 3.0f); _slides[1] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t2"}; _slides[1].Initialize( arr1, null, false, 3.0f); _slides[2] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t3"}; _slides[2].Initialize( arr1, VRInputManager.TutorialInputType.LookAtScreen, false, 0); _slides[3] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t5", "pptKaraoke/t5_1"}; _slides[3].Initialize( arr1, null, true, 3.0f); _slides[4] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t7"}; _slides[4].Initialize( arr1, null, false, 3.0f); _slides[5] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t8"}; _slides[5].Initialize( arr1, null, false, 3.0f); _slides[6] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t9"}; _slides[6].Initialize( arr1, null, false, 3.0f); _slides[7] = new TutSlide(); arr1 = new string[] { "pptKaraoke/t10"}; _slides[7].Initialize( arr1, null, false, 3.0f); }
//Change Slide and Draw public void Draw(TutSlide slide){ if (slide._inputType.HasValue == false) { /* Non Event Type */ if (!slide._isAnimation) { // Default Draw slide ChangeSlide (slide._sprites[0]); StartCoroutine (DrawDefalut_CR (slide)); } else { // Animation Slides play once StartCoroutine (DrawAnimation_CR (slide)); } } else { /* Event Type */ if (!slide._isAnimation) { ChangeSlide (slide._sprites[0]); StartCoroutine (DrawDefalutUnitlEvent_CR (slide)); } else { // Animation Slides play loop StartCoroutine (DrawAnimationUnilEvent_CR (slide)); } } }
// 3. Wait unitl get a Event from VRInputManager. IEnumerator DrawDefalutUnitlEvent_CR(TutSlide slide) { if (slide._inputType.HasValue == false) { yield break; } //Register Event to VRInputManager VRInputManager.currTutInputManager.RegisterEvent(slide._inputType.Value, slide.SetOnEventFlag); while (true) { yield return(null); if (slide._eventFlag == true) { break; } } //UnRegister Event to VRInputManager VRInputManager.currTutInputManager.UnRegisterEvent(slide._inputType.Value, slide.SetOnEventFlag); GoNextSlide(); }
// 2. animation -> change slide sequentially and then go next page. IEnumerator DrawAnimation_CR(TutSlide slide){ float currTime = 0; float totalTime = 0; int idx = 0; float intervalTime = (slide._playTime / slide._sprites.Length) /2; ChangeSlide(slide._sprites[idx]); while(totalTime < slide._playTime) { currTime += Time.deltaTime; totalTime += Time.deltaTime; if(currTime > intervalTime ){ currTime = 0; idx = (idx + 1) % ( slide._sprites.Length ); ChangeSlide(slide._sprites[idx]); } yield return null; } GoNextSlide (); }
// 2. animation -> change slide sequentially and then go next page. IEnumerator DrawAnimation_CR(TutSlide slide) { float currTime = 0; float totalTime = 0; int idx = 0; float intervalTime = (slide._playTime / slide._sprites.Length) / 2; ChangeSlide(slide._sprites[idx]); while (totalTime < slide._playTime) { currTime += Time.deltaTime; totalTime += Time.deltaTime; if (currTime > intervalTime) { currTime = 0; idx = (idx + 1) % (slide._sprites.Length); ChangeSlide(slide._sprites[idx]); } yield return(null); } GoNextSlide(); }
// Type of play each slide // 1. default draw -> change slide from sprite and then wait for a second and, go next page IEnumerator DrawDefalut_CR(TutSlide slide) { yield return(new WaitForSeconds(slide._playTime)); GoNextSlide(); }
// Type of play each slide // 1. default draw -> change slide from sprite and then wait for a second and, go next page IEnumerator DrawDefalut_CR(TutSlide slide){ yield return new WaitForSeconds (slide._playTime); GoNextSlide (); }
// 4. Wait unitl get a Event from VRInputManager while looping animation. IEnumerator DrawAnimationUnilEvent_CR(TutSlide slide){ if (slide._inputType.HasValue == false) yield break; float currTime = 0; int idx = 0; ChangeSlide(slide._sprites[idx]); VRInputManager.currTutInputManager.RegisterEvent (slide._inputType.Value, slide.SetOnEventFlag); while(true){ currTime += Time.deltaTime; if(currTime > slide._playTime) { currTime = 0; idx = (idx + 1) % ( slide._sprites.Length ); ChangeSlide(slide._sprites[idx]); } yield return null; if(slide._eventFlag == true){ break; } } VRInputManager.currTutInputManager.UnRegisterEvent (slide._inputType.Value, slide.SetOnEventFlag); GoNextSlide (); }
// 3. Wait unitl get a Event from VRInputManager. IEnumerator DrawDefalutUnitlEvent_CR(TutSlide slide){ if (slide._inputType.HasValue == false) yield break; //Register Event to VRInputManager VRInputManager.currTutInputManager.RegisterEvent (slide._inputType.Value, slide.SetOnEventFlag); while(true){ yield return null; if(slide._eventFlag == true){ break; } } //UnRegister Event to VRInputManager VRInputManager.currTutInputManager.UnRegisterEvent (slide._inputType.Value, slide.SetOnEventFlag); GoNextSlide (); }