Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PrimitiveArray.cs
Go to the documentation of this file.
1
using
System.Globalization
;
2
3
namespace
System.Runtime.Serialization.Formatters.Binary
;
4
5
internal
sealed
class
PrimitiveArray
6
{
7
private
readonly
InternalPrimitiveTypeE
_code
;
8
9
private
readonly
bool
[]
_booleanA
;
10
11
private
readonly
char
[]
_charA
;
12
13
private
readonly
double
[]
_doubleA
;
14
15
private
readonly
short
[]
_int16A
;
16
17
private
readonly
int
[]
_int32A
;
18
19
private
readonly
long
[]
_int64A
;
20
21
private
readonly sbyte[]
_sbyteA
;
22
23
private
readonly
float
[]
_singleA
;
24
25
private
readonly ushort[]
_uint16A
;
26
27
private
readonly uint[]
_uint32A
;
28
29
private
readonly ulong[]
_uint64A
;
30
31
internal
PrimitiveArray
(
InternalPrimitiveTypeE
code
,
Array
array
)
32
{
33
_code
=
code
;
34
switch
(
code
)
35
{
36
case
InternalPrimitiveTypeE
.Boolean:
37
_booleanA
= (
bool
[])
array
;
38
break
;
39
case
InternalPrimitiveTypeE
.Char:
40
_charA
= (
char
[])
array
;
41
break
;
42
case
InternalPrimitiveTypeE
.Double:
43
_doubleA
= (
double
[])
array
;
44
break
;
45
case
InternalPrimitiveTypeE
.Int16:
46
_int16A
= (
short
[])
array
;
47
break
;
48
case
InternalPrimitiveTypeE
.Int32:
49
_int32A
= (
int
[])
array
;
50
break
;
51
case
InternalPrimitiveTypeE
.Int64:
52
_int64A
= (
long
[])
array
;
53
break
;
54
case
InternalPrimitiveTypeE
.SByte:
55
_sbyteA
= (sbyte[])
array
;
56
break
;
57
case
InternalPrimitiveTypeE
.Single:
58
_singleA
= (
float
[])
array
;
59
break
;
60
case
InternalPrimitiveTypeE
.UInt16:
61
_uint16A
= (ushort[])
array
;
62
break
;
63
case
InternalPrimitiveTypeE
.UInt32:
64
_uint32A
= (uint[])
array
;
65
break
;
66
case
InternalPrimitiveTypeE
.UInt64:
67
_uint64A
= (ulong[])
array
;
68
break
;
69
case
InternalPrimitiveTypeE
.Byte:
70
case
InternalPrimitiveTypeE
.Currency:
71
case
InternalPrimitiveTypeE
.Decimal:
72
case
InternalPrimitiveTypeE
.TimeSpan:
73
case
InternalPrimitiveTypeE
.DateTime:
74
break
;
75
}
76
}
77
78
internal
void
SetValue
(
string
value
,
int
index
)
79
{
80
switch
(
_code
)
81
{
82
case
InternalPrimitiveTypeE
.Boolean:
83
_booleanA
[
index
] =
bool
.Parse(
value
);
84
break
;
85
case
InternalPrimitiveTypeE
.Char:
86
if
(
value
[0] ==
'_'
&&
value
.Equals(
"_0x00_"
))
87
{
88
_charA
[
index
] =
'\0'
;
89
}
90
else
91
{
92
_charA
[
index
] =
char
.Parse(
value
);
93
}
94
break
;
95
case
InternalPrimitiveTypeE
.Double:
96
_doubleA
[
index
] =
double
.Parse(
value
,
CultureInfo
.
InvariantCulture
);
97
break
;
98
case
InternalPrimitiveTypeE
.Int16:
99
_int16A
[
index
] =
short
.Parse(
value
,
CultureInfo
.
InvariantCulture
);
100
break
;
101
case
InternalPrimitiveTypeE
.Int32:
102
_int32A
[
index
] =
int
.Parse(
value
,
CultureInfo
.
InvariantCulture
);
103
break
;
104
case
InternalPrimitiveTypeE
.Int64:
105
_int64A
[
index
] =
long
.Parse(
value
,
CultureInfo
.
InvariantCulture
);
106
break
;
107
case
InternalPrimitiveTypeE
.SByte:
108
_sbyteA
[
index
] = sbyte.Parse(
value
,
CultureInfo
.
InvariantCulture
);
109
break
;
110
case
InternalPrimitiveTypeE
.Single:
111
_singleA
[
index
] =
float
.Parse(
value
,
CultureInfo
.
InvariantCulture
);
112
break
;
113
case
InternalPrimitiveTypeE
.UInt16:
114
_uint16A
[
index
] = ushort.Parse(
value
,
CultureInfo
.
InvariantCulture
);
115
break
;
116
case
InternalPrimitiveTypeE
.UInt32:
117
_uint32A
[
index
] = uint.Parse(
value
,
CultureInfo
.
InvariantCulture
);
118
break
;
119
case
InternalPrimitiveTypeE
.UInt64:
120
_uint64A
[
index
] = ulong.Parse(
value
,
CultureInfo
.
InvariantCulture
);
121
break
;
122
case
InternalPrimitiveTypeE
.Byte:
123
case
InternalPrimitiveTypeE
.Currency:
124
case
InternalPrimitiveTypeE
.Decimal:
125
case
InternalPrimitiveTypeE
.TimeSpan:
126
case
InternalPrimitiveTypeE
.DateTime:
127
break
;
128
}
129
}
130
}
System.Array
Definition
Array.cs:16
System.Globalization.CultureInfo.InvariantCulture
static CultureInfo InvariantCulture
Definition
CultureInfo.cs:144
System.Globalization.CultureInfo
Definition
CultureInfo.cs:8
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._uint32A
readonly uint[] _uint32A
Definition
PrimitiveArray.cs:27
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._sbyteA
readonly sbyte[] _sbyteA
Definition
PrimitiveArray.cs:21
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._int64A
readonly long[] _int64A
Definition
PrimitiveArray.cs:19
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray.SetValue
void SetValue(string value, int index)
Definition
PrimitiveArray.cs:78
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._charA
readonly char[] _charA
Definition
PrimitiveArray.cs:11
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._int16A
readonly short[] _int16A
Definition
PrimitiveArray.cs:15
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._uint64A
readonly ulong[] _uint64A
Definition
PrimitiveArray.cs:29
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._booleanA
readonly bool[] _booleanA
Definition
PrimitiveArray.cs:9
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray.PrimitiveArray
PrimitiveArray(InternalPrimitiveTypeE code, Array array)
Definition
PrimitiveArray.cs:31
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._singleA
readonly float[] _singleA
Definition
PrimitiveArray.cs:23
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._code
readonly InternalPrimitiveTypeE _code
Definition
PrimitiveArray.cs:7
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._int32A
readonly int[] _int32A
Definition
PrimitiveArray.cs:17
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._uint16A
readonly ushort[] _uint16A
Definition
PrimitiveArray.cs:25
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray._doubleA
readonly double[] _doubleA
Definition
PrimitiveArray.cs:13
System.Runtime.Serialization.Formatters.Binary.PrimitiveArray
Definition
PrimitiveArray.cs:6
System.Globalization
Definition
Calendar.cs:1
System.Runtime.Serialization.Formatters.Binary.InternalPrimitiveTypeE
InternalPrimitiveTypeE
Definition
InternalPrimitiveTypeE.cs:4
System.Runtime.Serialization.Formatters.Binary
Definition
BinaryArray.cs:1
System.Runtime.Serialization.CollectionKind.Dictionary
@ Dictionary
System.ExceptionArgument.value
@ value
System.ExceptionArgument.index
@ index
System.ExceptionArgument.array
@ array
source
System.Runtime.Serialization.Formatters
System.Runtime.Serialization.Formatters.Binary
PrimitiveArray.cs
Generated by
1.10.0