/// <summary> /// ダイアログを表示する /// </summary> public IEnumerator DialogShow(DialogSelector.DialogType type, DialogData data = null) { DialogBase dialog = dialogSelector.GetDialog(type); Debug.Log("ダイアログ = " + dialog); if (dialog != null) { //ダイアログがひとつも表示されていなければ背景を表示する if (showDialogList.Count == 0) { backgroundObject.SetActive(true); } //対象ダイアログを生成 DialogBase targetDialog = DialogBase.Instantiate <DialogBase>(dialog); targetDialog.transform.SetParent(contentArea.transform, false); showDialogList.Add(targetDialog); //ダイアログ表示開始 yield return(targetDialog.Show(data)); //表示が終わったらダイアログを破棄 showDialogList.Remove(targetDialog); Destroy(targetDialog.gameObject); if (showDialogList.Count == 0) { backgroundObject.SetActive(false); } } }