Пример #1
0
        public static LuaFunction AddObjectEvent(GameObject gameObject, EventTriggerType type, LuaFunction luaFunc, bool passEvent)
        {
            EventTriggerListener.EventDelegate ed = delegate(BaseEventData eventData)
            {
                luaFunc.BeginPCall();
                luaFunc.Push(eventData);
                luaFunc.PCall();
                luaFunc.EndPCall();
            };
            EventTriggerListener listener = EventTriggerListener.Get(gameObject);

            listener.passEvent = passEvent;
            //EventTriggerListener.Entry entry = new EventTriggerListener.Entry(luaFunc, ed);
            listener.GetLuaFuncHashSet(type, luaFunc).Add(ed);
            switch (type)
            {
            case EventTriggerType.PointerClick:
                listener.onEventClick += ed;
                break;

            case EventTriggerType.PointerEnter:
                listener.onEventEnter += ed;
                break;

            case EventTriggerType.PointerExit:
                listener.onEventExit += ed;
                break;

            case EventTriggerType.PointerDown:
                listener.onEventDown += ed;
                break;

            case EventTriggerType.PointerUp:
                listener.onEventUp += ed;
                break;

            case EventTriggerType.BeginDrag:
                listener.onEventBeginDrag += ed;
                break;

            case EventTriggerType.Drag:
                listener.onEventDrag += ed;
                break;

            case EventTriggerType.Drop:
                listener.onEventDrop += ed;
                break;

            case EventTriggerType.EndDrag:
                listener.onEventEndDrag += ed;
                break;

            default:
                listener.GetLuaFuncHashSet(type, luaFunc).Remove(ed);
                Logger.Error("No Register EventTriggerType:" + type.ToString());
                break;
            }
            return(luaFunc);
        }
Пример #2
0
        public void RigisterButtonEvent(EventTriggerListener.EventDelegate delHandle, string btnName)
        {
            GameObject go = UnityHelper.DeepFind(gameObject.transform, btnName).gameObject;

            if (go != null)
            {
                EventTriggerListener.Get(go).onClick = delHandle;
            }
        }
Пример #3
0
 public void RigisterButtonEvent(EventTriggerListener.EventDelegate delHandle, GameObject btnObject)
 {
     EventTriggerListener.Get(btnObject).onClick = delHandle;
 }