hch
4 天以前 4b25281b33f386b8c86b32340b684ae34402f7e5
Main/Component/UI/Common/ClickScreenOtherSpace.cs
@@ -26,6 +26,7 @@
        public void AddListener(Action _callBack)
        {
        m_ClickOtherEvent = null;
            m_ClickOtherEvent += _callBack;
        }
@@ -34,22 +35,31 @@
            m_ClickOtherEvent = null;
        }
        private void LateUpdate()
        {
            if (Input.GetMouseButtonDown(0)) {
        if (Input.GetMouseButtonDown(0))
        {
                var sp = Input.mousePosition;
                switch (m_RespondType) {
            switch (m_RespondType)
            {
                    case RespondType.In:
                        if (RectTransformUtility.RectangleContainsScreenPoint(this.transform as RectTransform, sp, CameraManager.uiCamera)) {
                    if (RectTransformUtility.RectangleContainsScreenPoint(this.transform as RectTransform, sp, CameraManager.uiCamera))
                    {
                            m_ClickOtherEvent?.Invoke();
                            this.SetActive(!m_DeActiveSelf);
                        }
                        break;
                    case RespondType.Out:
                        if (!RectTransformUtility.RectangleContainsScreenPoint(this.transform as RectTransform, sp, CameraManager.uiCamera)) {
                    if (!RectTransformUtility.RectangleContainsScreenPoint(this.transform as RectTransform, sp, CameraManager.uiCamera))
                    {
                            m_ClickOtherEvent?.Invoke();
                            this.SetActive(!m_DeActiveSelf);
                        }
                    break;
                case RespondType.InOut:
                    m_ClickOtherEvent?.Invoke();
                    this.SetActive(!m_DeActiveSelf);
                        break;
                }
            }
@@ -59,5 +69,7 @@
        {
            In,
            Out,
        InOut
        }
    }