private static TriggerEvent Create <TArgs>(
     ScreenLifecycleEvent <TArgs> @event,
     Func <IScreenBase, TArgs> argsFactory
     ) where TArgs : ScreenEventArgs
 {
     return(new GenericTriggerEvent <TArgs>(@event, argsFactory));
 }
예제 #2
0
        private void AddEventHandlerFor <TArgs>(
            ScreenLifecycleEvent <TArgs> @event,
            IScreenBase screen,
            Action <ScreenLifecycleEvent <TArgs>, TArgs> handlerAction
            ) where TArgs : ScreenEventArgs
        {
            var subscription = new HierarchicalEventSubscription <IScreenBase, TArgs>(
                @event,
                args => handlerAction(@event, args),
                ExecutionOrder.Default,
                null,
                screen
                );

            _sm.Subscribe(b =>
                          b.AddSubscription(subscription)
                          );
        }
 private void AttachHandler <TArgs>(ScreenLifecycleEvent <TArgs> @event) where TArgs : ScreenEventArgs
 {
     Lifecycle.RegisterHandler(@event, args => ActuallyHandlerExecutions.Add(@event));
 }
 public GenericTriggerEvent(ScreenLifecycleEvent <TArgs> @event, Func <IScreenBase, TArgs> argsFactory)
 {
     _event       = @event;
     _argsFactory = argsFactory;
 }