예제 #1
0
 public void Trigger()
 {
     if (_trigger.IsValid)
     {
         _trigger.Trigger();
     }
 }
예제 #2
0
 public static void Synchronize <T>(this IValueStateObserver <T> state, IEventTrigger <T> evnt) where T : struct
 {
     state.OnChange.Register(evnt); if (evnt.IsValid)
     {
         evnt.Trigger(state.Value);
     }
 }
예제 #3
0
파일: Voidable.cs 프로젝트: k10czar/K10
 public virtual void Trigger()
 {
     if (!IsValid)
     {
         return;
     }
     _callback.Trigger();
 }
예제 #4
0
 public static void Synchronize <T>(this IReferenceHolder <T> referenceHolder, IEventTrigger evnt, bool evenDefault)
 {
     referenceHolder.OnReferenceSet.Register(evnt);
     if (evenDefault || SafeNotDefault(referenceHolder.CurrentReference))
     {
         evnt.Trigger();
     }
 }
예제 #5
0
    public static void Synchronize <T>(this ICachedCollectionObserverEnumerable <T> collection, IEventTrigger <T> evnt, bool evenDefault = true)
    {
        collection.OnElementAdded.Register(evnt);

        foreach (var e in collection)
        {
            if (evenDefault || SafeNotDefault(e))
            {
                evnt.Trigger(e);
            }
        }
    }
예제 #6
0
    public static void Synchronize <T>(this ICachedCollectionObserver <T> collection, IEventTrigger <T> evnt, bool evenDefault = true)
    {
        collection.OnElementAdded.Register(evnt);

        var count = collection.Count;

        for (int i = 0; i < count; i++)
        {
            var e = collection[i];
            if (evenDefault || SafeNotDefault(e))
            {
                evnt.Trigger(e);
            }
        }
    }
예제 #7
0
 public void Trigger()
 {
     _evnt.Trigger();
 }
예제 #8
0
파일: Semaphore.cs 프로젝트: k10czar/K10
 public void RegisterAndStart(IEventTrigger <bool> evnt)
 {
     _changeStateEvent.Register(evnt); evnt.Trigger(Free);
 }
예제 #9
0
 public void Trigger(T t)
 {
     _refinedEvent.Trigger(_filterFunction(t));
 }