Example #1
0
 void CheckAndShow()
 {
     if (currentDialog == null && listDialog.Count > 0)
     {
         currentDialog = listDialog[0];
         currentDialog.ShowDialog();
         currentDialog.onDestroy = () =>
         {
             listDialog.RemoveAt(0);
             currentDialog = null;
             //Show Hide Animation
             Invoke("CheckAndShow", 0.3f);
         };
     }
 }
Example #2
0
        IEnumerator _ShowDialog(IDialogData dialog)
        {
            //Chờ chờ chuyển cảnh xong và ổn định mới hiện dialog phần thưởng.
            if (dialog is DialogPromotion)
            {
                yield return(new WaitForSeconds(1.5f));
            }

            if (dialog.IsMessageDialog == false)
            {
                dialog.ShowDialog();
            }
            else if (!ContainDialog(dialog))
            {
                listDialog.Add(dialog);
                while (PuApp.Instance.changingScene)
                {
                    yield return(new WaitForEndOfFrame());
                }
                CheckAndShow();
            }
        }