Font2.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class Font2 : MonoBehaviour
  6. {
  7. public List<Sprite> sprites = new();
  8. public List<Image> coms = new();
  9. private int _num;
  10. public int Text
  11. {
  12. set
  13. {
  14. _num = value;
  15. UpdateNum();
  16. }
  17. }
  18. public void UpdateNum()
  19. {
  20. string[] ss = DefinitionScore(_num);
  21. var nums = SplitDigits(ss);
  22. for (int i = 0; i < coms.Count; i++)
  23. {
  24. if (nums.Count <= i)
  25. coms[i].gameObject.SetActive(false);
  26. else
  27. {
  28. var value = nums[i];
  29. coms[i].sprite = sprites[value];
  30. coms[i].gameObject.SetActive(true);
  31. }
  32. }
  33. }
  34. public string[] DefinitionScore(int num)
  35. {
  36. List<string> nub = new();
  37. //string ss = string.Format("{0:D5}", num);
  38. string ss = num.ToString();
  39. for (int i = 0; i < ss.Length; i++)
  40. {
  41. nub.Add(ss.Substring(i, 1));
  42. }
  43. return nub.ToArray();
  44. }
  45. public List<int> SplitDigits(string[] num)
  46. {
  47. List<int> nums = new();
  48. foreach (var item in num)
  49. {
  50. nums.Add(int.Parse(item));
  51. }
  52. return nums;
  53. }
  54. }