Пример #1
0
    void ClickCurrent()
    {
        GameObject obj = GetCurrentClicker();

        if (obj == null)
        {
            return;
        }
        UIEventListener e = obj.GetComponent <UIEventListener>();

        if (e != null && e.onClick != null)
        {
            e.onClick(e.gameObject);
        }
        else
        {
            UIMouseClick e1 = obj.GetComponent <UIMouseClick>();
            if (e1 != null)
            {
                e1.OnClick();
            }
            else
            {
                UIInput i = obj.GetComponent <UIInput>();
                if (i != null)
                {
                    i.isSelected = true;
                }
            }
        }
    }
Пример #2
0
 public void Check()
 {
     if (string.IsNullOrEmpty(m_name) || (m_clickObject == null && m_keyEvent == null))
     {
         return;
     }
     if (Input.GetButtonDown(m_name))
     {
         if (m_clickObject != null)
         {
             UIEventListener e = m_clickObject.GetComponent <UIEventListener>();
             if (e != null && e.onClick != null)
             {
                 e.onClick(e.gameObject);
             }
             else
             {
                 UIMouseClick e1 = m_clickObject.GetComponent <UIMouseClick>();
                 if (e1 != null)
                 {
                     e1.OnClick();
                 }
             }
         }
         if (m_keyEvent != null)
         {
             m_keyEvent(this);
         }
     }
 }
    /// <summary>
    /// 重新模拟执行该事件
    /// </summary>
    public void execute()
    {
        switch (mouseType)
        {
        case MouseType.UIButton:
            UIButton button = getTargetUIComponnet <UIButton>();
            EventDelegate.Execute(button.onClick);
            break;

        case MouseType.UIEventListener:
            UIEventListener listener = getTargetUIComponnet <UIEventListener>();
            listener.onClick(listener.gameObject);
            break;

        case MouseType.UILevelSelectChapterItem:
            getTargetUIComponnet <UILevelSelectChapterItem>().OnClick();
            break;

        case MouseType.UIMainPage:
            UnityEngine.Object.FindObjectOfType <UIMainPage>().OnClickButton((UIPlayerBar.BtnDestination)Enum.Parse(typeof(UIPlayerBar.BtnDestination), targetComponentInfo));
            break;

        case MouseType.UIPlayerInteractMenuItem:
            getTargetUIComponnet <UIPlayerInteractMenuItem>().OnClick();
            break;
        }
    }
Пример #4
0
    public void ShowGuideOperation(Transform target, GuideOperation data)
    {
        GameObject btn = null;

        DoGuideInstantie(target, data, ref btn);
        if (btn == null)
        {
            btnFalse.SetActive(true);
            UIEventListener.Get(btnFalse).onClick = (go) =>
            {
                data.Finish();
            };
            return;
        }
        UIEventListener ul = target.GetComponent <UIEventListener>();

        switch (data.OperationType)
        {
        case EGuideUIOperationType.TYPE_CLICK:
            UIEventListener.Get(btn).onClick = (go) =>
            {
                if (ul != null && ul.onClick != null)
                {
                    ul.onClick(go);
                }
                data.Finish();
                UnityEngine.GameObject.DestroyImmediate(btn);
            };
            break;

        case EGuideUIOperationType.TYPE_PRESS:
            UIEventListener.Get(btn).onPress = (go, state) =>
            {
                if (ul != null && ul.onPress != null)
                {
                    ul.onPress(go, state);
                }
                data.Finish();
                UnityEngine.GameObject.DestroyImmediate(btn);
            };
            break;

        case EGuideUIOperationType.TYPE_SWAP:
            UIEventListener.Get(btn).onDrag = (go, delta) =>
            {
                if (ul != null && ul.onDrag != null)
                {
                    ul.onDrag(go, delta);
                }
                data.Finish();
                UnityEngine.GameObject.DestroyImmediate(btn);
            };
            break;
        }
    }
Пример #5
0
 protected void EventExecute()
 {
     if (uIEventListener == null)
     {
         uIEventListener = GetComponent <UIEventListener>();
     }
     if (uIEventListener != null && uIEventListener.onClick != null)
     {
         uIEventListener.onClick(this.gameObject);
     }
 }
