Exemple #1
0
 public static SubscribeEventChain Once(this SubscribeEventChain sec)
 {
     sec.Event.PostHook += () =>
     {
         sec.Subscriber.Unsubscribe(sec);
     };
     return(sec);
 }
Exemple #2
0
        public static IEnumerator WaitForMessage(this Subscriber subscriber, string[] topics, float timeout = 0.0f)
        {
            var   called           = false;
            float startTime        = Time.time;
            SubscribeEventChain se = subscriber.Subscribe(topics, () =>
            {
                called = true;
            });

            while (!called && (timeout <= 0.0f || Time.time < startTime + timeout))
            {
                yield return(null);
            }

            subscriber.Unsubscribe(se);
        }
Exemple #3
0
 public void Unsubscribe(SubscribeEventChain sec)
 {
     Unsubscribe(sec.Event);
 }
 public static void Unsubscribe(this MonoBehaviour behaviour, SubscribeEventChain sec) => GetSubscriber(behaviour).Unsubscribe(sec);