private void Start() { serializationManager = SerializationManager.Instance; if (serializationManager.CheckIfThisIsFirstStart()) { gameState.IsGameInFirstStartMode = true; uI.firstStartInterface.SetActive(true); } else { uI.prestartInterface.SetActive(true); } components.audioPlayer.PlaySound( components.audioPlayer.backgroundMusic, components.audioPlayer.backgroundSoundAudioSource, 0.025f, true ); components.playerScript.GetComponent <SpriteRenderer>().sprite = sprites.FacesArray[gameState.SkinID]; components.playerRigidbody.AddForce(transform.right * gamePreferences.gameSpeed, ForceMode2D.Force); spawningObjects.DrawBackgroundPart(2); spawningObjects.DrawGroundPart(2); spawningObjects.BackgroundSpawningCoroutine = StartCoroutine(spawningObjects.DrawBackground(gamePreferences.backgroundSpawningDelay)); spawningObjects.GroundSpawningCoroutine = StartCoroutine(spawningObjects.DrawGround(gamePreferences.groundSpawningDelay)); }
private IEnumerator FlexMode(float time, float speedCoefficient, AudioClip clip) { spawningObjects.DrawBackgroundPart(6); spawningObjects.DrawObstacle(6); spawningObjects.DrawGroundPart(6); gameState.IsGameInFlexMode = true; ChangeObstaclesSolidness(false); components.audioPlayer.PauseSound(components.audioPlayer.backgroundSoundAudioSource); components.audioPlayer.PlaySound(clip, components.audioPlayer.flexModeSoundAudioSource, 1, false); components.playerRigidbody.AddForce(-transform.right * gamePreferences.gameSpeed, ForceMode2D.Force); components.playerRigidbody.AddForce(transform.right * gamePreferences.gameSpeed * speedCoefficient, ForceMode2D.Force); ChangeCoroutinesSpeed( gamePreferences.backgroundSpawningDelay / speedCoefficient, gamePreferences.obstacleSpawningDelay / speedCoefficient, gamePreferences.groundSpawningDelay / speedCoefficient, gamePreferences.boosterSpawningDelay / speedCoefficient ); components.glowingMaterial.StartGlowing(speedCoefficient); yield return(new WaitForSeconds(time)); gameState.IsGameInFlexMode = false; components.audioPlayer.StopSound(components.audioPlayer.flexModeSoundAudioSource); components.glowingMaterial.StopGlowing(); components.audioPlayer.ResumeSound(components.audioPlayer.backgroundSoundAudioSource); components.playerRigidbody.AddForce(-transform.right * gamePreferences.gameSpeed * speedCoefficient, ForceMode2D.Force); components.playerRigidbody.AddForce(transform.right * gamePreferences.gameSpeed, ForceMode2D.Force); ChangeCoroutinesSpeed( gamePreferences.backgroundSpawningDelay, gamePreferences.obstacleSpawningDelay, gamePreferences.groundSpawningDelay, gamePreferences.boosterSpawningDelay ); yield return(new WaitForSeconds(2f)); if (!gameState.IsGameInFlexMode) { ChangeObstaclesSolidness(true); } }