public override void HandlePacket(BinaryReader reader, int whoAmI) { MessageType type = (MessageType)reader.ReadByte(); switch (type) { case MessageType.MyStandID: Player player = Main.player[reader.ReadInt32()]; TBMPlayer.Get(player).MyStandProjectile = Main.projectile[reader.ReadInt32()]; break; case MessageType.IsInRush: player = Main.player[reader.ReadInt32()]; TBMPlayer.Get(player).IsStandUser = reader.ReadBoolean(); break; case MessageType.TimeStopDuration: instance.GetModWorld <TBMWorld>().TimeStopOwner = reader.ReadInt32(); instance.GetModWorld <TBMWorld>().TimeStopDuration = reader.ReadInt32(); break; } }
public override void SendClientChanges(ModPlayer clientPlayer) { TBMPlayer tbm = clientPlayer as TBMPlayer; if (tbm.MyStandProjectile != null && MyStandProjectile != null) { if (tbm.MyStandProjectile.whoAmI != MyStandProjectile.whoAmI) { ModPacket modPacket = mod.GetPacket(); modPacket.Write((byte)MessageType.MyStandID); modPacket.Write((int)player.whoAmI); modPacket.Write((int)MyStandProjectile.whoAmI); modPacket.Send(); } if (tbm.InRush != InRush) { ModPacket modPacket = mod.GetPacket(); modPacket.Write((byte)MessageType.IsInRush); modPacket.Write((int)player.whoAmI); modPacket.Write((bool)InRush); modPacket.Send(); } } }