Пример #1
0
    private IEnumerator StartUIHandle()
    {
        while (GameTasks.Count > 0)
        {
            IGameTask task = GameTasks.Dequeue();

            StartCoroutine(task.Action());
            LoadingInfo.text = Descriptions.Dequeue();

            while (!task.IsDone || task.Progress != ProgressBar.Value)
            {
                ProgressBar.Value
                    = Mathf.MoveTowards(ProgressBar.Value, task.Progress, Time.deltaTime);
                yield return(null);
            }
            ProgressBar.Value = 0;
        }
        Panel.SetActive(false);
        yield break;
    }
Пример #2
0
 public void Add(IGameTask task, string description = "")
 {
     GameTasks.Enqueue(task);
     Descriptions.Enqueue(description);
 }