Esempio n. 1
0
    void Start()
    {
        if (isBeingDiscarded())
        {
            shutDownMicrogame();
        }
        else
        {
            if (StageController.instance == null)
            {
                //Debug Start
                MicrogameDebugObjects debugObjects = MicrogameDebugObjects.instance;
                commandDisplay = debugObjects.commandDisplay;

                if (debugSettings.localizeText)
                {
                    LocalizationManager manager = GameController.instance.transform.FindChild("Localization").GetComponent <LocalizationManager>();
                    if (!string.IsNullOrEmpty(debugSettings.forceLocalizationLanguage))
                    {
                        manager.setForcedLanguage(debugSettings.forceLocalizationLanguage);
                    }
                    manager.Awake();
                    manager.gameObject.SetActive(true);
                }

                MicrogameTimer.instance.beatsLeft = (float)traits.getDurationInBeats() + (debugSettings.simulateStartDelay ? 1f : 0f);
                if (!debugSettings.showTimer)
                {
                    MicrogameTimer.instance.disableDisplay = true;
                }
                if (debugSettings.timerTick)
                {
                    MicrogameTimer.instance.invokeTick();
                }

                if (debugSettings.playMusic && traits.musicClip != null)
                {
                    AudioSource source = debugObjects.musicSource;
                    source.clip  = traits.musicClip;
                    source.pitch = StageController.getSpeedMult(debugSettings.speed);
                    if (!debugSettings.simulateStartDelay)
                    {
                        source.Play();
                    }
                    else
                    {
                        AudioHelper.playScheduled(source, StageController.beatLength);
                    }
                }

                if (debugSettings.displayCommand)
                {
                    debugObjects.commandDisplay.play(traits.localizedCommand);
                }

                Cursor.visible = traits.controlScheme == MicrogameTraits.ControlScheme.Mouse && !traits.hideCursor;
                //Cursor.lockState = CursorLockMode.Confined;

                debugObjects.voicePlayer.loadClips(debugSettings.voiceSet);
            }
            SceneManager.SetActiveScene(gameObject.scene);
        }
    }