private static TriggerEvent Create <TArgs>( ScreenLifecycleEvent <TArgs> @event, Func <IScreenBase, TArgs> argsFactory ) where TArgs : ScreenEventArgs { return(new GenericTriggerEvent <TArgs>(@event, argsFactory)); }
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; }