using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using DG.Tweening; public class LoadingObject : MonoBehaviour { public Animator anim; public Text LoadingText; public GameObject AnimationParent; public GameObject Meat; public GameObject Agumon; Vector3 defaultAgumonPos = new Vector3(250, 0 ,0); public float speed = 700f; public IEnumerator StartLoading(string DefaultString) { this.transform.parent.gameObject.SetActive(true); this.gameObject.SetActive(true); anim.SetInteger("Close", 0); LoadingText.gameObject.SetActive(true); yield return new WaitWhile(() => !this.gameObject.activeSelf || !this.transform.parent.gameObject.activeSelf); if(ContinuousController.instance != null) { ContinuousController.instance.StartCoroutine(SetLoadingText(DefaultString)); } else { StartCoroutine(SetLoadingText(DefaultString)); } if (AnimationParent.activeSelf) { Agumon.transform.localPosition = defaultAgumonPos; moveAgumonCoroutine = StartCoroutine(moveAgumonIEnumerator()); } } Coroutine moveAgumonCoroutine = null; IEnumerator SetLoadingText(string DefaultString) { float waitTime = 0.18f; int count = 0; while(true) { count++; if(count >= 4) { count = 0; } LoadingText.text = DefaultString; for(int i=0;i end = true); sequence.Play(); yield return new WaitWhile(() => !end); end = false; } anim.SetInteger("Close", 1); LoadingText.gameObject.SetActive(false); yield return new WaitWhile(() => this.gameObject.activeSelf); if (AnimationParent.activeSelf) { Agumon.transform.localPosition = defaultAgumonPos; } } public void Off() { this.gameObject.SetActive(false); } }