public void SaveData()
{
string data = JsonUtility.ToJson(playerData,true);
path = Path.Combine(Application.dataPath,playerData.name +"JSon");
File.WriteAllText(path, data);
}
public void LoadData()
{
string data = File.ReadAllText(path);
playerData = JsonUtility.FromJson<PlayerData>(data);
}
저장,로드씬하는 dataManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using System.IO;
using UnityEngine.UI;
public class DataManager : MonoBehaviour
{
public class PlayerData
{
public string name;
}
public static DataManager instance;
public int CurrentIndex;
public PlayerData playerData = new PlayerData();
string path;
public Text playerName;
private void Awake()
{
if(instance == null)
{
instance = this;
}
else
{
Destroy(gameObject);
}
DontDestroyOnLoad(gameObject);
}
public void SaveData()
{
string data = JsonUtility.ToJson(playerData,true);
path = Path.Combine(Application.dataPath,playerData.name +"JSon");
File.WriteAllText(path, data);
}
public void LoadData()
{
string data = File.ReadAllText(path);
playerData = JsonUtility.FromJson<PlayerData>(data);
}
public void LoadSceneMainScene()
{
playerData.name = playerName.text;
SceneManager.LoadScene("MainScene");
Debug.Log(playerName.text);
}
}
[System.Serializable]
public class UserData
{
public string Name;
public int Balance;
public int Cash;
public UserData(string name,int balance,int cash)
{
Name = name;
Balance = balance;
Cash = cash;
}
[GameManager.cs] 에다가 UserData.cs을 붙여준다.
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
public UserData User;
private void Awake()
{
if(Instance == null)
Instance = this;
else
Destroy(gameObject);
}
UI를 관리하는 [PopUpBank.cs]에서 gamaManager을 통해 UserData값을 가져온다.
public class PopUpBank : MonoBehaviour
{
[SerializeField] private Text userName;
[SerializeField] private Text balance;
[SerializeField] private Text cash;
[SerializeField] private GameObject popupError;
private void Start()
{
Refresh();
}
private void Refresh()
{
userName.text = GameManager.Instance.User.Name;
balance.text = GameManager.Instance.User.Balance.ToString();
cash.text = GameManager.Instance.User.Cash.ToString();
}
}