Exemple #1
0
    /// <summary>
    /// 添加事件
    /// </summary>
    /// <param name="tr">需要添加事件的Transform</param>
    /// <param name="bc">回调的函数</param>
    /// <param name="nType">事件类型,默认“onClick”</param>
    public static void AddOnEvent(Transform go, callBC bc, string nType = "onClick")
    {
        switch (nType)
        {
        case "onClick":
            EventInterface.Get(go).onClick = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onDown":
            EventInterface.Get(go).onDown = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onEnter":
            EventInterface.Get(go).onEnter = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onExit":
            EventInterface.Get(go).onExit = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onUp":
            EventInterface.Get(go).onUp = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onSelect":
            EventInterface.Get(go).onSelect = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onUpdateSelect":
            EventInterface.Get(go).onUpdateSelect = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onDrag":
            EventInterface.Get(go).onDrag = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onPress":
            EventInterface.Get(go).onPress = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "OnPointerExit":
            EventInterface.Get(go).onPress = delegate(GameObject o, BaseEventData be)
            {
                bc(go);
            };
            break;

        case "onSliderChang":
            Slider sd = go.gameObject.GetComponent <Slider>();
            sd.onValueChanged.RemoveAllListeners();
            sd.onValueChanged.AddListener(delegate(float value)
            {
                bc(go);
            });
            break;

        case "ButtononClick":
        {
            Button btn = go.GetComponent <Button>();
            btn.onClick.RemoveAllListeners();
            btn.onClick.AddListener(delegate()
                {
                    bc(go);
                });
            break;
        }

        case "onEditEnd":
        {
            InputField input = go.GetComponent <InputField>();
            input.onEndEdit.RemoveAllListeners();
            input.onEndEdit.AddListener(delegate(string inputText)
                {
                    bc(go);
                });
            break;
        }
        }
    }