Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
JsonWriterDelegator.cs
Go to the documentation of this file.
3using System.Xml;
4
6
8{
10
15
21
22 internal override void WriteChar(char value)
23 {
25 }
26
27 internal override void WriteBase64(byte[] bytes)
28 {
29 if (bytes != null)
30 {
31 ByteArrayHelperWithString.Instance.WriteArray(base.Writer, bytes, 0, bytes.Length);
32 }
33 }
34
35 internal override void WriteQName(XmlQualifiedName value)
36 {
38 {
41 writer.WriteString(value.Namespace);
42 }
43 }
44
45 internal override void WriteUnsignedLong(ulong value)
46 {
48 }
49
50 internal override void WriteDecimal(decimal value)
51 {
52 writer.WriteAttributeString("type", "number");
53 base.WriteDecimal(value);
54 }
55
56 internal override void WriteDouble(double value)
57 {
58 writer.WriteAttributeString("type", "number");
59 base.WriteDouble(value);
60 }
61
62 internal override void WriteFloat(float value)
63 {
64 writer.WriteAttributeString("type", "number");
65 base.WriteFloat(value);
66 }
67
68 internal override void WriteLong(long value)
69 {
70 writer.WriteAttributeString("type", "number");
71 base.WriteLong(value);
72 }
73
74 internal override void WriteSignedByte(sbyte value)
75 {
76 writer.WriteAttributeString("type", "number");
77 base.WriteSignedByte(value);
78 }
79
80 internal override void WriteUnsignedInt(uint value)
81 {
82 writer.WriteAttributeString("type", "number");
83 base.WriteUnsignedInt(value);
84 }
85
86 internal override void WriteUnsignedShort(ushort value)
87 {
88 writer.WriteAttributeString("type", "number");
89 base.WriteUnsignedShort(value);
90 }
91
92 internal override void WriteUnsignedByte(byte value)
93 {
94 writer.WriteAttributeString("type", "number");
95 base.WriteUnsignedByte(value);
96 }
97
98 internal override void WriteShort(short value)
99 {
100 writer.WriteAttributeString("type", "number");
101 base.WriteShort(value);
102 }
103
104 internal override void WriteBoolean(bool value)
105 {
106 writer.WriteAttributeString("type", "boolean");
107 base.WriteBoolean(value);
108 }
109
110 internal override void WriteInt(int value)
111 {
112 writer.WriteAttributeString("type", "number");
113 base.WriteInt(value);
114 }
115
117 {
118 for (int i = 0; i < value.Length; i++)
119 {
121 }
122 }
123
125 {
126 for (int i = 0; i < value.Length; i++)
127 {
129 }
130 }
131
133 {
134 for (int i = 0; i < value.Length; i++)
135 {
137 }
138 }
139
141 {
142 for (int i = 0; i < value.Length; i++)
143 {
145 }
146 }
147
149 {
150 for (int i = 0; i < value.Length; i++)
151 {
153 }
154 }
155
156 internal override void WriteDateTime(DateTime value)
157 {
158 if (_dateTimeFormat == null)
159 {
161 }
162 else
163 {
165 }
166 }
167
169 {
170 if (value.Kind != DateTimeKind.Utc)
171 {
172 long num = 864000000000L;
173 long num2 = 3155378111999999999L;
174 long ticks = value.Ticks;
175 if (num > ticks || num2 < ticks)
176 {
177 ticks -= TimeZoneInfo.Local.GetUtcOffset(value).Ticks;
178 if (ticks > DateTime.MaxValue.Ticks || ticks < DateTime.MinValue.Ticks)
179 {
181 }
182 }
183 }
184 writer.WriteString("/Date(");
185 writer.WriteValue((value.ToUniversalTime().Ticks - JsonGlobals.unixEpochTicks) / 10000);
186 switch (value.Kind)
187 {
188 case DateTimeKind.Unspecified:
189 case DateTimeKind.Local:
190 {
191 TimeSpan utcOffset = TimeZoneInfo.Local.GetUtcOffset(value.ToLocalTime());
195 handler.AppendFormatted(utcOffset.Hours, "+00;-00");
196 handler.AppendFormatted(utcOffset.Minutes, "00;00");
197 xmlWriter.WriteString(string.Create(invariantCulture, ref handler));
198 break;
199 }
200 }
201 writer.WriteString(")/");
202 }
203
205 {
206 for (int i = 0; i < value.Length; i++)
207 {
209 }
210 }
211
213 {
214 for (int i = 0; i < value.Length; i++)
215 {
217 }
218 }
219
220 internal override void WriteStartElement(string prefix, string localName, string ns)
221 {
222 if (localName != null && localName.Length == 0)
223 {
224 WriteStartElement("item", "item");
225 WriteAttributeString(null, "item", null, localName);
226 }
227 else
228 {
229 base.WriteStartElement(prefix, localName, ns);
230 }
231 }
232}
static CultureInfo InvariantCulture
JsonWriterDelegator(XmlWriter writer, DateTimeFormat dateTimeFormat)
void WriteJsonDateTimeArray(DateTime[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace)
void WriteJsonInt64Array(long[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace)
void WriteJsonDoubleArray(double[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace)
void WriteJsonInt32Array(int[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace)
void WriteJsonDecimalArray(decimal[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace)
override void WriteStartElement(string prefix, string localName, string ns)
void WriteJsonBooleanArray(bool[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace)
void WriteJsonSingleArray(float[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace)
static SerializationException CreateSerializationException(string errorMessage)
void WriteAttributeString(string prefix, string localName, string ns, string value)
static string JsonDateTimeOutOfRange
Definition SR.cs:550
Definition SR.cs:7
static TimeZoneInfo Local
static string ToString(bool value)
static readonly XmlQualifiedName Empty
void WriteString(string? text)
virtual void WriteValue(object value)
Definition XmlWriter.cs:147
void WriteAttributeString(string localName, string? ns, string? value)
Definition XmlWriter.cs:46
static readonly DateTime MaxValue
Definition DateTime.cs:37
static readonly DateTime MinValue
Definition DateTime.cs:35