using System.Collections; using System.Collections.Generic; namespace UnityEditor.ShaderGraph { [GenerationAPI] internal class FieldCollection : IEnumerable { public class Item { public FieldDescriptor field { get; } public Item(FieldDescriptor field) { this.field = field; } } readonly List m_Items; public FieldCollection() { m_Items = new List(); } public FieldCollection Add(FieldCollection fields) { foreach (FieldCollection.Item item in fields) { m_Items.Add(item); } return this; } public FieldCollection Add(FieldDescriptor field) { m_Items.Add(new Item(field)); return this; } public IEnumerator GetEnumerator() { return m_Items.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } }