in Assets/scripts/OnboardingManager.cs [44:155]
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();
}
}