SaveManager.cs
using Sandbox;
public class PlayerSaveData
{
public int HighScore { get; set; } = 0;
public int TotalPushes { get; set; } = 0;
}
public static class SaveManager
{
private const string SaveFileName = "player_save.json";
public static PlayerSaveData Current { get; private set; } = new();
// Загрузка сохраненных данных
public static void Load()
{
if ( FileSystem.Data.FileExists( SaveFileName ) )
{
Current = FileSystem.Data.ReadJson<PlayerSaveData>( SaveFileName ) ?? new PlayerSaveData();
}
else
{
Current = new PlayerSaveData();
Save();
}
}
// Сохранение данных на диск
public static void Save()
{
FileSystem.Data.WriteJson( SaveFileName, Current );
}
// Проверка и запись нового рекорда
public static void TryUpdateHighScore( int currentScore )
{
if ( currentScore > Current.HighScore )
{
Current.HighScore = currentScore;
Save();
}
}
}