Ejemplo n.º 1
0
        void NotifyEventHandler(IControlledElement eventHandler, int eventID)
        {
            ControllerChangedEvent e = new ControllerChangedEvent();

            e.controller = this;
            e.target     = eventHandler;
            e.change     = eventID;
            eventHandler.OnControllerChanged(ref e);
            if (e.isPropagationStopped)
            {
                return;
            }
            if (eventHandler is VisualElement)
            {
                var element = eventHandler as VisualElement;
                eventHandler = element.GetFirstAncestorOfType <IControlledElement>();
                while (eventHandler != null)
                {
                    eventHandler.OnControllerChanged(ref e);
                    if (e.isPropagationStopped)
                    {
                        break;
                    }
                    eventHandler = (eventHandler as VisualElement).GetFirstAncestorOfType <IControlledElement>();
                }
            }
        }
Ejemplo n.º 2
0
        public void RegisterHandler(IControlledElement handler)
        {
            //Debug.Log("RegisterHandler  of " + handler.GetType().Name + " on " + GetType().Name );

            if (m_EventHandlers.Contains(handler))
            {
                Debug.LogError("Handler registered twice");
            }
            else
            {
                m_EventHandlers.Add(handler);

                NotifyEventHandler(handler, AnyThing);
            }
        }
Ejemplo n.º 3
0
 public void UnregisterHandler(IControlledElement handler)
 {
     m_EventHandlers.Remove(handler);
 }