예제 #1
0
 public override void AddValues(ArrayBuilder <BoundValues> values, BoundProperty currentProperty = null, BoundProperty rootProperty = null, CancellationToken cancellationToken = default)
 {
     if (rootProperty == null || currentProperty == rootProperty)
     {
         values.Add(this);
     }
 }
예제 #2
0
 public override void AddValues(ArrayBuilder <BoundValues> values, BoundProperty currentProperty = null, BoundProperty rootProperty = null, CancellationToken cancellationToken = default)
 {
     foreach (var child in this.ChildBoundNodes)
     {
         child.AddValues(values, currentProperty, rootProperty, cancellationToken);
     }
 }
예제 #3
0
        /*public override void AddProperties(ArrayBuilder<BoundProperty> properties, string property = null)
         * {
         *  if (_owner == SymbolPropertyOwner.CurrentSymbol)
         *  {
         *      if (property == null || property == _name)
         *      {
         *          properties.Add(this);
         *      }
         *  }
         *  foreach (var child in ChildBoundNodes)
         *  {
         *      child.AddProperties(properties, property);
         *  }
         * }*/

        public override void AddValues(ArrayBuilder <BoundValues> values, BoundProperty currentProperty = null, BoundProperty rootProperty = null, CancellationToken cancellationToken = default)
        {
            if (_hasFixedValue && rootProperty == this)
            {
                values.Add(this);
                return;
            }
            if (currentProperty == rootProperty || currentProperty == null)
            {
                var nextProperty = currentProperty;
                if (!_hasFixedValue && (currentProperty == null || (this.Owner == currentProperty.Owner && this.OwnerType == currentProperty.OwnerType)))
                {
                    nextProperty = this;
                }
                foreach (var child in ChildBoundNodes)
                {
                    child.AddValues(values, nextProperty, rootProperty);
                }
            }
        }