| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using TMPro;
- using UnityEngine;
- using UnityEngine.UI;
- namespace HyperspaceGame
- {
- public class Font : MonoBehaviour
- {
- public List<Sprite> sprites = new();
- public List<Image> coms = new();
- public List<Image> overScore = new();
- public List<Image> 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<int> SplitDigits(int num)
- //{
- // List<int> nums = new();
- // while (num > 0)
- // {
- // int digit = num % 10;
- // nums.Add(digit);
- // num /= 10;
- // }
- // return nums;
- //}
- //public string[] NumberBullets(int num)
- //{
- // List<string> 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<string> 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<int> SplitDigits(string[] num)
- {
- List<int> nums = new();
- foreach (var item in num)
- {
- nums.Add(int.Parse(item));
- }
- return nums;
- }
- }
- }
|