Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SerializeForPlayer()

static NetPacket Terraria.GameContent.NetModules.NetLiquidModule.SerializeForPlayer ( int playerIndex)
inlinestatic

Definition at line 50 of file NetLiquidModule.cs.

51 {
54 {
55 if (changesByChunkCoord.Value.BroadcastingCondition(playerIndex))
56 {
57 _changesForPlayerCache.AddRange(changesByChunkCoord.Value.DirtiedPackedTileCoords);
58 }
59 }
60 NetPacket result = NetModule.CreatePacket<NetLiquidModule>(_changesForPlayerCache.Count * 6 + 2);
61 result.Writer.Write((ushort)_changesForPlayerCache.Count);
62 foreach (int item in _changesForPlayerCache)
63 {
64 int num = (item >> 16) & 0xFFFF;
65 int num2 = item & 0xFFFF;
66 result.Writer.Write(item);
67 result.Writer.Write(Main.tile[num, num2].liquid);
68 result.Writer.Write(Main.tile[num, num2].liquidType());
69 }
70 return result;
71 }
virtual void Write(bool value)
static Dictionary< Point, ChunkChanges > _changesByChunkCoords
BinaryWriter Writer
Definition NetPacket.cs:16

References Terraria.GameContent.NetModules.NetLiquidModule._changesByChunkCoords, Terraria.GameContent.NetModules.NetLiquidModule._changesForPlayerCache, Terraria.Main.tile, System.IO.BinaryWriter.Write(), and Terraria.Net.NetPacket.Writer.

Referenced by Terraria.GameContent.NetModules.NetLiquidModule.PrepareAndSendToEachPlayerSeparately().