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); }
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(); } }); } }
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; }); } } }
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(); } }); } }
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(); } }); } }
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"); } } }