Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
NetTeleportPylonModule.cs
Go to the documentation of this file.
1using System.IO;
3using Terraria.Net;
4
6
8{
9 public enum SubPacketType : byte
10 {
14 }
15
17 {
18 NetPacket result = NetModule.CreatePacket<NetTeleportPylonModule>(6);
19 result.Writer.Write((byte)packetType);
20 result.Writer.Write(info.PositionInTiles.X);
21 result.Writer.Write(info.PositionInTiles.Y);
22 result.Writer.Write((byte)info.TypeOfPylon);
23 return result;
24 }
25
27 {
28 NetPacket result = NetModule.CreatePacket<NetTeleportPylonModule>(6);
29 result.Writer.Write((byte)2);
30 result.Writer.Write(info.PositionInTiles.X);
31 result.Writer.Write(info.PositionInTiles.Y);
32 result.Writer.Write((byte)info.TypeOfPylon);
33 return result;
34 }
35
36 public override bool Deserialize(BinaryReader reader, int userId)
37 {
38 switch ((SubPacketType)reader.ReadByte())
39 {
40 case SubPacketType.PylonWasAdded:
41 {
42 if (Main.dedServ)
43 {
44 return false;
45 }
46 TeleportPylonInfo info3 = default(TeleportPylonInfo);
47 info3.PositionInTiles = new Point16(reader.ReadInt16(), reader.ReadInt16());
48 info3.TypeOfPylon = (TeleportPylonType)reader.ReadByte();
49 Main.PylonSystem.AddForClient(info3);
50 break;
51 }
52 case SubPacketType.PylonWasRemoved:
53 {
54 if (Main.dedServ)
55 {
56 return false;
57 }
58 TeleportPylonInfo info2 = default(TeleportPylonInfo);
59 info2.PositionInTiles = new Point16(reader.ReadInt16(), reader.ReadInt16());
60 info2.TypeOfPylon = (TeleportPylonType)reader.ReadByte();
61 Main.PylonSystem.RemoveForClient(info2);
62 break;
63 }
64 case SubPacketType.PlayerRequestsTeleport:
65 {
67 info.PositionInTiles = new Point16(reader.ReadInt16(), reader.ReadInt16());
68 info.TypeOfPylon = (TeleportPylonType)reader.ReadByte();
69 Main.PylonSystem.HandleTeleportRequest(info, userId);
70 break;
71 }
72 }
73 return true;
74 }
75}
virtual byte ReadByte()
virtual short ReadInt16()
virtual void Write(bool value)
static NetPacket SerializePylonWasAddedOrRemoved(TeleportPylonInfo info, SubPacketType packetType)
static NetPacket SerializeUseRequest(TeleportPylonInfo info)
override bool Deserialize(BinaryReader reader, int userId)
static bool dedServ
Definition Main.cs:1226
static TeleportPylonsSystem PylonSystem
Definition Main.cs:1872
BinaryWriter Writer
Definition NetPacket.cs:16