Пример #6
0
    public bool CheckTutorialButtonActive(GameObject buttonObj, TUTORIAL_BUTTON_TYPE type)
    {
        if (CheckTutorialEnable == false && CheckTutorialBuildingEnable == false)
        {
            return(false);
        }

        bool isEnable = CheckTutorialType(new TUTORIAL_TRIGGER_TYPE[] {
            TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH, TUTORIAL_TRIGGER_TYPE.TYPE_WAIT,
            TUTORIAL_TRIGGER_TYPE.TYPE_NONSERVER_WAIT, TUTORIAL_TRIGGER_TYPE.TYPE_DRAG_DROP
        });

        UIPlayAnimation uiAni  = buttonObj.GetComponent <UIPlayAnimation>();
        UIEventListener uiEv   = buttonObj.GetComponent <UIEventListener>();
        UIEventTrigger  uiTrig = buttonObj.GetComponent <UIEventTrigger>();
        UIButton        uiBtn  = buttonObj.GetComponent <UIButton>();

        TutorialInfo curTutInfo = null;

        switch (Tutorial.instance.TutorialType)
        {
        case TUTORIAL_TYPE.TYPE_BASIC: curTutInfo = m_curTutorialInfo; break;

        case TUTORIAL_TYPE.TYPE_BUILDING: curTutInfo = m_curTutorialBuildingInfo; break;
        }

        if (isEnable)
        {
            switch (type)
            {
            case TUTORIAL_BUTTON_TYPE.TYPE_ANIM:
                if (CheckMethodListEqualsName(curTutInfo, uiAni.onFinished))
                {
                    EventDelegate.Execute(uiAni.onFinished);
                    if (CheckTutorialType(TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH))
                    {
                        switch (Tutorial.instance.TutorialType)
                        {
                        case TUTORIAL_TYPE.TYPE_BASIC: EndCurrentTutorialCode(true); break;

                        case TUTORIAL_TYPE.TYPE_BUILDING: EndSeqBuildingTrigger(true); break;
                        }
                    }
                }

                break;

            case TUTORIAL_BUTTON_TYPE.TYPE_EVENT:
                if (uiEv.onClick != null)
                {
                    if (curTutInfo.CheckMethodNameExists(uiEv.onClick.Method.Name))
                    {
                        uiEv.onClick(buttonObj);
                        if (CheckTutorialType(TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH))
                        {
                            switch (Tutorial.instance.TutorialType)
                            {
                            case TUTORIAL_TYPE.TYPE_BASIC: EndCurrentTutorialCode(true); break;

                            case TUTORIAL_TYPE.TYPE_BUILDING: EndSeqBuildingTrigger(true); break;
                            }
                        }
                    }

                    else
                    {
                        bool isExists = (uiAni != null && CheckMethodListEqualsName(curTutInfo, uiAni.onFinished)) ||
                                        (uiBtn != null && CheckMethodListEqualsName(curTutInfo, uiBtn.onClick));
                        if (isExists)
                        {
                            uiEv.onClick(buttonObj);
                        }
                    }
                }

                break;

            case TUTORIAL_BUTTON_TYPE.TYPE_BUTTON:
                if (CheckMethodListEqualsName(curTutInfo, uiBtn.onClick))
                {
                    EventDelegate.Execute(uiBtn.onClick);
                    if (CheckTutorialType(TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH))
                    {
                        switch (Tutorial.instance.TutorialType)
                        {
                        case TUTORIAL_TYPE.TYPE_BASIC: EndCurrentTutorialCode(true); break;

                        case TUTORIAL_TYPE.TYPE_BUILDING: EndSeqBuildingTrigger(true); break;
                        }
                    }
                }

                else
                {
                    bool isExists = (uiAni != null && CheckMethodListEqualsName(curTutInfo, uiAni.onFinished)) ||
                                    (uiEv != null && uiEv.onClick != null && curTutInfo.CheckMethodNameExists(uiEv.onClick.Method.Name));
                    if (isExists)
                    {
                        EventDelegate.Execute(uiBtn.onClick);
                    }
                }

                break;
            }
        }

        else
        {
            switch (StateManager.instance.m_curStateType)
            {
            case STATE_TYPE.STATE_TITLE:
            case STATE_TYPE.STATE_INTRO:
                return(false);

            default:
                switch (type)
                {
                case TUTORIAL_BUTTON_TYPE.TYPE_ANIM:
                    return(!CheckCommonMethodListEqualsName(uiAni.onFinished));

                case TUTORIAL_BUTTON_TYPE.TYPE_EVENT:
                    return(!CheckCommonMethodListEqualsName(uiEv.onClick.Method.Name));

                case TUTORIAL_BUTTON_TYPE.TYPE_BUTTON:
                    return(!CheckCommonMethodListEqualsName(uiBtn.onClick));
                }

                return(true);
            }
        }

        return(isEnable);
    }
