Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
IPCMessage.cs
Go to the documentation of this file.
1
using
System
;
2
using
System.Collections.Generic
;
3
using
System.Linq
;
4
using
System.Text
;
5
6
namespace
Terraria.Social.WeGame
;
7
8
public
class
IPCMessage
9
{
10
private
IPCMessageType
_cmd
;
11
12
private
string
_jsonData
;
13
14
public
void
Build<T>
(
IPCMessageType
cmd
, T t)
15
{
16
_jsonData
=
WeGameHelper
.Serialize(t);
17
_cmd
=
cmd
;
18
}
19
20
public
void
BuildFrom
(
byte
[] data)
21
{
22
byte
[]
value
= data.Take(4).ToArray();
23
byte
[]
bytes
= data.Skip(4).ToArray();
24
_cmd
= (
IPCMessageType
)
BitConverter
.
ToInt32
(
value
, 0);
25
_jsonData
=
Encoding
.
UTF8
.GetString(
bytes
);
26
}
27
28
public
void
Parse<T>
(
out
T
value
)
29
{
30
WeGameHelper
.UnSerialize<T>(
_jsonData
,
out
value
);
31
}
32
33
public
byte
[]
GetBytes
()
34
{
35
List<byte>
list
=
new
List<byte>
();
36
byte
[]
bytes
=
BitConverter
.
GetBytes
((
int
)
_cmd
);
37
list
.AddRange(
bytes
);
38
list
.AddRange(
Encoding
.
UTF8
.GetBytes(
_jsonData
));
39
return
list
.ToArray();
40
}
41
42
public
IPCMessageType
GetCmd
()
43
{
44
return
_cmd
;
45
}
46
}
System.BitConverter.GetBytes
static byte[] GetBytes(bool value)
Definition
BitConverter.cs:14
System.BitConverter.ToInt32
static int ToInt32(byte[] value, int startIndex)
Definition
BitConverter.cs:247
System.BitConverter
Definition
BitConverter.cs:10
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Text.Encoding.UTF8
static Encoding UTF8
Definition
Encoding.cs:526
System.Text.Encoding
Definition
Encoding.cs:15
Terraria.Social.WeGame.IPCMessage.BuildFrom
void BuildFrom(byte[] data)
Definition
IPCMessage.cs:20
Terraria.Social.WeGame.IPCMessage._jsonData
string _jsonData
Definition
IPCMessage.cs:12
Terraria.Social.WeGame.IPCMessage.GetBytes
byte[] GetBytes()
Definition
IPCMessage.cs:33
Terraria.Social.WeGame.IPCMessage.Parse< T >
void Parse< T >(out T value)
Definition
IPCMessage.cs:28
Terraria.Social.WeGame.IPCMessage.Build< T >
void Build< T >(IPCMessageType cmd, T t)
Definition
IPCMessage.cs:14
Terraria.Social.WeGame.IPCMessage.GetCmd
IPCMessageType GetCmd()
Definition
IPCMessage.cs:42
Terraria.Social.WeGame.IPCMessage._cmd
IPCMessageType _cmd
Definition
IPCMessage.cs:10
Terraria.Social.WeGame.IPCMessage
Definition
IPCMessage.cs:9
Terraria.Social.WeGame.WeGameHelper
Definition
WeGameHelper.cs:9
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Linq
Definition
ImmutableArrayExtensions.cs:4
System.Text
Definition
ConsoleEncoding.cs:1
System.ExceptionArgument.list
@ list
System.ExceptionArgument.value
@ value
System.ExceptionArgument.bytes
@ bytes
System
Definition
BlockingCollection.cs:8
Terraria.Social.WeGame.IPCMessageType
IPCMessageType
Definition
IPCMessageType.cs:4
Terraria.Social.WeGame
Definition
AchievementsSocialModule.cs:6
source
Terraria.Social.WeGame
IPCMessage.cs
Generated by
1.10.0