diff --git a/Assets/Scripts/DataPersistance/Data/GameData.cs b/Assets/Scripts/DataPersistance/Data/GameData.cs index 6edb16289057da9aa6644f8c8cfe3bf9855412d8..c833c36ffcdb9de4b835646f9602b5ab99e9e106 100644 --- a/Assets/Scripts/DataPersistance/Data/GameData.cs +++ b/Assets/Scripts/DataPersistance/Data/GameData.cs @@ -10,6 +10,7 @@ public class GameData public int playerHealth; public Vector3 playerPosition; public int balance; + public int level; public float damagePercent; @@ -34,7 +35,7 @@ public class GameData this.damagePercent = 1; this.playerPosition = Vector3.zero; this.balance = 0; - + this.level = 0; this.healingPetHealths = new List<int>(); diff --git a/Assets/Scripts/Managers/LevelManager.cs b/Assets/Scripts/Managers/LevelManager.cs index 4ea5f0aac19dd395f859e7fd9deae1dd35f0e2f6..0628783e186643f94e0d2f3d380802105c21ae2e 100644 --- a/Assets/Scripts/Managers/LevelManager.cs +++ b/Assets/Scripts/Managers/LevelManager.cs @@ -5,11 +5,11 @@ using UnityEngine.UI; namespace Nightmare { - public class LevelManager : MonoBehaviour + public class LevelManager : MonoBehaviour, IDataPersistance { public string[] levels; - private int currentLevel = 0; + private int currentLevel; private Scene currentScene; private PlayerMovement playerMove; private Vector3 playerRespawn; @@ -27,8 +27,7 @@ namespace Nightmare void Start() { cinema = FindObjectOfType<CinematicController>(); - SceneManager.LoadSceneAsync(levels[0], LoadSceneMode.Additive); - playerMove = FindObjectOfType<PlayerMovement>(); + // SceneManager.LoadSceneAsync(levels[this.currentLevel], LoadSceneMode.Additive); playerMove = FindObjectOfType<PlayerMovement>(); playerRespawn = playerMove.transform.position; } @@ -63,7 +62,7 @@ namespace Nightmare Debug.Log("Setting " + TimerTextComp.gameObject.name + " to inactive."); QuestTextComp.gameObject.SetActive(false); Debug.Log("Setting " + QuestTextComp.gameObject.name + " to inactive."); - } + } else { TimerTextComp.gameObject.SetActive(true); @@ -125,5 +124,15 @@ namespace Nightmare { return currentLevel; } + public void LoadData(GameData data) + { + this.currentLevel = data.level; + SceneManager.LoadSceneAsync(levels[this.currentLevel], LoadSceneMode.Additive); + } + + public void SaveData(ref GameData data) + { + data.level = this.currentLevel + 1; + } } } \ No newline at end of file