Exemplo n.º 1
0
        /* Action(EventThread,string callerEvent,T eventParameter */
        public static void RegisterEventHandler <T>(string eventName, Action <CoroutineEventThread, string, T> action)
        {
            var eventDescriptor = new CoroutineEventDescriptor(eventName,
                                                               (thread, caller, par) =>
            {
                action(
                    _eventThread, caller, (T)par);
            }
                                                               , typeof(T));

            _eventThread._eventQueue.Enqueue(eventDescriptor);
        }
Exemplo n.º 2
0
        public static void RegisterEventHandler <T>(string eventName, IEventHandler <T> eventhandler)
        {
            var eventDescriptor = new CoroutineEventDescriptor(eventName,
                                                               (thread, caller, par) =>
            {
                try
                {
                    eventhandler.Run(_eventThread, caller, (T)par);
                    eventhandler.OnSuccess();
                }
                catch (Exception ex)
                {
                    eventhandler.OnError(ex);
                }
            }
                                                               , typeof(T));

            _eventThread._eventQueue.Enqueue(eventDescriptor);
        }
 public ExecEventCoroutine(CoroutineEventDescriptor handler, EventMessage newEvt)
 {
     this._handler = handler;
     this._newEvt  = newEvt;
 }