Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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();
                }
            }
        }