From f6b49e92b92c549bef986fb36daf522a10036ed9 Mon Sep 17 00:00:00 2001 From: 13519001 Karlsen Adiyasa Bachtiar <13519001@std.stei.itb.ac.id> Date: Sun, 10 Apr 2022 01:04:59 +0700 Subject: [PATCH] add final level and fix level UI --- Assets/Scenes/Level_01.unity | 1 + Assets/Scripts/Managers/EnemyManager.cs | 23 +++++++++++++++------- Assets/Scripts/Managers/GameOverManager.cs | 10 +++++++++- Assets/Scripts/Managers/ScoreManager.cs | 2 +- Assets/Scripts/Managers/ShowGameOver.cs | 2 +- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/Assets/Scenes/Level_01.unity b/Assets/Scenes/Level_01.unity index 550987c..c0209c7 100644 --- a/Assets/Scenes/Level_01.unity +++ b/Assets/Scenes/Level_01.unity @@ -1127,6 +1127,7 @@ MonoBehaviour: m_EditorClassIdentifier: playerHealth: {fileID: 1509913240} warningText: {fileID: 1086032144} + gameOverText: {fileID: 1888692063} restartDelay: 5 canvasAnimator: {fileID: 360206200} --- !u!4 &688119341 diff --git a/Assets/Scripts/Managers/EnemyManager.cs b/Assets/Scripts/Managers/EnemyManager.cs index b276c26..578de03 100644 --- a/Assets/Scripts/Managers/EnemyManager.cs +++ b/Assets/Scripts/Managers/EnemyManager.cs @@ -8,7 +8,7 @@ public class EnemyManager : MonoBehaviour public int totalWeight; public static int remainingEnemies = 0; public static int remainingWeight; - public static int waveLevel; + public static int waveLevel = 1; public bool isZenMode = true; [SerializeField] @@ -24,7 +24,6 @@ public class EnemyManager : MonoBehaviour } else { - waveLevel = 1; SpawnWave(); waveLevel++; } @@ -37,10 +36,16 @@ public class EnemyManager : MonoBehaviour if (!isZenMode) { - if (remainingEnemies <= 0 ) - { - SpawnWave(); - waveLevel++; + if (IsWinning()) { + waveLevel--; + GameOverManager.isWinning = true; + } else { + if (remainingEnemies <= 0 ) + { + Debug.Log("CURRENT WAVE LEVEL IS : " + waveLevel); + SpawnWave(); + waveLevel++; + } } } } @@ -52,7 +57,6 @@ public class EnemyManager : MonoBehaviour { return; } - int spawnEnemy = Random.Range(0, 5); Factory.FactoryMethod(spawnEnemy); @@ -74,4 +78,9 @@ public class EnemyManager : MonoBehaviour totalWeight -= totalWeight - remainingWeight; } } + + bool IsWinning() { + Debug.Log("CURRENT WAVE LEVEL IS : " + waveLevel); + return (waveLevel-1 > 12); + } } diff --git a/Assets/Scripts/Managers/GameOverManager.cs b/Assets/Scripts/Managers/GameOverManager.cs index d5248cc..50958a4 100644 --- a/Assets/Scripts/Managers/GameOverManager.cs +++ b/Assets/Scripts/Managers/GameOverManager.cs @@ -6,6 +6,7 @@ public class GameOverManager : MonoBehaviour { public PlayerHealth playerHealth; public Text warningText; + public Text gameOverText; public float restartDelay = 5f; @@ -14,10 +15,17 @@ public class GameOverManager : MonoBehaviour bool isGameOver = false; bool isSaved = false; + public static bool isWinning = false; void Update() { - if (playerHealth.isDead) + if (isWinning) { + gameOverText.text = "You Win !"; + gameOverText.color = Color.green; + Debug.Log("YOU WINNNNNNNNNNNNNNNNNN"); + } + // Debug.Log(isWinning); + if (playerHealth.isDead || isWinning) { canvasAnimator.SetBool("GameOver", true); isGameOver = true; diff --git a/Assets/Scripts/Managers/ScoreManager.cs b/Assets/Scripts/Managers/ScoreManager.cs index e18286b..15317b7 100644 --- a/Assets/Scripts/Managers/ScoreManager.cs +++ b/Assets/Scripts/Managers/ScoreManager.cs @@ -36,7 +36,7 @@ public class ScoreManager : MonoBehaviour level.text = ""; } else { score.text = "Score: " + waveScore; - level.text = "Level: " + EnemyManager.waveLevel; + level.text = "Level: " + (EnemyManager.waveLevel-1); } } diff --git a/Assets/Scripts/Managers/ShowGameOver.cs b/Assets/Scripts/Managers/ShowGameOver.cs index 816086c..e362c7b 100644 --- a/Assets/Scripts/Managers/ShowGameOver.cs +++ b/Assets/Scripts/Managers/ShowGameOver.cs @@ -33,7 +33,7 @@ public class ShowGameOver : MonoBehaviour scoreText.text = "Score: " + score.ToString(); levelText.enabled = true; - levelText.text = "Level: " + waveLevel.ToString(); + levelText.text = "Level: " + (waveLevel-1).ToString(); } public void GoToReplay() -- GitLab