Пример #7
0
        /// <summary>开始摇老虎机 </summary>
        IEnumerator SetupConstantSpeedRollCoroutine(int hc)
        {
            InputBlockerManager.Instance.Block(InputBlockReason.FUSION_BLOCK_UI_INTERACTION, 4f);
            curScrollIndex = isFinish = CurValueLabels.Length;
            float timer  = 0;
            float detial = 1f;

            Fx.CustomSetActive(false);
            Qui.ResetToBeginning();
            Qui.PlayForward();
            FusionAudio.PostEvent("UI/New/LaoHuJi", true);
            ResetLabel();
            while (isFinish > 0)
            {
                timer += Time.deltaTime;
                for (int i = isFinish - 1; i >= 0; --i)
                {
                    if (CurValueLabels[i].transform.localPosition.y < -300)
                    {
                        CurValueLabels[i].transform.localPosition = NextVec;
                        CurValueLabels[i].text = Random.Range(0, 9).ToString();
                        if (curScrollIndex > i && timer > detial)
                        {
                            detial = 0.3f;
                            timer  = 0;
                            int num = GetNum(hc, curScrollIndex);
                            CurValueLabels[i].text = num.ToString();
                            curScrollIndex--;
                        }
                    }
                    else
                    {
                        CurValueLabels[i].transform.localPosition -= new Vector3(0f, InitRollSpeed * Time.deltaTime);
                        if (curScrollIndex <= i && CurValueLabels[i].transform.localPosition.y < 0)
                        {
                            CurValueLabels[i].transform.localPosition  = Vector3.zero;
                            NextValueLabels[i].transform.localPosition = NextVec;
                            isFinish--;
                            FusionAudio.PostEvent("UI/New/ZhonJiang", true);
                            continue;
                        }
                    }

                    if (NextValueLabels[i].transform.localPosition.y < -300)
                    {
                        NextValueLabels[i].transform.localPosition = NextVec;
                        NextValueLabels[i].text = Random.Range(0, 9).ToString();
                    }
                    if (NextValueLabels[i].transform.localPosition.y > CurValueLabels[i].transform.localPosition.y)
                    {
                        NextValueLabels[i].transform.localPosition = CurValueLabels[i].transform.localPosition + NextVec;
                    }
                    else
                    {
                        NextValueLabels[i].transform.localPosition = CurValueLabels[i].transform.localPosition - NextVec;
                    }
                }
                yield return(null);
            }
            ResetLabel();
            UpdateData();
            yield return(null);

            Mao.ResetToBeginning();
            Mao.PlayForward();
            FusionAudio.PostEvent("UI/New/LaoHuJi", false);
            FusionAudio.PostEvent("UI/New/ZhonDaJiang", true);
            Listener.onClick(Listener.gameObject);
            Fx.CustomSetActive(true);
            isRequire = false;
            mCurrentDecelerateCoroutine = null;
        }
