So, here’s my code…
public void OnEnter()
{
anim.SetTrigger("fadOpagueInteractive");
animImageGameOver.SetTrigger("Entrance");
animScoreParent.SetTrigger("Entrance");
animToolbox.SetTrigger("ToolboxEntrance");
playLarry.LarryFallPrep();
if (PlayerPrefs.HasKey(highScoreSlot)) scoreBest = PlayerPrefs.GetFloat(highScoreSlot);
scoreBestDisplay.text = scoreBest.ToString();
StartCoroutine(CountUpScore());
adMob.ShowBanner();
GC.Inst.FadeToBlackTransp();
}
public void ScoreAtGameOver (int scoreFromGame)
{
score = scoreFromGame;
scoreCountUp = 0;
scoreDisplay.text = scoreCountUp.ToString();-
if (score > scoreBest)
{
scoreBest = score;
PlayerPrefs.SetFloat(highScoreSlot, score);
imageNewBG.SetActive(true);
partSysBestScore.Play();
aud.PlayOneShot(celebrate);
}
}
This last is triggered as the player comes out of the play state and enters the game over state (where the score is displayed, the player can choose to restart etc.)
Unfortunately, the device (A Samsung Tab-A) seems to record the score somewhat unreliably - it can keep the score for a week or so, then it suddenly seems to wipe the score between a couple of games in a row.
Is Playerprefs the wrong resource for this? Should I just go ahead and do some serialization?
Thanks in advance,
–Rev