Пример #1
0
    // 显示确认框,有确定和取消,默认显示半透明背景,并且点击不可取消界面
    public static void ShowConfirm(string text, string textTitle, System.Action okCallback, System.Action cancelCallback = null, bool clickToHide = false, bool showBackground = true)
    {
        MsgBoxParam param = new MsgBoxParam();

        param.text             = text;
        param.textTitle        = textTitle;
        param.okCallback       = okCallback;
        param.cancelCallback   = cancelCallback;
        param.clickToHide      = clickToHide;
        param.showBackground   = showBackground;
        param.showCancelButton = true;

        ShowMsgBox(param);
    }
Пример #2
0
    private void OnShowMsgBox(MsgBoxParam param)
    {
        // 标题
        if (string.IsNullOrEmpty(param.textTitle))
        {
            _txtTitle.gameObject.SetActive(false);
        }
        else
        {
            _txtTitle.gameObject.SetActive(true);
            _txtTitle.text = param.textTitle;
        }

        _txtText.text = param.text;

        // 按钮文字
        if (!string.IsNullOrEmpty(param.textOK))
        {
            _txtOK.text = param.textOK;
        }

        if (!string.IsNullOrEmpty(param.textCancel))
        {
            _txtCancel.text = param.textCancel;
        }

        _btnOK.gameObject.SetActive(true);

        if (param.showCancelButton)
        {
            // 有确定和取消
            _btnCancel.gameObject.SetActive(true);
            _btnOK.transform.localPosition = _okPosition;
        }
        else
        {
            // 只有一个ok按钮
            _btnCancel.gameObject.SetActive(false);

            Vector3 pos = _btnOK.transform.localPosition;
            pos.x = 0;
            _btnOK.transform.localPosition = pos;
        }

        _onClickOKCallback     = param.okCallback;
        _okClickCancelCallback = param.cancelCallback;

        if (param.clickToHide)
        {
            BackgroundEvent = ClickEvent.CLICK_TO_CLOSE;
        }
        else
        {
            BackgroundEvent = ClickEvent.INTERCEPT_EVENT;
        }

        if (!param.showBackground)
        {
            SetBackgroundOpacity(0);
        }
        else
        {
            SetBackgroundOpacity(BackgroundColor.a);
        }

        Show();
        PlayOpenAnimation();
    }
Пример #3
0
 public override void OnBindData(params object[] param)
 {
     _param = (MsgBoxParam)param[0];
 }
Пример #4
0
 public static void ShowMsgBox(MsgBoxParam param)
 {
     UIManager.Instance.OpenWindow <UIMsgBoxView>(param);
 }