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();
		}
	}
}