public IEnumerator ShowConfirmPanel(string content, string cancelText, Action cancelAction, string okText, Action okAction, bool cancelClose = true, bool okClose = true) { m_ConfirmPanel.SetActive(false); m_ConfirmResult = ConfirmResultType.None; bool hasCancelBtn = true; if (string.IsNullOrEmpty(cancelText) || cancelAction == null) { hasCancelBtn = false; m_CancelButton.gameObject.SetActive(false); } else { m_CancelButton.gameObject.SetActive(true); } bool hasOkBtn = true; if (string.IsNullOrEmpty(okText) || okAction == null) { hasOkBtn = false; m_OkButton.gameObject.SetActive(false); } else { m_OkButton.gameObject.SetActive(true); } if (hasCancelBtn && hasOkBtn) { m_CancelButton.transform.localPosition = new Vector3(-128.7f, -116.9f, 0); m_OkButton.transform.localPosition = new Vector3(128.7f, -116.9f, 0); } else { m_CancelButton.transform.localPosition = new Vector3(0, -116.9f, 0); m_OkButton.transform.localPosition = new Vector3(0, -116.9f, 0); } m_CancelButtonText.text = cancelText; m_OkButtonText.text = okText; m_ConfirmPanelContent.text = content == null ? "" : content; m_CancelButton.onClick.RemoveAllListeners(); m_OkButton.onClick.RemoveAllListeners(); m_CancelButton.onClick.AddListener(() => { if (cancelAction != null) { cancelAction(); } if (cancelClose) { m_ConfirmResult = ConfirmResultType.Cancel; m_ConfirmPanel.SetActive(false); } }); m_OkButton.onClick.AddListener(() => { if (okAction != null) { okAction(); } if (okClose) { m_ConfirmResult = ConfirmResultType.Ok; m_ConfirmPanel.SetActive(false); } }); m_ConfirmPanel.SetActive(true); while (m_ConfirmResult == ConfirmResultType.None) { yield return(null); } }
public IEnumerator ShowConfirmPanel(string content, string cancelText, Action cancelAction, string okText, Action okAction) { m_ConfirmResult = ConfirmResultType.None; bool hasCancelBtn = true; if (string.IsNullOrEmpty(cancelText) || cancelAction == null) { hasCancelBtn = false; m_CancelButton.gameObject.SetActive(false); } else { m_CancelButton.gameObject.SetActive(true); } bool hasOkBtn = true; if (string.IsNullOrEmpty(okText) || okAction == null) { hasOkBtn = false; m_OkButton.gameObject.SetActive(false); } else { m_OkButton.gameObject.SetActive(true); } if (hasCancelBtn && hasOkBtn) { m_CancelButton.transform.localPosition = new Vector3(-124.2f, -100.9781f, 0); m_OkButton.transform.localPosition = new Vector3(124.2f, -100.9781f, 0); } else { m_CancelButton.transform.localPosition = new Vector3(0, -100.9781f, 0); m_OkButton.transform.localPosition = new Vector3(0, -100.9781f, 0); } m_CancelButtonText.text = cancelText; m_OkButtonText.text = okText; m_ConfirmPanelContent.text = content == null ? "" : content; m_CancelButton.onClick.Clear(); m_OkButton.onClick.Clear(); SetCallback("CancelButton", () => { if (cancelAction != null) { cancelAction(); } m_ConfirmResult = ConfirmResultType.Cancel; m_ConfirmPanel.SetActive(false); }); SetCallback("OkButton", () => { if (okAction != null) { okAction(); } m_ConfirmResult = ConfirmResultType.Ok; m_ConfirmPanel.SetActive(false); }); m_ConfirmPanel.SetActive(true); while (m_ConfirmResult == ConfirmResultType.None) { yield return(null); } }