예제 #1
0
    public static GameObject ShowInputDialog(string Content, string Title    = "Question", UiInputDialogButtonPress OnOkPress = null,
                                             UiDialogInputInterface OnSubmit = null)
    {
        GameObject Temp = Instantiate(Resources.Load("Prefabs/UiDialog")) as GameObject;

        Temp.GetComponent <UiDialog>().Init(Content, Title, UiDialogType.UI_DIALOG_INPUT, OnOkPress, null, OnSubmit);
        return(Temp);
    }
예제 #2
0
    public void Init(string Content, string Title, UiDialogType DialogType, UnityAction OnOkPress = null,
                     UnityAction OnCancelPress = null, UiDialogInputInterface OnSubmit = null)
    {
        if (DialogType == UiDialogType.UI_DIALOG_CONFIRM || DialogType == UiDialogType.UI_DIALOG_INPUT)
        {
            CancelButton.gameObject.SetActive(true);
        }
        OkButton.gameObject.SetActive(true);
        if (OnOkPress != null)
        {
            OkButton.onClick.AddListener(OnOkPress);
        }
        else
        {
            OkButton.onClick.AddListener(delegate { CloseDialog(); });
        }
        if (OnCancelPress != null)
        {
            CancelButton.onClick.AddListener(OnCancelPress);
        }
        else
        {
            CancelButton.onClick.AddListener(delegate { CloseDialog(); });
        }
        if (DialogType == UiDialogType.UI_DIALOG_INPUT)
        {
            DialogInputField.gameObject.SetActive(true);
            if (OnSubmit != null)
            {
                DialogInputField.onEndEdit.AddListener(delegate { OnSubmit.OnEndEdit(DialogInputField); });
            }
            else
            {
                DialogInputField.onEndEdit.AddListener(delegate { CloseDialog(); });
            }
        }

        RectTransform CanvasRect;

        //Make it show on top.
        CanvasRect = transform as RectTransform;
        CanvasRect.SetAsLastSibling();
        DialogTitle.text   = Title;
        DialogContent.text = Content;
    }