public void ShowProgress(AskFinishCallback Finish, AskProgressCallback Callback = null) { if (UpdateProgressCoroutine != null) { StopCoroutine(UpdateProgressCoroutine); } UpdateProgressCoroutine = StartCoroutine(UpdateProgress(Finish, Callback)); }
IEnumerator UpdateProgress(AskFinishCallback Finish, AskProgressCallback Callback) { Canvas.SetActive(true); while (!Finish()) { if (Callback != null) { Percent = Callback(); } ProgressSlider.value = Percent; ProgressText.text = (Percent * 100).ToString("f2") + "%"; yield return(null); } Canvas.SetActive(false); }