diff --git a/Assets/Scripts/Managers/CheatManager.cs b/Assets/Scripts/Managers/CheatManager.cs index c51a76a3541e0eabf955f47f2568571b6e8b1c4f..970dd5acdb2a2ec6c1bc44d67f8cfc9c162f26be 100644 --- a/Assets/Scripts/Managers/CheatManager.cs +++ b/Assets/Scripts/Managers/CheatManager.cs @@ -17,22 +17,26 @@ using UnityEngine.Windows; * SKIPLEVEL : Player skips 1 level */ + +/* CHEATS THAT CAN BE SAVED */ +/* + * NODAMAGE + * ONEHITKILL + * XTWOSPEED + */ + public enum CheatsType { NODAMAGE, ONEHITKILL, - MOTHERLODE, - XTWOSPEED, - FULLHPPET, - KILLPET, - GETORB, - SKIPLEVEL + XTWOSPEED } public class CheatManager : MonoBehaviour { HUDisplay hud; PlayerHealth playerHealth; + PlayerCurrency playerCurrency; PlayerMovement playerMovement; PlayerShooting playerShooting; LevelManager levelManager; @@ -44,14 +48,16 @@ public class CheatManager : MonoBehaviour string textInput; public InputField inputField; + int prevBalance; - bool[] cheats = new bool[8]; + bool[] cheats = new bool[3]; private void Start() { hud = GameObject.Find("HUDCanvas").GetComponent<HUDisplay>(); playerHealth = GameObject.Find("Player").GetComponent<PlayerHealth>(); - playerMovement = GameObject.Find("Player").GetComponent<PlayerMovement>(); + playerCurrency = GameObject.Find("Player").GetComponent<PlayerCurrency>(); + playerMovement = GameObject.Find("Player").GetComponent<PlayerMovement>(); playerShooting = GameObject.Find("Player").GetComponentInChildren<PlayerShooting>(); levelManager = FindObjectOfType<LevelManager>(); } @@ -89,6 +95,12 @@ public class CheatManager : MonoBehaviour ActivateOneHitKill(); return; } + if (textInput == "MOTHERLODE") + { + ResetInputField(); + ActivateMotherlode(); + return; + } if (textInput == "XTWOSPEED") { ResetInputField(); @@ -151,6 +163,13 @@ public class CheatManager : MonoBehaviour cheats[(int)CheatsType.ONEHITKILL] = true; } + private void ActivateMotherlode() + { + prevBalance = playerCurrency.balance; + playerCurrency.balance = 100000; + hud.OpenPanel("Motherlode Cheat Activated!"); + } + private void ActivateXTwoSpeed() { playerMovement.ActivateCheatXTwoSpeed(); @@ -168,7 +187,6 @@ public class CheatManager : MonoBehaviour } hud.OpenPanel("Full HP Pet Cheat Activated!"); - cheats[(int)CheatsType.FULLHPPET] = true; } private void ActivateKillPet() @@ -215,19 +233,27 @@ public class CheatManager : MonoBehaviour } hud.OpenPanel("Get Random Orb Cheat Activated!"); - cheats[(int)CheatsType.GETORB] = true; } private void ActivateSkipLevel() { levelManager.AdvanceLevel(); hud.OpenPanel("Skip Level Cheat Activated!"); - cheats[(int)CheatsType.SKIPLEVEL] = true; } + /* RESET CHEATS DOCUMENTATION */ + /* + * Makes player can take damage again + * Reset player's balance to previous balance + * Reset player's speed + * Reset player's attack damage + * Makes player's pets can take damage again + */ + private void ActivateReset() { playerHealth.SetCheatNoDamage(false); + playerCurrency.balance = prevBalance; playerMovement.ResetSpeed(); playerShooting.ResetPlayerDamage(); diff --git a/Assets/Scripts/Player/PlayerCurrency.cs b/Assets/Scripts/Player/PlayerCurrency.cs index eda8b61e946d26a903ccc261f289634f556e428e..f92a0372916dd7a7f63b0f419f4d5ad78c20adac 100644 --- a/Assets/Scripts/Player/PlayerCurrency.cs +++ b/Assets/Scripts/Player/PlayerCurrency.cs @@ -5,7 +5,8 @@ using UnityEngine; public class PlayerCurrency : MonoBehaviour { - int balance = 0; + public int balance = 0; + // Start is called before the first frame update public void add(int nominal) {