IEnumerator StartLevel() { yield return(new WaitForSeconds(1f)); //restartButton.SetActive(false); mainCamera = Camera.main; currentLevel = SceneManager.GetActiveScene().buildIndex; if (SceneManager.GetActiveScene().name != "Level_Soul") { LevelEndImage = GameObject.Find("SceneTransition"); LevelEndImage.SetActive(true); GameSettings.GetSettings(); if (SceneManager.GetActiveScene().name == "Tutorial") { maxHealth = GameSettings.playerMaxHealth; currentPlayerHealth = maxHealth; NumberOfJumps = 1; } else { RespawnPoint = GameObject.FindGameObjectWithTag("RespawnPoint").transform; RespawnPoint.position = PlayerStats.currentRespawnPoint; if (RespawnPoint.position == Vector3.zero) { RespawnPoint.position = GameObject.Find("PlayerFirstSpawnPoint").transform.position; } Instantiate(playerPrefab, RespawnPoint.position, Quaternion.identity); NumberOfJumps = 2; if (SceneManager.GetActiveScene().name != "EndScene") { currentPlayerHealth = PlayerStats.playerHealth; maxHealth = PlayerStats.playerMaxHealth; diamondsCollected = PlayerStats.playerDiamondsCollected; enemiesKilled = PlayerStats.enemiesKilled; diamondCount = GameObject.Find("DiamondCount").GetComponent <TMP_Text>(); diamondCount.text = diamondsCollected.ToString(); } } cameraController = mainCamera.GetComponentInParent <CameraController_Hero>(); playerController = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController_Hero>(); attackController = GameObject.FindGameObjectWithTag("PlayerSpriteObject").GetComponent <PlayerAttackController>(); if (SceneManager.GetActiveScene().name != "Tutorial" && SceneManager.GetActiveScene().name != "EndScene") { GetPlayerStats(); } playerController.SetupPlayer(); attackController.SetupPlayer(); cameraController.SetupCamera(); if (SceneManager.GetActiveScene().name != "EndScene") { HeartsHealthVisual.instance.SetHealthBar(maxHealth / 4); HeartsHealthVisual.healthSystem.Damage((int)(maxHealth - currentPlayerHealth)); attackController.SetupHealth(currentPlayerHealth); enemySpawner = GameObject.FindGameObjectWithTag("EnemySpawner").GetComponent <EnemySpawner>(); enemySpawner.enemiesCloned = GameSettings.enemies; enemySpawner.usedSpawnPoints = GameSettings.usedPoints; enemySpawner.SetupEnemies(); } if (GameObject.FindGameObjectWithTag("ExitDoor") != null) { exitDoor = GameObject.FindGameObjectWithTag("ExitDoor").GetComponent <DoorOpen>(); } if (SceneManager.GetActiveScene().name != "Tutorial") { enableDash(); enableDoubleJump(); enableJump(); enemiesInLevel = GameSettings.EnemyCount; } else if (SceneManager.GetActiveScene().name == "Tutorial") { enemiesInLevel = 1; skipTutorialButton = GameObject.Find("SkipTut").GetComponent <Button>(); skipTutorialButton.interactable = true; } isLevelActive = true; } }