Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ListOfTConverter.cs
Go to the documentation of this file.
2
4
5internal sealed class ListOfTConverter<TCollection, TElement> : IEnumerableDefaultConverter<TCollection, TElement> where TCollection : List<TElement>
6{
7 protected override void Add(in TElement value, ref ReadStack state)
8 {
9 ((TCollection)state.Current.ReturnValue).Add(value);
10 }
11
13 {
14 if (state.Current.JsonTypeInfo.CreateObject == null)
15 {
17 }
18 state.Current.ReturnValue = state.Current.JsonTypeInfo.CreateObject();
19 }
20
22 {
23 int i = state.Current.EnumeratorIndex;
25 if (elementConverter.CanUseDirectReadOrWrite && !state.Current.NumberHandling.HasValue)
26 {
27 for (; i < value.Count; i++)
28 {
30 }
31 }
32 else
33 {
34 for (; i < value.Count; i++)
35 {
36 TElement value2 = value[i];
38 {
40 return false;
41 }
42 if (ShouldFlush(writer, ref state))
43 {
45 return false;
46 }
47 }
48 }
49 return true;
50 }
51}
void Add(TKey key, TValue value)
override void Add(in TElement value, ref ReadStack state)
override bool OnWriteResume(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, ref WriteStack state)
override void CreateCollection(ref Utf8JsonReader reader, ref ReadStack state, JsonSerializerOptions options)
static void ThrowNotSupportedException_SerializationNotSupported(Type propertyType)