diff --git a/Assets/Scripts/Enemy/EnemyAttack.cs b/Assets/Scripts/Enemy/EnemyAttack.cs index 1b26b61b66d785648bab9b6a64e731c5fc8e2cce..dff28f0c65ebaacf62d5b9afecafc7da554aaaa1 100644 --- a/Assets/Scripts/Enemy/EnemyAttack.cs +++ b/Assets/Scripts/Enemy/EnemyAttack.cs @@ -67,7 +67,7 @@ public class EnemyAttack : MonoBehaviour AttackPet (); } - if (playerHealth.currentHealth <= 0) + if (playerHealth.CurrentHealth <= 0) { anim.SetBool("PlayerDeath", true); } @@ -78,7 +78,7 @@ public class EnemyAttack : MonoBehaviour { timer = 0f; - if (playerHealth.currentHealth > 0) + if (playerHealth.CurrentHealth > 0) { playerHealth.TakeDamage (attackDamage); } diff --git a/Assets/Scripts/Enemy/EnemyMovement.cs b/Assets/Scripts/Enemy/EnemyMovement.cs index 34d301c2ac5e9d49586cde2b2c3de5776b6d5925..ecda7acd0a45e2c2250c08bdd3ff3119965a5e3a 100644 --- a/Assets/Scripts/Enemy/EnemyMovement.cs +++ b/Assets/Scripts/Enemy/EnemyMovement.cs @@ -27,7 +27,7 @@ public class EnemyMovement : MonoBehaviour void Update () { - if(enemyHealth.currentHealth > 0 && playerHealth.currentHealth > 0) + if(enemyHealth.currentHealth > 0 && playerHealth.CurrentHealth > 0) { nav.SetDestination(playerPosition.position); diff --git a/Assets/Scripts/Managers/EnemyManager.cs b/Assets/Scripts/Managers/EnemyManager.cs index e428e7918e61635a2448c1a95034b3517947863a..652e261000aa6416567f3d3fe096ee1a72e99357 100644 --- a/Assets/Scripts/Managers/EnemyManager.cs +++ b/Assets/Scripts/Managers/EnemyManager.cs @@ -23,7 +23,7 @@ public class EnemyManager : MonoBehaviour void Spawn () { - if (playerHealth.currentHealth <= 0f) + if (playerHealth.CurrentHealth <= 0f) { return; } diff --git a/Assets/Scripts/Managers/GameOverManager.cs b/Assets/Scripts/Managers/GameOverManager.cs index 8229a8d7ecf43ec2122ce8698b96000fa6e3492b..b4262f55105efa05fc46fc853aae53bc778b8070 100644 --- a/Assets/Scripts/Managers/GameOverManager.cs +++ b/Assets/Scripts/Managers/GameOverManager.cs @@ -19,7 +19,7 @@ public class GameOverManager : MonoBehaviour void Update() { - if (playerHealth.currentHealth <= 0) + if (playerHealth.CurrentHealth <= 0) { anim.SetTrigger("GameOver"); diff --git a/Assets/Scripts/Managers/GlobalManager.cs b/Assets/Scripts/Managers/GlobalManager.cs index fba287db9dda9110de5924de43355093ad3b0106..224d446b8b75b3f0ed0df7cdbad76a418caf11dd 100644 --- a/Assets/Scripts/Managers/GlobalManager.cs +++ b/Assets/Scripts/Managers/GlobalManager.cs @@ -7,6 +7,15 @@ public class GlobalManager : MonoBehaviour { public static GlobalManager Instance; private GlobalStateManager globalState; + private string playerName; + public string PlayerName + { + get => playerName; + set + { + playerName = value; + } + } private void Awake() { diff --git a/Assets/Scripts/Pet/DogHeal.cs b/Assets/Scripts/Pet/DogHeal.cs index d0e23699e11a162f77487e1175af3350b9c40fdd..d4c66711b181e03d5acadfb5c0d817437d0045b3 100644 --- a/Assets/Scripts/Pet/DogHeal.cs +++ b/Assets/Scripts/Pet/DogHeal.cs @@ -21,7 +21,7 @@ public class DogHeal : MonoBehaviour void Update() { timer += Time.deltaTime; - if (timer >= timeBetweenHeals && playerHealth.currentHealth < 100) + if (timer >= timeBetweenHeals && playerHealth.CurrentHealth < 100) { print("berhasil masuk mau heal"); Heal (); @@ -35,7 +35,7 @@ public class DogHeal : MonoBehaviour void Heal () { timer = 0f; - int playerHealthLost = 100 - playerHealth.currentHealth; + int playerHealthLost = 100 - playerHealth.CurrentHealth; if (playerHealthLost < healAmount){ healAmount = playerHealthLost; print(healAmount); diff --git a/Assets/Scripts/Pet/PetMovement.cs b/Assets/Scripts/Pet/PetMovement.cs index 070f4dd79f7eef3ba27c869c9ae4d05ec3027539..25c77fe49c7f1da705b49e4bf623148905bc0c69 100644 --- a/Assets/Scripts/Pet/PetMovement.cs +++ b/Assets/Scripts/Pet/PetMovement.cs @@ -23,7 +23,7 @@ public class PetMovement : MonoBehaviour // Update is called once per frame void Update() { - if (petHealth.currentHealth > 0 && playerHealth.currentHealth > 0) + if (petHealth.currentHealth > 0 && playerHealth.CurrentHealth > 0) { nav.SetDestination (playerPosition.position); } diff --git a/Assets/Scripts/Player/PlayerHealth.cs b/Assets/Scripts/Player/PlayerHealth.cs index dd4fc3becfdcd92353e036c2de931241943508ff..10ec415dbea3c3a505c020a915735e1815e252df 100644 --- a/Assets/Scripts/Player/PlayerHealth.cs +++ b/Assets/Scripts/Player/PlayerHealth.cs @@ -5,13 +5,23 @@ using System.Collections; public class PlayerHealth : MonoBehaviour { public readonly int startingHealth = 100; - public int currentHealth; + private int currentHealth = -1; public Slider healthSlider; public Image damageImage; public AudioClip deathClip; public float flashSpeed = 5f; public Color flashColour = new Color(1f, 0f, 0f, 0.1f); + public int CurrentHealth + { + get => currentHealth; + set + { + currentHealth = value; + healthSlider.value = currentHealth; + } + } + Animator anim; AudioSource playerAudio; @@ -29,7 +39,13 @@ public class PlayerHealth : MonoBehaviour playerMovement = GetComponent<PlayerMovement>(); playerShooting = GetComponentInChildren<PlayerShooting>(); - currentHealth = startingHealth; + if (currentHealth == -1) + { + currentHealth = startingHealth; + } + + Debug.Log("currentHealt: "+ currentHealth); + healthSlider.value = currentHealth; } diff --git a/Assets/Scripts/Player/Weapons/PlayerSwordAnimation.cs b/Assets/Scripts/Player/Weapons/PlayerSwordAnimation.cs index cc5ed9270b3495cb2698c897b79ef4a7476d77e7..63e21c4c796b6c2495f18daaeb66444a572752b9 100644 --- a/Assets/Scripts/Player/Weapons/PlayerSwordAnimation.cs +++ b/Assets/Scripts/Player/Weapons/PlayerSwordAnimation.cs @@ -7,6 +7,13 @@ public class PlayerSwordAnimation : MonoBehaviour [SerializeField] private GameObject sword; + private Animator animator; + + private void Awake() + { + this.animator = sword.GetComponent<Animator>(); + } + // Start is called before the first frame update void Start() { @@ -24,8 +31,8 @@ public class PlayerSwordAnimation : MonoBehaviour IEnumerator SwordSwinging() { - sword.GetComponent<Animator>().Play("SwordSwing"); + this.animator.Play("SwordSwing"); yield return new WaitForSeconds(1.0f); - sword.GetComponent<Animator>().Play("Idle"); + this.animator.Play("Idle"); } } diff --git a/Assets/Scripts/SaveLoad/SaveLoadManager.cs b/Assets/Scripts/SaveLoad/SaveLoadManager.cs index ea37197a8b449436e86c50ced57a66da05b0d4a4..0814fb6f8348d78ad0adbc01fad2d18a82e1f865 100644 --- a/Assets/Scripts/SaveLoad/SaveLoadManager.cs +++ b/Assets/Scripts/SaveLoad/SaveLoadManager.cs @@ -49,8 +49,8 @@ public class SaveLoadManager : MonoBehaviour { var state = GlobalStateManager.Instance.GetState(); state.metaStateSave.name = name; - var json = JsonUtility.ToJson(state); + var json = JsonUtility.ToJson(state); var file = SaveLoadConfig.files[Id]; var path = Application.persistentDataPath + "/" + file + ".json"; File.WriteAllText(path, json); diff --git a/Assets/Scripts/States/GlobalStateManager.cs b/Assets/Scripts/States/GlobalStateManager.cs index 278ee8af5078cc313b645356f1b43ebd50589a95..d8b5a4b5fd22f57035810af7b27764f32e3cd5e2 100644 --- a/Assets/Scripts/States/GlobalStateManager.cs +++ b/Assets/Scripts/States/GlobalStateManager.cs @@ -46,7 +46,7 @@ public class GlobalStateManager : MonoBehaviour { get { - return playerHealth.currentHealth; + return playerHealth.CurrentHealth; } } @@ -108,8 +108,13 @@ public class GlobalStateManager : MonoBehaviour public void SetState(StateSave state) { - Debug.Log("STATE: " + state); - playerHealth.currentHealth = state.playerStateSave.health; + // TODO: SET STATES + Debug.Log("STATE: " + state.ToString()); + + // TODO: set meta state save + + + playerHealth.CurrentHealth = state.playerStateSave.health; GameControl.control.currency = state.playerStateSave.money; } } diff --git a/Assets/Scripts/States/StateSave.cs b/Assets/Scripts/States/StateSave.cs index f9f3488b7a0e4ef57749a6acbd8e8bb697b614cd..a3335a3b555e562d9dd33b7004152416681c81f3 100644 --- a/Assets/Scripts/States/StateSave.cs +++ b/Assets/Scripts/States/StateSave.cs @@ -1,8 +1,11 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; +using UnityEngine; [Serializable] public class MetaStateSave @@ -22,6 +25,11 @@ public class MetaStateSave { this.updatedAt = DateTime.Now.ToString(SaveLoadConfig.dateTimeFormat); } + + public override string ToString() + { + return JsonConvert.SerializeObject(this); + } } [Serializable] @@ -37,6 +45,11 @@ public class PlayerStateSave this.health = health; this.idxQuest = idxQuest; } + + public override string ToString() + { + return JsonConvert.SerializeObject(this); + } } [Serializable] @@ -50,6 +63,11 @@ public class PetStateSave this.health = health; this.idxCurrentPet = idxCurrentPet; } + + public override string ToString() + { + return JsonConvert.SerializeObject(this); + } } [Serializable] @@ -61,6 +79,11 @@ public class GlobalStateSave { this.timePlayed = timePlayed; } + + public override string ToString() + { + return JsonConvert.SerializeObject(this); + } } [Serializable] @@ -78,4 +101,9 @@ public class StateSave this.petStateSave = petStateSave; this.globalStateSave = globalStateSave; } + + public override string ToString() + { + return JsonConvert.SerializeObject(this); + } }