Quantcast
Channel: Questions in topic: "javascript"
Viewing all articles
Browse latest Browse all 68

How do i load my game data after being saved using Json

$
0
0
Hi Im new to unity. I am trying to save and load player data through JSON. My save method is working but I'm not able to load the saved data back. Here is my code using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; [System.Serializable] public class PlayerData { [Header("Player Data")] public string username; public string email; } public class DataManager : MonoBehaviour { private static DataManager instance; [SerializeField] private PlayerData playerData; public static PlayerData PlayerData { get { return instance.playerData; } } private string jsonData; private bool isPlaying; void OnEnable() { } void OnDisable() { } void Awake() { if (!instance) { instance = this; } else { Destroy(this.gameObject); } DontDestroyOnLoad(this.gameObject); } private void Start() { isPlaying = true; ReadJsonData(); } private void ReadJsonData(){ //TextAsset textAsset = Resources.Load ("PlayerData") as TextAsset; //path = Application.persistentDataPath + "/PotionData.json"; instance.jsonData = File.ReadAllText(Application.persistentDataPath + "/PotionData.json"); instance.playerData = JsonUtility.FromJson (instance.jsonData); Debug.Log(playerData.email); } public static void WriteJson(){ if (instance.isPlaying) { //string filePath = Path.Combine(Application.persistentDataPath + "/PotionData.json"); instance.jsonData = JsonUtility.ToJson (instance.playerData); //File.WriteAllText ("Assets/Resources/PlayerData.txt", instance.jsonData); File.WriteAllText (Application.persistentDataPath + "/PotionData.json", instance.jsonData); Debug.Log ("JSON data overwritten successfully"); Debug.Log (instance.jsonData); }else{ Debug.LogError ("JSON data overwrite only on play mode!"); } } public void Load() { ReadJsonData(); } } public enum SceneType {MainScene = 0, GameScene = 1} Then I tried something other than that. but in this new code my Save data method works in unity editor but not working in build. In this new code data is not saved and loaded also. Below is the code using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; [System.Serializable] public class PlayerData { [Header("Player Data")] public string username; public string email; } public class DataManager : MonoBehaviour { private static DataManager instance; [SerializeField] private PlayerData playerData; public static PlayerData PlayerData { get { return instance.playerData; } } private string jsonData; private bool isPlaying; void OnEnable() { } void OnDisable() { } void Awake() { if (!instance) { instance = this; } else { Destroy(this.gameObject); } DontDestroyOnLoad(this.gameObject); } private void Start() { isPlaying = true; ReadJsonData(); } private void ReadJsonData(){ TextAsset textAsset = Resources.Load ("PlayerData") as TextAsset; playerData = JsonUtility.FromJson (textAsset.text); Debug.Log(playerData.email); } public static void WriteJson(){ if (instance.isPlaying) { instance.jsonData = JsonUtility.ToJson (instance.playerData); File.WriteAllText ("Assets/Resources/PlayerData.txt", instance.jsonData); Debug.Log ("JSON data overwritten successfully"); Debug.Log (instance.jsonData); }else{ Debug.LogError ("JSON data overwrite only on play mode!"); } } } public enum SceneType {Main = 0, Game = 1}

Viewing all articles
Browse latest Browse all 68

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>