Exemplo n.º 1
0
 public static T ValidateEventData <T>(BaseEventData data) where T : class
 {
     if ((data as T) == null)
     {
         throw new ArgumentException(String.Format("Invalid type: {0} passed to event expecting {1}", data.GetType(), typeof(T)));
     }
     return(data as T);
 }
Exemplo n.º 2
0
        public static GameObject ExecuteHierarchy <T>(GameObject root, BaseEventData eventData, EventFunction <T> callbackFunction) where T : IEventSystemHandler
        {
            GetEventChain(root, s_InternalTransformList);

            for (var i = 0; i < s_InternalTransformList.Count; i++)
            {
                var transform = s_InternalTransformList[i];
                if (Execute(transform.gameObject, eventData, callbackFunction))
                {
                    return(transform.gameObject);
                }
            }
            return(null);
        }
Exemplo n.º 3
0
        public static bool Execute <T>(GameObject target, BaseEventData eventData, EventFunction <T> functor) where T : IEventSystemHandler
        {
            var internalHandlers = s_HandlerListPool.Get();

            GetEventList <T>(target, internalHandlers);
            //  if (s_InternalHandlers.Count > 0)
            //      Debug.Log("Executinng " + typeof (T) + " on " + target);

            for (var i = 0; i < internalHandlers.Count; i++)
            {
                T arg;
                try
                {
                    arg = (T)internalHandlers[i];
                }
                catch (Exception e)
                {
                    var temp = internalHandlers[i];
                    Debug.LogException(new Exception(string.Format("Type {0} expected {1} received.", typeof(T).Name, temp.GetType().Name), e));
                    continue;
                }

                try
                {
                    functor(arg, eventData);
                }
                catch (Exception e)
                {
                    Debug.LogException(e);
                }
            }

            var handlerCount = internalHandlers.Count;

            s_HandlerListPool.Release(internalHandlers);
            return(handlerCount > 0);
        }
Exemplo n.º 4
0
 private static void Execute(IEndDragHandler handler, BaseEventData eventData)
 {
     handler.OnEndDrag(ValidateEventData <PointerEventData>(eventData));
 }
Exemplo n.º 5
0
 private static void Execute(IInitializePotentialDragHandler handler, BaseEventData eventData)
 {
     handler.OnInitializePotentialDrag(ValidateEventData <PointerEventData>(eventData));
 }
Exemplo n.º 6
0
 private static void Execute(IPointerClickHandler handler, BaseEventData eventData)
 {
     handler.OnPointerClick(ValidateEventData <PointerEventData>(eventData));
 }
Exemplo n.º 7
0
 private static void Execute(ISubmitHandler handler, BaseEventData eventData)
 {
     handler.OnSubmit(eventData);
 }
Exemplo n.º 8
0
 private static void Execute(ICancelHandler handler, BaseEventData eventData)
 {
     handler.OnCancel(eventData);
 }
Exemplo n.º 9
0
 private static void Execute(IMoveHandler handler, BaseEventData eventData)
 {
     handler.OnMove(ValidateEventData <AxisEventData>(eventData));
 }
Exemplo n.º 10
0
 private static void Execute(IDeselectHandler handler, BaseEventData eventData)
 {
     handler.OnDeselect(eventData);
 }
Exemplo n.º 11
0
 private static void Execute(IUpdateSelectedHandler handler, BaseEventData eventData)
 {
     handler.OnUpdateSelected(eventData);
 }
Exemplo n.º 12
0
 private static void Execute(IScrollHandler handler, BaseEventData eventData)
 {
     handler.OnScroll(ValidateEventData <PointerEventData>(eventData));
 }
Exemplo n.º 13
0
 private static void Execute(IDropHandler handler, BaseEventData eventData)
 {
     handler.OnDrop(ValidateEventData <PointerEventData>(eventData));
 }