Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSerializationUtility.cs
More file actions
Latest commit
60 lines (48 loc) · 2.16 KB
/
Copy pathSerializationUtility.cs
File metadata and controls
60 lines (48 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
usingSystem;
usingSystem.Diagnostics.CodeAnalysis;
usingSystem.Globalization;
usingSystem.Text;
usingNewtonsoft.Json;
namespaceCodeName.Serialization
{
// Mostly copied from https://github.com/jilleJr/Newtonsoft.Json-for-Unity.Converters/blob/master/Packages/Newtonsoft.Json-for-Unity.Converters/UnityConverters/Helpers/JsonHelperExtensions.cs
publicstaticclassSerializationUtility
{
publicstaticJsonSerializationExceptionCreateSerializationException(thisJsonReaderreader,stringmessage,[AllowNull]ExceptioninnerException=null)
{
varbuilder=CreateStringBuilderWithSpaceAfter(message);
builder.AppendFormat(CultureInfo.InvariantCulture,"Path '{0}'",reader.Path);
varlineInfo=readerasIJsonLineInfo;
intlineNumber=default;
intlinePosition=default;
if(lineInfo?.HasLineInfo()==true)
{
lineNumber=lineInfo.LineNumber;
linePosition=lineInfo.LinePosition;
builder.AppendFormat(CultureInfo.InvariantCulture,", line {0}, position {1}",lineNumber,linePosition);
}
builder.Append('.');
returnnewJsonSerializationException(builder.ToString(),reader.Path,lineNumber,linePosition,innerException);
}
publicstaticJsonWriterExceptionCreateWriterException(thisJsonWriterwriter,stringmessage,[AllowNull]ExceptioninnerException=null)
{
varbuilder=CreateStringBuilderWithSpaceAfter(message);
builder.AppendFormat(CultureInfo.InvariantCulture,"Path '{0}'.",writer.Path);
returnnewJsonWriterException(
message:builder.ToString(),writer.Path,innerException);
}
privatestaticStringBuilderCreateStringBuilderWithSpaceAfter(stringmessage)
{
varbuilder=newStringBuilder(message);
if(message.EndsWith("."))
{
builder.Append(' ');
}
elseif(!message.EndsWith(". "))
{
builder.Append(". ");
}
returnbuilder;
}
}
}