// Updates the display void Run() { // Score Cap if (Score > 9999999) { Score = 9999999; } string scoreString = Score.ToString(); // Display score for (int i = 0; i < scoreString.Length; i++) { // Set the value 1 number at a time. And only display the required numbers. (i.e 4000 won't be shown as 00004000) SpriteRenderer renderer = Numbers[Numbers.Length - scoreString.Length + i].GetComponent<SpriteRenderer>(); // Give a random offset, when we're using random colours we dont need the dash if (RandomColour) { Offset = ((scoreString.Length - i) % 4) * 10; } // If you want the dash add it if (!IgnDash) { Dash.GetComponent<SpriteRenderer>().sprite = DashSprites[Offset / 10]; } // Get the matching letters and - to the player so they all have the same colour. // Sprites(0-9 Blue 10-19 Green 20-21 Purple 30-31 Yellow) renderer.sprite = Sprites[Offset + int.Parse(scoreString.Substring(i, 1))]; renderer.enabled = true; } // Hide the extra numbers 0030000 will be shown as 30000 for (int i = 0; i < Numbers.Length - scoreString.Length; i++) { Numbers[i].GetComponent<SpriteRenderer>().enabled = false; } }