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); } }