Пример #8
0
        public void UpEvent(UIWidget middle, UIWidget target)
        {
            if (middle == null || target == null)
            {
                return;
            }

            RemoveEvent(middle);

            UIEventTrigger  middleET       = middle.GetComponent <UIEventTrigger>();
            UIEventListener middleListener = middle.GetComponent <UIEventListener>();

            bool isFind = false;

            if (middleET != null && target.GetComponent <UIButton>() != null)
            {
                UIButton widgetBtn = target.GetComponent <UIButton>();

                middleET.onClick.Add(new EventDelegate(() =>
                {
                    if (widgetBtn.OnClickAction != null)
                    {
                        widgetBtn.OnClickAction();
                    }
                }));
                middleET.onDragOut.Add(new EventDelegate(() =>
                {
                    if (widgetBtn.OnDragOutAction != null)
                    {
                        widgetBtn.OnDragOutAction();
                    }
                }));
                middleET.onDragOver.Add(new EventDelegate(() =>
                {
                    if (widgetBtn.OnDragOverAction != null)
                    {
                        widgetBtn.OnDragOverAction();
                    }
                }));
                middleET.onPress.Add(new EventDelegate(() =>
                {
                    if (widgetBtn.OnPressAction != null)
                    {
                        widgetBtn.OnPressAction(true);
                    }
                }));
                middleET.onRelease.Add(new EventDelegate(() =>
                {
                    if (widgetBtn.OnPressAction != null)
                    {
                        widgetBtn.OnPressAction(false);
                    }
                }));
                isFind = true;
            }

            if (middleET != null && target.GetComponent <UIEventTrigger>() != null)
            {
                UIEventTrigger targetET = target.GetComponent <UIEventTrigger>();
                if (targetET.onClick != null)
                {
                    middleET.onClick.AddRange(targetET.onClick);
                }
                if (targetET.onDrag != null)
                {
                    middleET.onDrag.AddRange(targetET.onDrag);
                }
                if (targetET.onDragOut != null)
                {
                    middleET.onDragOut.AddRange(targetET.onDragOut);
                }
                if (targetET.onDragOver != null)
                {
                    middleET.onDragOver.AddRange(targetET.onDragOver);
                }
                if (targetET.onHoverOut != null)
                {
                    middleET.onHoverOut.AddRange(targetET.onHoverOut);
                }
                if (targetET.onHoverOver != null)
                {
                    middleET.onHoverOver.AddRange(targetET.onHoverOver);
                }
                if (targetET.onPress != null)
                {
                    middleET.onPress.AddRange(targetET.onPress);
                }
                if (targetET.onRelease != null)
                {
                    middleET.onRelease.AddRange(targetET.onRelease);
                }
                if (targetET.onDeselect != null)
                {
                    middleET.onDeselect.AddRange(targetET.onDeselect);
                }
                if (targetET.onDoubleClick != null)
                {
                    middleET.onDoubleClick.AddRange(targetET.onDoubleClick);
                }
                if (targetET.onDragStart != null)
                {
                    middleET.onDragStart.AddRange(targetET.onDragStart);
                }
                if (targetET.onDragEnd != null)
                {
                    middleET.onDragEnd.AddRange(targetET.onDragEnd);
                }

                isFind = true;
            }

            if (middleListener != null && target.GetComponent <UIEventListener>() != null)
            {
                UIEventListener targetListener = target.GetComponent <UIEventListener>();
                if (targetListener.onDrag != null)
                {
                    middleListener.onDrag = new UIEventListener.VectorDelegate((GameObject go, Vector2 d) => { targetListener.onDrag(go, d); });
                }
                if (targetListener.onClick != null)
                {
                    middleListener.onClick = new UIEventListener.VoidDelegate((GameObject go) => { targetListener.onClick(go); });
                }
                if (targetListener.onDoubleClick != null)
                {
                    middleListener.onDoubleClick = new UIEventListener.VoidDelegate((GameObject go) => { targetListener.onDoubleClick(go); });
                }
                if (targetListener.onDragEnd != null)
                {
                    middleListener.onDragEnd = new UIEventListener.VoidDelegate((GameObject go) => { targetListener.onDragEnd(go); });
                }
                if (targetListener.onDragOut != null)
                {
                    middleListener.onDragOut = new UIEventListener.VoidDelegate((GameObject go) => { targetListener.onDragOut(go); });
                }
                if (targetListener.onDragOver != null)
                {
                    middleListener.onDragOver = new UIEventListener.VoidDelegate((GameObject go) => { targetListener.onDragOver(go); });
                }
                if (targetListener.onDragStart != null)
                {
                    middleListener.onDragStart = new UIEventListener.VoidDelegate((GameObject go) => { targetListener.onDragStart(go); });
                }
                if (targetListener.onDrop != null)
                {
                    middleListener.onDrop = new UIEventListener.ObjectDelegate((GameObject go, GameObject obj) => { targetListener.onDrop(go, obj); });
                }
                if (targetListener.onHover != null)
                {
                    middleListener.onHover = new UIEventListener.BoolDelegate((GameObject go, bool obj) => { targetListener.onHover(go, obj); });
                }
                if (targetListener.onKey != null)
                {
                    middleListener.onKey = new UIEventListener.KeyCodeDelegate((GameObject go, KeyCode obj) => { targetListener.onKey(go, obj); });
                }
                if (targetListener.onPress != null)
                {
                    middleListener.onPress = new UIEventListener.BoolDelegate((GameObject go, bool obj) => { targetListener.onPress(go, obj); });
                }
                if (targetListener.onScroll != null)
                {
                    middleListener.onScroll = new UIEventListener.FloatDelegate((GameObject go, float obj) => { targetListener.onScroll(go, obj); });
                }
                if (targetListener.onSelect != null)
                {
                    middleListener.onSelect = new UIEventListener.BoolDelegate((GameObject go, bool obj) => { targetListener.onSelect(go, obj); });
                }
                if (targetListener.onSubmit != null)
                {
                    middleListener.onSubmit = new UIEventListener.VoidDelegate((GameObject go) => { targetListener.onSubmit(go); });
                }
                isFind = true;
            }

            if (middleET != null && target.GetComponent <ConsecutiveClickCoolTrigger>() != null)
            {
                ConsecutiveClickCoolTrigger ccct = target.GetComponent <ConsecutiveClickCoolTrigger>();

                if (ccct.enabled)
                {
                    middleET.onClick.Add(new EventDelegate(() => { if (ccct != null)
                                                                   {
                                                                       ccct.OnClick();
                                                                   }
                                                           }));
                }

                isFind = true;
            }

            if (middleET != null && target.GetComponent <ContinueClickCDTrigger>() != null)
            {
                ContinueClickCDTrigger cdCom = target.GetComponent <ContinueClickCDTrigger>();

                if (cdCom.enabled)
                {
                    middleET.onClick.Add(new EventDelegate(() =>
                    {
                        if (cdCom != null)
                        {
                            cdCom.OnPress(true);
                        }
                    }));
                }

                isFind = true;
            }

            if (isFind)
            {
                middle.gameObject.GetComponent <Collider>().enabled = true;
            }
        }