using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; namespace HyperspaceGame { public class Font : MonoBehaviour { public List sprites = new(); public List coms = new(); public List overScore = new(); public List Clips = new(); private int _num; private int bullet; public int Text { set { _num = value; UpdateNum(); UpdateNum1(); } } public int Clip { set { bullet = value; UpdateClip(); } get { return bullet; } } private void Start() { Text = 0; } public void UpdateNum() { string[] ss = DefinitionScore(_num); var nums = SplitDigits(ss); for (int i = 0; i < coms.Count; i++) { coms[i].sprite = sprites[nums[i]]; } } public void UpdateNum1() { string[] ss = DefinitionScore(_num, 3); var nums = SplitDigits(ss); for (int i = 0; i < overScore.Count; i++) { overScore[i].sprite = sprites[nums[i]]; } } public void UpdateClip() { //string[] ss = NumberBullets(bullet); //var nums = SplitDigits(ss); //for (int i = 0; i < Clips.Count; i++) //{ // Clips[i].sprite = sprites[nums[i]]; //} } public void ShowOverScore() { string[] ss = DefinitionScore(_num); var nums = SplitDigits(ss); for (int i = 0; i < coms.Count; i++) { coms[i].sprite = sprites[nums[i]]; } } public List SplitDigits(int num) { List nums = new(); while (num > 0) { int digit = num % 10; nums.Add(digit); num /= 10; } return nums; } public string[] NumberBullets(int num) { List nub = new(); string ss = string.Format("{0:D2}", num); for (int i = 0; i < ss.Length; i++) { nub.Add(ss.Substring(i, 1)); } return nub.ToArray(); } public string[] DefinitionScore(int num, int count = 5) { List nub = new(); string ss = ""; if (count == 5) ss = string.Format("{0:D5}", num); else if (count == 3) ss = string.Format("{0:D3}", num); for (int i = 0; i < ss.Length; i++) { nub.Add(ss.Substring(i, 1)); } return nub.ToArray(); } public List SplitDigits(string[] num) { List nums = new(); foreach (var item in num) { nums.Add(int.Parse(item)); } return nums; } } }