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); }
public void RigisterButtonEvent(EventTriggerListener.EventDelegate delHandle, string btnName) { GameObject go = UnityHelper.DeepFind(gameObject.transform, btnName).gameObject; if (go != null) { EventTriggerListener.Get(go).onClick = delHandle; } }
public void RigisterButtonEvent(EventTriggerListener.EventDelegate delHandle, GameObject btnObject) { EventTriggerListener.Get(btnObject).onClick = delHandle; }