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++) { if (nums.Count > i) { overScore[i].sprite = sprites[nums[i]]; overScore[i].gameObject.SetActive(true); } else overScore[i].gameObject.SetActive(false); } } 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; } } }