-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCannonModMessage.cs
113 lines (98 loc) · 2.97 KB
/
CannonModMessage.cs
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
using BitStream;
using Team17.Online.Multiplayer.Messaging;
using UnityEngine;
namespace SuperchargedPatch.AlteredComponents
{
public class CannonModMessage : Serialisable
{
// Token: 0x06001430 RID: 5168 RVA: 0x0006E42C File Offset: 0x0006C82C
public void Serialise(BitStreamWriter writer)
{
writer.Write((uint)m_state, m_stateBits);
writer.Write(m_angle);
if (m_state != CannonState.NotLoaded)
{
EntitySerialisationEntry entry = EntitySerialisationRegistry.GetEntry(m_loadedObject);
entry.m_Header.Serialise(writer);
}
writer.Write(ref m_startingPosition);
writer.Write(ref m_targetPosition);
writer.Write(ref m_startingRotation);
writer.Write(ref m_targetRotation);
writer.Write(m_startingHeight);
writer.Write(m_maxHeight);
writer.Write(m_flyingTime);
writer.Write(ref m_exitPosition);
writer.Write(ref m_exitRotation);
writer.Write(m_loadingTime);
}
// Token: 0x06001431 RID: 5169 RVA: 0x0006E484 File Offset: 0x0006C884
public bool Deserialise(BitStreamReader reader)
{
m_state = (CannonState)reader.ReadUInt32(m_stateBits);
m_angle = reader.ReadFloat32();
if (m_state != CannonState.NotLoaded)
{
m_entityHeader.Deserialise(reader);
m_loadedObject = EntitySerialisationRegistry.GetEntry(m_entityHeader.m_uEntityID).m_GameObject;
}
else
{
m_loadedObject = null;
}
reader.ReadVector3(ref m_startingPosition);
reader.ReadVector3(ref m_targetPosition);
reader.ReadQuaternion(ref m_startingRotation);
reader.ReadQuaternion(ref m_targetRotation);
m_startingHeight = reader.ReadFloat32();
m_maxHeight = reader.ReadFloat32();
m_flyingTime = reader.ReadFloat32();
reader.ReadVector3(ref m_exitPosition);
reader.ReadQuaternion(ref m_exitRotation);
m_loadingTime = reader.ReadFloat32();
return true;
}
public void ClearDataOnExit()
{
m_startingPosition = default;
m_targetPosition = default;
m_startingRotation = default;
m_targetRotation = default;
m_startingHeight = default;
m_maxHeight = default;
m_flyingTime = default;
m_exitPosition = default;
m_exitRotation = default;
m_loadingTime = default;
}
// Token: 0x04000FA6 RID: 4006
public CannonState m_state;
// Token: 0x04000FA7 RID: 4007
public float m_angle;
// Token: 0x04000FA8 RID: 4008
public GameObject m_loadedObject;
// Token: 0x04000FA9 RID: 4009
public const int m_stateBits = 3;
// Token: 0x04000FAA RID: 4010
private EntityMessageHeader m_entityHeader = new EntityMessageHeader();
// Token: 0x02000449 RID: 1097
public enum CannonState
{
NotLoaded,
Loaded,
Loading,
BeginLaunching,
Flying,
}
public Vector3 m_startingPosition;
public Vector3 m_targetPosition;
public Quaternion m_startingRotation;
public Quaternion m_targetRotation;
public float m_startingHeight;
public float m_maxHeight;
public float m_flyingTime;
public Vector3 m_exitPosition;
public Quaternion m_exitRotation;
public float m_loadingTime;
}
}