public void OnPlacementConfirmed() { OnboardingStage = Stage.AfterConfirmation; VoManager.Stop(true); PlacementDirector.Stop(); PlacementDirector.gameObject.SetActive(false); StopAllCoroutines(); EvaluateOnEndOfVoiceOver(); }
private void AdvanceStateMachine() { switch (OnboardingStage) { case Stage.Intro: switch (_platformId) { case GalaxyExplorerManager.PlatformId.HoloLensGen1: VoManager.PlayClip(Intro_0301_hl1); break; case GalaxyExplorerManager.PlatformId.ArticulatedHandsPlatform: VoManager.PlayClip(Intro_0301_hl2); ForceDirector.gameObject.SetActive(true); ForceDirector.Play(); break; case GalaxyExplorerManager.PlatformId.ImmersiveHMD: VoManager.PlayClip(Intro_03_vr); break; case GalaxyExplorerManager.PlatformId.Desktop: break; case GalaxyExplorerManager.PlatformId.Phone: break; default: throw new ArgumentOutOfRangeException(); } OnboardingStage = Stage.AfterDedicatedIntro; EvaluateOnEndOfVoiceOver(); break; case Stage.AfterDedicatedIntro: switch (_platformId) { case GalaxyExplorerManager.PlatformId.HoloLensGen1: case GalaxyExplorerManager.PlatformId.ImmersiveHMD: case GalaxyExplorerManager.PlatformId.ArticulatedHandsPlatform: EnableForcePull(); break; case GalaxyExplorerManager.PlatformId.Desktop: break; case GalaxyExplorerManager.PlatformId.Phone: break; default: throw new ArgumentOutOfRangeException(); } OnboardingStage = Stage.AfterForcePull; break; case Stage.AfterForcePull: switch (_platformId) { case GalaxyExplorerManager.PlatformId.HoloLensGen1: VoManager.PlayClip(Intro_0302_hl1, 0f, false, true); break; case GalaxyExplorerManager.PlatformId.ArticulatedHandsPlatform: VoManager.PlayClip(Intro_0302_hl2, 0f, false, true); ForceDirector.Stop(); ForceDirector.gameObject.SetActive(false); PlacementDirector.gameObject.SetActive(true); PlacementDirector.Play(); break; case GalaxyExplorerManager.PlatformId.ImmersiveHMD: break; case GalaxyExplorerManager.PlatformId.Desktop: break; case GalaxyExplorerManager.PlatformId.Phone: break; default: throw new ArgumentOutOfRangeException(); } // always chain intro 4 VoManager.PlayClip(Intro_04); OnboardingStage = Stage.AfterConfirmation; break; case Stage.AfterConfirmation: DisableForcePull(); switch (_platformId) { case GalaxyExplorerManager.PlatformId.HoloLensGen1: break; case GalaxyExplorerManager.PlatformId.ArticulatedHandsPlatform: PlacementDirector.Stop(); PlacementDirector.gameObject.SetActive(false); break; case GalaxyExplorerManager.PlatformId.ImmersiveHMD: break; case GalaxyExplorerManager.PlatformId.Desktop: break; case GalaxyExplorerManager.PlatformId.Phone: break; default: throw new ArgumentOutOfRangeException(); } OnboardingStage = Stage.Done; break; case Stage.None: break; case Stage.Done: return; default: throw new ArgumentOutOfRangeException(); } }