public override void AddValues(ArrayBuilder <BoundValues> values, BoundProperty currentProperty = null, BoundProperty rootProperty = null, CancellationToken cancellationToken = default) { if (rootProperty == null || currentProperty == rootProperty) { values.Add(this); } }
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); } }
/*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); } } }