public void Initialize()
 {
     instance = this;
     Dependencies.OnInitialized(this);
 }
    private IEnumerator StartupExperienceRoutine()
    {
        cameraEffects    = Object.FindObjectOfType <MenuCameraEffects>();
        cameraController = Object.FindObjectOfType <CameraController3>();
        human            = Human.all[0];
        ragdoll          = human.ragdoll;
        StartupExperienceUI startupUI = StartupExperienceUI.instance;

        MenuSystem.instance.EnterMenuInputMode();
        EnterGameStartupXP();
        Begin();
        drones.Play();
        while (drones.dronesTime < 1f)
        {
            yield return(null);
        }
        FadeOutDim();
        while (drones.dronesTime < offsetTime)
        {
            yield return(null);
        }
        startupUI.curveLogo.Play("CurveIn");
        while (drones.dronesTime < 4f + offsetTime)
        {
            yield return(null);
        }
        startupUI.curveLogo.Play("CurveOut");
        while ((double)drones.dronesTime < 6.01 + (double)offsetTime)
        {
            yield return(null);
        }
        startupUI.noBrakesLogo.Play("NbgLogoIn");
        while ((double)drones.dronesTime < 9.12 + (double)offsetTime)
        {
            yield return(null);
        }
        startupUI.noBrakesLogo.Play("NbgLogoOut");
        while ((double)drones.dronesTime < 10.5 + (double)offsetTime)
        {
            yield return(null);
        }
        startupUI.humanLogo.gameObject.SetActive(value: true);
        startupUI.humanLogo.Play("HumanLogoIn");
        startupUI.gameByLine1.Play("GameByInOut");
        startupUI.gameByLine2.Play("GameByInOut");
        yield return(new WaitForSeconds(1f));

        DropHuman();
        bool pressAnythingVisible = false;

        while ((double)drones.dronesTime < 13.2 + (double)offsetTime && !IsAnythingPressed())
        {
            yield return(null);
        }
        if (!IsAnythingPressed())
        {
            pressAnythingVisible = true;
            startupUI.pressAnything.Play("PressAnythingIn");
            while (!IsAnythingPressed())
            {
                yield return(null);
            }
        }
        ReleaseLatch();
        startupUI.humanLogo.Play("HumanLogoOut");
        if (pressAnythingVisible)
        {
            startupUI.pressAnything.Play("PressAnythingOut");
        }
    }