using UnityEngine;
public class JsonController : MonoBehaviour
{
public GameObject shelf;
private void Start()
{
LoadShelf();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse0)) SaveShelf();
if (Input.GetKeyDown(KeyCode.Mouse1)) LoadShelf();
}
private void SaveShelf()
{
ShelfWillSave data = new ShelfWillSave();
// localPosition yerine dünya pozisyonunu (position) alıyoruz
data.x = shelf.transform.position.x;
data.y = shelf.transform.position.y;
data.z = shelf.transform.position.z;
string json = JsonUtility.ToJson(data);
PlayerPrefs.SetString("ShelfSave", json);
PlayerPrefs.Save();
Debug.Log("Kaydedilen Veri: " + json);
}
private void LoadShelf()
{
if (PlayerPrefs.HasKey("ShelfSave"))
{
string json = PlayerPrefs.GetString("ShelfSave");
ShelfWillSave data = JsonUtility.FromJson<ShelfWillSave>(json);
// Veriyi geri yüklerken dünya pozisyonuna eşitliyoruz
shelf.transform.position = new Vector3(data.x, data.y, data.z);
Debug.Log("Yüklendi: " + shelf.transform.position);
}
}
}
[System.Serializable]
public class ShelfWillSave
{
// Vector2 yerine tekil floatlar kullanmak en garantisidir
public float x;
public float y;
public float z;
}