private bool AddChildDialog(DialogUtility.DialogInfo info) { var dialogObj = InstantiateDialog(info); if (dialogObj == null) { Debug.Assert(false, "DialogManager.CreateDialog : type = " + info.DialogType); return(false); } if (_dialogParent == null) { Debug.Assert(false, "DialogManager.CreateDialog : _dialogParent = null"); return(false); } // parent設定 dialogObj.SetActive(true); dialogObj.transform.SetParent(_dialogParent.transform, false); _createDialogList.Add(dialogObj); // ダイアログ初期化 var dialogBaseScript = dialogObj.DescendantsAndSelf().OfComponent <DialogBase>().FirstOrDefault(); dialogBaseScript.Init(info); return(true); }
private bool CreateDialogCore(DialogUtility.DialogInfo info) { if (AddChildDialog(info) == false) { return(false); } // モーダル更新 UpdateDialogModalEnable(); return(true); }
private GameObject InstantiateDialog(DialogUtility.DialogInfo info) { var filePath = string.Empty; { switch (info.DialogType) { case DialogUtility.DialogType.MessageDialog: filePath = "Prefabs/Dialog/OkCancelDialog"; break; } } var dialogObj = ResourceManager.LoadAndInstantiate(filePath); return(dialogObj); }
public bool CreateDialog(DialogUtility.DialogInfo dialogInfo) { // 一番手前に表示されてたら作成不要 { if (0 < _createDialogList.Count) { var dialogObj = _createDialogList[_createDialogList.Count - 1]; var dialogBaseScript = dialogObj.DescendantsAndSelf().OfComponent <DialogBase>().FirstOrDefault(); var dialogType = dialogBaseScript.GetDialogType(); if (dialogType == dialogInfo.DialogType) { return(false); } } } return(CreateDialogCore(dialogInfo)); }
public virtual void Init(DialogUtility.DialogInfo info) { if (ModalImage != null) { ModalImage.color = new Color(0, 0, 0, DialogManager.Instance.GetModalTargetAlpha()); // canvas group { if (ModalImage.gameObject.GetComponent <CanvasGroup>() == null) { ModalImage.gameObject.AddComponent <CanvasGroup>(); } ModalImage.GetComponent <CanvasGroup>().ignoreParentGroups = true; } } DialogInfo = info; InitCore(); FrameIn(); }