Im using number sprites to display the ingame score but when the player scores above 10 or a hundred
the sprite stays stuck at the previous score value only the unit value sprite resets back to 0 even though the actual score resets the sprites do not reset.
public class ScoreManagerScript : MonoBehaviour
{
public static int Score { get; set; }
void Awake()
{
(Tens.gameObject as GameObject).SetActive(false);
(Hundreds.gameObject as GameObject).SetActive(false);
}
void Update()
{
if (previousScore != Score)
{
if (Score < 10)
{
Units.sprite = numberSprites[Score];
}
else if (Score >= 10 && Score < 100)
{
(Tens.gameObject as GameObject).SetActive(true);
Tens.sprite = numberSprites[Score / 10];
Units.sprite = numberSprites[Score % 10];
}
else if (Score >= 100)
{
(Hundreds.gameObject as GameObject).SetActive(true);
Hundreds.sprite = numberSprites[Score / 100];
int rest = Score % 100;
Tens.sprite = numberSprites[rest / 10];
Units.sprite = numberSprites[rest % 10];
}
}
}
int previousScore = -1;
public Sprite[] numberSprites;
public SpriteRenderer Units, Tens, Hundreds;
}