Beispiel #1
0
 private void CalculateInternal(NodeCoroutine nodeCoroutine, CalculateContext context)
 {
   context.Process();
   foreach (var socketIn in InSockets)
   {
     if (socketIn.Connected)
     {
       socketIn.Connection.Out.Owner.CalculateInternal(nodeCoroutine, new CalculateContext(nodeCoroutine, context, socketIn.Connection.Out.Owner));
     }
   }
 }
 public CalculateContext(NodeCoroutine coroutine, CalculateContext parent, Node node)
 {
     _children  = new List <CalculateContext>();
     _coroutine = coroutine;
     _parent    = parent;
     _node      = node;
     if (_parent != null)
     {
         _parent._children.Add(this);
     }
 }
Beispiel #3
0
 public CalculateContext Calculate(NodeCoroutine nodeCoroutine)
 {
   var context = new CalculateContext(nodeCoroutine, null, this);
   CalculateInternal(nodeCoroutine, context);
   return context;
 }