A game about forced loneliness, made by TACStudios
1using System.Collections;
2using System.Collections.Generic;
3
4namespace UnityEditor.ShaderGraph.Serialization
5{
6 struct RefValueEnumerable<T> : IEnumerable<T>
7 where T : JsonObject
8 {
9 List<JsonRef<T>> m_List;
10
11 public RefValueEnumerable(List<JsonRef<T>> list)
12 {
13 m_List = list;
14 }
15
16 public Enumerator GetEnumerator() => new Enumerator(m_List.GetEnumerator());
17
18 IEnumerator<T> IEnumerable<T>.GetEnumerator() => GetEnumerator();
19
20 IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
21
22 public struct Enumerator : IEnumerator<T>
23 {
24 List<JsonRef<T>>.Enumerator m_Enumerator;
25
26 public Enumerator(List<JsonRef<T>>.Enumerator enumerator)
27 {
28 m_Enumerator = enumerator;
29 }
30
31 public bool MoveNext() => m_Enumerator.MoveNext();
32
33 void IEnumerator.Reset() => ((IEnumerator)m_Enumerator).Reset();
34
35 public T Current => m_Enumerator.Current.value;
36
37 object IEnumerator.Current => Current;
38
39 public void Dispose() => m_Enumerator.Dispose();
40 }
41 }
42}