Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ArrayConverter.cs
Go to the documentation of this file.
2
4
5internal sealed class ArrayConverter<TCollection, TElement> : IEnumerableDefaultConverter<TElement[], TElement>
6{
7 internal override bool CanHaveIdMetadata => false;
8
9 protected override void Add(in TElement value, ref ReadStack state)
10 {
11 ((List<TElement>)state.Current.ReturnValue).Add(value);
12 }
13
18
20 {
21 List<TElement> list = (List<TElement>)state.Current.ReturnValue;
23 }
24
26 {
27 int i = state.Current.EnumeratorIndex;
29 if (elementConverter.CanUseDirectReadOrWrite && !state.Current.NumberHandling.HasValue)
30 {
31 for (; i < array.Length; i++)
32 {
34 }
35 }
36 else
37 {
38 for (; i < array.Length; i++)
39 {
40 TElement value = array[i];
42 {
44 return false;
45 }
46 if (ShouldFlush(writer, ref state))
47 {
49 return false;
50 }
51 }
52 }
53 return true;
54 }
55}
void Add(TKey key, TValue value)
override void ConvertCollection(ref ReadStack state, JsonSerializerOptions options)
override void CreateCollection(ref Utf8JsonReader reader, ref ReadStack state, JsonSerializerOptions options)
override void Add(in TElement value, ref ReadStack state)
override bool OnWriteResume(Utf8JsonWriter writer, TElement[] array, JsonSerializerOptions options, ref WriteStack state)