public static void SaveLevelScoreToCache(Level LevelWithScore, int ScoreToSave) { string Label = "P" + LevelWithScore.GetPrisonNumber() + "_" + "L" + LevelWithScore.GetLevelNumber() + "_" + "SC"; //Check if it exists int ScoreInCache = PlayerPrefs.GetInt(Label); // Only update the score if it's higher than what's in there if (ScoreInCache == 0 || ScoreInCache < ScoreToSave) { PlayerPrefs.SetInt(Label, ScoreToSave); } }
public static void TrackLevelProgress(Level LevelInProgress) { string Label = "P" + LevelInProgress.GetPrisonNumber() + "_" + "L" + LevelInProgress.GetLevelNumber(); int Progress = LevelInProgress.IsLevelCompleted() ? 1 : 0; PlayerPrefs.GetInt(Label); PlayerPrefs.SetInt(Label, Progress); }