Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
BinaryObjectWithMapTyped.cs
Go to the documentation of this file.
1
namespace
System.Runtime.Serialization.Formatters.Binary
;
2
3
internal
sealed
class
BinaryObjectWithMapTyped
:
IStreamable
4
{
5
internal
BinaryHeaderEnum
_binaryHeaderEnum
;
6
7
internal
int
_objectId
;
8
9
internal
string
_name
;
10
11
internal
int
_numMembers
;
12
13
internal
string
[]
_memberNames
;
14
15
internal
BinaryTypeEnum
[]
_binaryTypeEnumA
;
16
17
internal
object
[]
_typeInformationA
;
18
19
internal
int
[]
_memberAssemIds
;
20
21
internal
int
_assemId
;
22
23
internal
BinaryObjectWithMapTyped
()
24
{
25
}
26
27
internal
BinaryObjectWithMapTyped
(
BinaryHeaderEnum
binaryHeaderEnum
)
28
{
29
_binaryHeaderEnum
=
binaryHeaderEnum
;
30
}
31
32
internal
void
Set
(
int
objectId
,
string
name,
int
numMembers
,
string
[]
memberNames
,
BinaryTypeEnum
[]
binaryTypeEnumA
,
object
[]
typeInformationA
,
int
[]
memberAssemIds
,
int
assemId
)
33
{
34
_objectId
=
objectId
;
35
_assemId
=
assemId
;
36
_name
= name;
37
_numMembers
=
numMembers
;
38
_memberNames
=
memberNames
;
39
_binaryTypeEnumA
=
binaryTypeEnumA
;
40
_typeInformationA
=
typeInformationA
;
41
_memberAssemIds
=
memberAssemIds
;
42
_assemId
=
assemId
;
43
_binaryHeaderEnum
= ((
assemId
> 0) ?
BinaryHeaderEnum
.ObjectWithMapTypedAssemId :
BinaryHeaderEnum
.ObjectWithMapTyped);
44
}
45
46
public
void
Write
(
BinaryFormatterWriter
output
)
47
{
48
output
.WriteByte((
byte
)
_binaryHeaderEnum
);
49
output
.WriteInt32(
_objectId
);
50
output
.WriteString(
_name
);
51
output
.WriteInt32(
_numMembers
);
52
for
(
int
i = 0; i <
_numMembers
; i++)
53
{
54
output
.WriteString(
_memberNames
[i]);
55
}
56
for
(
int
j
= 0;
j
<
_numMembers
;
j
++)
57
{
58
output
.WriteByte((
byte
)
_binaryTypeEnumA
[
j
]);
59
}
60
for
(
int
k
= 0;
k
<
_numMembers
;
k
++)
61
{
62
BinaryTypeConverter
.
WriteTypeInfo
(
_binaryTypeEnumA
[
k
],
_typeInformationA
[
k
],
_memberAssemIds
[
k
],
output
);
63
}
64
if
(
_assemId
> 0)
65
{
66
output
.WriteInt32(
_assemId
);
67
}
68
}
69
70
public
void
Read
(
BinaryParser
input
)
71
{
72
_objectId
=
input
.ReadInt32();
73
_name
=
input
.ReadString();
74
_numMembers
=
input
.ReadInt32();
75
_memberNames
=
new
string
[
_numMembers
];
76
_binaryTypeEnumA
=
new
BinaryTypeEnum
[
_numMembers
];
77
_typeInformationA
=
new
object
[
_numMembers
];
78
_memberAssemIds
=
new
int
[
_numMembers
];
79
for
(
int
i = 0; i <
_numMembers
; i++)
80
{
81
_memberNames
[i] =
input
.ReadString();
82
}
83
for
(
int
j
= 0;
j
<
_numMembers
;
j
++)
84
{
85
_binaryTypeEnumA
[
j
] = (
BinaryTypeEnum
)
input
.ReadByte();
86
}
87
for
(
int
k
= 0;
k
<
_numMembers
;
k
++)
88
{
89
if
(
_binaryTypeEnumA
[
k
] !=
BinaryTypeEnum
.ObjectUrt &&
_binaryTypeEnumA
[
k
] !=
BinaryTypeEnum
.ObjectUser)
90
{
91
_typeInformationA
[
k
] =
BinaryTypeConverter
.
ReadTypeInfo
(
_binaryTypeEnumA
[
k
],
input
,
out
_memberAssemIds
[
k
]);
92
}
93
else
94
{
95
BinaryTypeConverter
.
ReadTypeInfo
(
_binaryTypeEnumA
[
k
],
input
,
out
_memberAssemIds
[
k
]);
96
}
97
}
98
if
(
_binaryHeaderEnum
==
BinaryHeaderEnum
.ObjectWithMapTypedAssemId)
99
{
100
_assemId
=
input
.ReadInt32();
101
}
102
}
103
}
System.Runtime.Serialization.Formatters.Binary.BinaryFormatterWriter
Definition
BinaryFormatterWriter.cs:10
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped.BinaryObjectWithMapTyped
BinaryObjectWithMapTyped()
Definition
BinaryObjectWithMapTyped.cs:23
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped.Write
void Write(BinaryFormatterWriter output)
Definition
BinaryObjectWithMapTyped.cs:46
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped.Read
void Read(BinaryParser input)
Definition
BinaryObjectWithMapTyped.cs:70
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._numMembers
int _numMembers
Definition
BinaryObjectWithMapTyped.cs:11
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped.BinaryObjectWithMapTyped
BinaryObjectWithMapTyped(BinaryHeaderEnum binaryHeaderEnum)
Definition
BinaryObjectWithMapTyped.cs:27
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._binaryTypeEnumA
BinaryTypeEnum[] _binaryTypeEnumA
Definition
BinaryObjectWithMapTyped.cs:15
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._binaryHeaderEnum
BinaryHeaderEnum _binaryHeaderEnum
Definition
BinaryObjectWithMapTyped.cs:5
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._assemId
int _assemId
Definition
BinaryObjectWithMapTyped.cs:21
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._typeInformationA
object[] _typeInformationA
Definition
BinaryObjectWithMapTyped.cs:17
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._objectId
int _objectId
Definition
BinaryObjectWithMapTyped.cs:7
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._memberAssemIds
int[] _memberAssemIds
Definition
BinaryObjectWithMapTyped.cs:19
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._memberNames
string[] _memberNames
Definition
BinaryObjectWithMapTyped.cs:13
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped.Set
void Set(int objectId, string name, int numMembers, string[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, object[] typeInformationA, int[] memberAssemIds, int assemId)
Definition
BinaryObjectWithMapTyped.cs:32
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped._name
string _name
Definition
BinaryObjectWithMapTyped.cs:9
System.Runtime.Serialization.Formatters.Binary.BinaryObjectWithMapTyped
Definition
BinaryObjectWithMapTyped.cs:4
System.Runtime.Serialization.Formatters.Binary.BinaryParser
Definition
BinaryParser.cs:10
System.Runtime.Serialization.Formatters.Binary.BinaryTypeConverter.ReadTypeInfo
static object ReadTypeInfo(BinaryTypeEnum binaryTypeEnum, BinaryParser input, out int assemId)
Definition
BinaryTypeConverter.cs:138
System.Runtime.Serialization.Formatters.Binary.BinaryTypeConverter.WriteTypeInfo
static void WriteTypeInfo(BinaryTypeEnum binaryTypeEnum, object typeInformation, int assemId, BinaryFormatterWriter output)
Definition
BinaryTypeConverter.cs:113
System.Runtime.Serialization.Formatters.Binary.BinaryTypeConverter
Definition
BinaryTypeConverter.cs:6
System.Runtime.Serialization.Formatters.Binary.IStreamable
Definition
IStreamable.cs:4
System.Runtime.Serialization.Formatters.Binary.BinaryTypeEnum
BinaryTypeEnum
Definition
BinaryTypeEnum.cs:4
System.Runtime.Serialization.Formatters.Binary.BinaryHeaderEnum
BinaryHeaderEnum
Definition
BinaryHeaderEnum.cs:4
System.Runtime.Serialization.Formatters.Binary
Definition
BinaryArray.cs:1
System.Runtime.Serialization.CollectionKind.Dictionary
@ Dictionary
System.ExceptionArgument.input
@ input
source
System.Runtime.Serialization.Formatters
System.Runtime.Serialization.Formatters.Binary
BinaryObjectWithMapTyped.cs
Generated by
1.10.0