chip-game/Assets/Scripts/ConfigManager.cs

47 lines
1.5 KiB
C#

using Newtonsoft.Json;
using System.IO;
using UnityEngine;
public static class ConfigManager
{
public static string configPath => Path.Combine(Application.persistentDataPath, "Config.rr");
public static Config Config { get; private set; }
public static void Initialize()
{
Config = LoadConfiguration(configPath);
}
private static Config LoadConfiguration(string path)
{
try
{
if (File.Exists(path))
{
string jsonContent = File.ReadAllText(path);
Config config = JsonConvert.DeserializeObject<Config>(jsonContent);
if (config != null)
{
Debug.Log("Конфигурация успешно загружена");
return config;
}
else
{
Debug.LogWarning("Файл конфигурации пуст, создаем новую конфигурацию");
return new Config();
}
}
else
{
Debug.LogWarning($"Файл конфигурации не найден по пути: {path}, создаем новую конфигурацию");
return new Config();
}
}
catch (System.Exception e)
{
Debug.LogError($"Ошибка при загрузке конфигурации: {e.Message}");
return new Config();
}
}
}