using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
namespace TON
{
public class JSONLoader : MonoBehaviour
{
private const string DATA_PATH = "GameData/";
/// Resources 폴더에서 JSON 파일을 읽어 특정 데이터 타입으로 변환하는 함수
public static T LoadFromResources(string fileName)
{
string path = DATA_PATH + $"{fileName}";
TextAsset jsonFile = Resources.Load(path);
if (jsonFile != null)
{
return JsonUtility.FromJson(jsonFile.text);
}
else
{
Debug.LogError($"JSON 파일을 찾을 수 없습니다: {fileName}");
return default; // 기본값 반환
}
}
/// Application.persistentDataPath에서 JSON 파일을 읽어 특정 데이터 타입으로 변환하는 함수
public static T LoadFromFile(string filePath)
{
if (File.Exists(filePath))
{
string json = File.ReadAllText(filePath);
return JsonUtility.FromJson(json);
}
else
{
Debug.LogError($"파일을 찾을 수 없습니다: {filePath}");
return default;
}
}
/// 특정 데이터를 JSON 형식으로 저장하는 함수
public static void SaveToFile(T data, string filePath)
{
string json = JsonUtility.ToJson(data, true);
File.WriteAllText(filePath, json);
Debug.Log($"데이터 저장 완료: {filePath}");
}
}
}