No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DependencyCollection.cs 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. namespace UnityEditor.ShaderGraph
  4. {
  5. [GenerationAPI]
  6. internal class DependencyCollection : IEnumerable<DependencyCollection.Item>
  7. {
  8. public class Item
  9. {
  10. public FieldDependency dependency { get; }
  11. public Item(FieldDependency dependency)
  12. {
  13. this.dependency = dependency;
  14. }
  15. }
  16. readonly List<DependencyCollection.Item> m_Items;
  17. public DependencyCollection()
  18. {
  19. m_Items = new List<DependencyCollection.Item>();
  20. }
  21. public DependencyCollection Add(DependencyCollection dependencies)
  22. {
  23. foreach (DependencyCollection.Item item in dependencies)
  24. {
  25. m_Items.Add(item);
  26. }
  27. return this;
  28. }
  29. public DependencyCollection Add(FieldDependency dependency)
  30. {
  31. m_Items.Add(new Item(dependency));
  32. return this;
  33. }
  34. public IEnumerator<DependencyCollection.Item> GetEnumerator()
  35. {
  36. return m_Items.GetEnumerator();
  37. }
  38. IEnumerator IEnumerable.GetEnumerator()
  39. {
  40. return GetEnumerator();
  41. }
  42. }
  43. }