示例#1
0
    public override void InitSystem()
    {
        base.InitSystem();

        dialogDic.Clear();
        for (int i = 0, max = dialogList.Count; i < max; i++)
        {
            Define.DialogType type = dialogList[i].GetDialogType();
            if (!dialogDic.ContainsKey(type))
            {
                dialogDic.Add(type, dialogList[i]);
                dialogList[i].Init();
            }
            else
            {
                Debug.Log("something is wrong");
            }
        }

        DataManager.GetInstance().SetCoinUICallback(UpdateCoin);

        UpdateAllNews();

        DataManager.GetInstance().SetAdoptPetCallback(UpdatePetTower);
    }
示例#2
0
    public static void CloseDialog(Define.DialogType dialogType, System.Action callback = null)
    {
        if (instance.dialogDic.ContainsKey(dialogType))
        {
            instance.JustCloseDialog(dialogType, () =>
            {
                openDialogStack.Pop();
                nowOpenDialog = openDialogStack.Peek();

                if (nowOpenDialog != Define.DialogType.None)
                {
                    instance.JustOpenDialog(nowOpenDialog, null);
                }
                else
                {
                    instance.dialogBlinder.SetActive(false);
                }

                if (callback != null)
                {
                    callback();
                }
            });
        }
    }
示例#3
0
 public static void OpenDialog(Define.DialogType dialogType, System.Action callback = null)
 {
     if (instance.dialogDic.ContainsKey(dialogType))
     {
         if (nowOpenDialog != Define.DialogType.None)
         {
             instance.JustCloseDialog(nowOpenDialog, () =>
             {
                 instance.JustOpenDialog(dialogType, () =>
                 {
                     if (callback != null)
                     {
                         callback();
                     }
                     openDialogStack.Push(dialogType);
                     nowOpenDialog = dialogType;
                 });
             });
         }
         else
         {
             instance.JustOpenDialog(dialogType, () =>
             {
                 if (callback != null)
                 {
                     callback();
                 }
                 openDialogStack.Push(dialogType);
                 nowOpenDialog = dialogType;
             });
         }
     }
 }
示例#4
0
 private void JustCloseDialog(Define.DialogType dialogType, System.Action callback)
 {
     if (dialogDic.ContainsKey(dialogType))
     {
         SoundManager.GetInstance().PlaySound(Define.SoundType.HideDialog);
         dialogDic[dialogType].CloseDialog(() =>
         {
             if (callback != null)
             {
                 callback();
             }
         });
     }
 }
示例#5
0
    private void JustOpenDialog(Define.DialogType dialogType, System.Action callback)
    {
        if (dialogDic.ContainsKey(dialogType))
        {
            SoundManager.GetInstance().PlaySound(Define.SoundType.ShowDialog);

            dialogBlinder.SetActive(true);
            dialogDic[dialogType].OpenDialog(() =>
            {
                if (callback != null)
                {
                    callback();
                }
            });
        }
    }
示例#6
0
    public override void InitSystem()
    {
        base.InitSystem();

        for (int i = 0, max = dialogList.Count; i < max; i++)
        {
            Define.DialogType type = dialogList[i].GetDialogType();
            if (!dialogDic.ContainsKey(type))
            {
                dialogDic.Add(type, dialogList[i]);
                dialogList[i].Init();
            }
            else
            {
                Debug.Log("something is wrong");
            }
        }
    }