Beispiel #1
0
 public static int CompareTo(this IExternalNode x, IExternalNode y)
 {
   if (x.IsAncestorOf(y))
     return -1;
   if (y.IsAncestorOf(x))
     return 1;
   return 0;
 }
Beispiel #2
0
 protected override void ReleaseSelf()
 {
     base.ReleaseSelf();
     if (node != null)
     {
         node.OnDestroy();
     }
     node = null;
 }
Beispiel #3
0
 public override void Release()
 {
     base.Release();
     if (node != null)
     {
         node.OnDestroy();
     }
     node = null;
 }
Beispiel #4
0
 public static bool IsAncestorOf(this IExternalNode x, IExternalNode y) => x.Descendents().Contains(y);
Beispiel #5
0
 public static IEnumerable<INode> LazyDescendents(IExternalNode node) => node.Subscribers.Concat(node.Subscribers.Where(n => n.React()).SelectMany(LazyDescendents)).Distinct();
Beispiel #6
0
 public void Set(IExternalNode node)
 {
     this.node = node;
 }