using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; using UnityEngine.UI; public class TopologyAnimCtrl : MonoBehaviour { public Image[] left1Img; public Text[] left1Txt; public int left1num1 = 0; public int left1num2 = 0; public int left1num3 = 0; public Image[] left2Img; public Text[] left2Txt; public int left2num1 = 0; public int left2num2 = 0; public int left2num3 = 0; public int left2num4 = 0; public int left2num5 = 0; public Image[] left3Img; public Image right1Img; public Text[] right1Txt; public float right1num1 = 0; public float right1num2 = 0; public float right1num3 = 0; public float right1num4 = 0; public Image[] right2Img; public void InitAni() { for (int i = 0; i < left1Img.Length; i++) { left1Img[i].fillAmount = 0; } left2Img[0].fillAmount = 0; left2Img[1].fillAmount = 0; left2Img[2].fillAmount = 0; for (int i = 0; i < left3Img.Length; i++) { left3Img[i].fillAmount = 0; } for (int i = 0; i < right2Img.Length; i++) { right2Img[i].fillAmount = 0; } left1num1 = 0; left1num2 = 0; left1num3 = 0; for (int i = 0; i < left1Txt.Length; i++) { left1Txt[i].text = "0"; } left2num1 = 0; left2num2 = 0; left2num3 = 0; left2num4 = 0; left2num4 = 0; for (int i = 0; i < left2Txt.Length; i++) { left2Txt[i].text = "0"; } right1Img.fillAmount = 0; right1num1 = 0.0f; right1num2 = 0.0f; right1num3 = 0.0f; right1num4 = 0.0f; for (int i = 0; i < right1Txt.Length; i++) { right1Txt[i].text = "0"; } } public void PlayAni() { for (int i = 0; i < left1Img.Length; i++) { left1Img[i].DOFillAmount(0.5f, 2f); } left2Img[0].DOFillAmount(0.5f, 1f).OnComplete(()=> { left2Img[1].DOFillAmount(0.25f, 1.0f).OnComplete(() => { left2Img[2].DOFillAmount(0.25f, 1.0f); }); }); left3Img[0].DOFillAmount(0.646f, 1f).OnComplete(() => { left3Img[1].DOFillAmount(0.185f, 1f); }); left3Img[2].DOFillAmount(0.469f, 1f).OnComplete(() => { left3Img[3].DOFillAmount(0.736f, 1f); }); left3Img[4].DOFillAmount(0.476f, 1f).OnComplete(() => { left3Img[5].DOFillAmount(0.736f, 1f); }); left3Img[6].DOFillAmount(0.666f, 1f).OnComplete(() => { left3Img[7].DOFillAmount(0.504f, 1f); }); left3Img[8].DOFillAmount(0.489f, 1f).OnComplete(() => { left3Img[9].DOFillAmount(0.111f, 1f); }); right1Img.DOFillAmount(0.506f, 2f); right2Img[0].DOFillAmount(0.344f, 2f); right2Img[1].DOFillAmount(0.486f, 2f); right2Img[2].DOFillAmount(0.618f, 2f); right2Img[3].DOFillAmount(0.509f, 2f); right2Img[4].DOFillAmount(0.63f, 2f); right2Img[5].DOFillAmount(0.306f, 2f); StartCoroutine(left1TxtRise()); StartCoroutine(left2TxtRise()); StartCoroutine(right1TxtRise()); } IEnumerator left1TxtRise() { while (left1num1 < 88 || left1num2 < 88 || left1num3 < 176) { yield return new WaitForSeconds(0.05f); if (left1num1 < 88) left1num1 += 2; if (left1num2 < 88) left1num2 += 2; if (left1num3 < 176) left1num3 += 4; left1Txt[0].text = left1num1.ToString(); left1Txt[1].text = left1num2.ToString(); left1Txt[2].text = left1num3.ToString(); } } IEnumerator left2TxtRise() { while (left2num1 < 704 || left2num2 < 14 || left2num3 < 22 || left2num4 < 8 || left2num5 < 748) { yield return new WaitForSeconds(0.1f); if (left2num1 < 704) left2num1+= 50; if (left2num1 >= 704) left2num1 = 704; if (left2num2 < 28) left2num2++; if (left2num3 < 56) left2num3++; if (left2num4 < 8) left2num4++; if (left2num5 < 748) left2num5+= 25; if (left2num5 >= 748) left2num5 = 748; left2Txt[0].text = left2num1.ToString(); left2Txt[1].text = left2num2.ToString(); left2Txt[2].text = left2num3.ToString(); left2Txt[3].text = left2num4.ToString(); left2Txt[4].text = left2num5.ToString(); } } IEnumerator right1TxtRise() { while (right1num1 < 107 || right1num2 < 66 || right1num3 < 174 || right1num4 < 162) { yield return new WaitForSeconds(0.05f); if (right1num1 < 107) right1num1 += 3; if (right1num1 >= 107) right1num1 = 107.77f; if (right1num2 < 66) right1num2 += 2; if (right1num2 >= 66) right1num2 = 66.67f; if (right1num3 < 174) right1num3 += 4; if (right1num3 >= 174) right1num3 = 174.44f; if (right1num4 < 162) right1num4 += 4; if (right1num4 >= 162) right1num4 = 162f; right1Txt[0].text = right1num1.ToString(); right1Txt[1].text = right1num2.ToString(); right1Txt[2].text = right1num3.ToString(); right1Txt[3].text = (right1num4 * 0.01f).ToString(); } } }