Пример #1
0
        public void ReceiveChangedPlayerData(BinaryReader reader, int fromWho)
        {
            //Console.WriteLine("Receiving player sync change packet!");
            PlayerVarSyncEnum syncEnum = (PlayerVarSyncEnum)reader.ReadInt32();
            int      playerNum         = reader.ReadInt32();
            MyPlayer player            = Main.player[playerNum].GetModPlayer <MyPlayer>();

            // if this is a server, start to assemble the relay packet.
            ModPacket packet = null;

            if (Main.netMode == NetmodeID.Server)
            {
                packet = GetPacket(SYNC_PLAYER, fromWho);
                packet.Write((int)syncEnum);
                packet.Write(playerNum);
            }
            switch (syncEnum)
            {
            case PlayerVarSyncEnum.KiMax2:
                player.kiMax2 = reader.ReadInt32();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.kiMax2);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.KiMax3:
                player.kiMax3 = reader.ReadInt32();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.kiMax3);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.KiMaxMult:
                player.kiMaxMult = reader.ReadSingle();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.kiMaxMult);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.isTransforming:
                player.isTransforming = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.isTransforming);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.Fragment1:
                player.fragment1 = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.fragment1);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.Fragment2:
                player.fragment2 = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.fragment2);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.Fragment3:
                player.fragment3 = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.fragment3);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.Fragment4:
                player.fragment4 = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.fragment4);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.Fragment5:
                player.fragment5 = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.fragment5);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.IsCharging:
                player.isCharging = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.isCharging);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.JungleMessage:
                player.jungleMessage = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.jungleMessage);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.HellMessage:
                player.hellMessage = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.hellMessage);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.EvilMessage:
                player.evilMessage = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.evilMessage);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.MushroomMessage:
                player.mushroomMessage = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.mushroomMessage);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.IsHoldingKiWeapon:
                player.isHoldingKiWeapon = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.isHoldingKiWeapon);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.PlayerTrait:
                player.PlayerTrait = DBZMOD.Instance.TraitManager[reader.ReadString()];

                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.PlayerTrait.UnlocalizedName);
                    packet.Send(-1, fromWho);
                }

                break;

            case PlayerVarSyncEnum.IsFlying:
                player.isFlying = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.isFlying);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.IsTransformationAnimationPlaying:
                player.isTransformationAnimationPlaying = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.isTransformationAnimationPlaying);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.ChargeMoveSpeed:
                player.chargeMoveSpeed = reader.ReadSingle();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.chargeMoveSpeed);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.BonusSpeedMultiplier:
                player.bonusSpeedMultiplier = reader.ReadSingle();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.bonusSpeedMultiplier);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.MouseWorldOctant:
                player.mouseWorldOctant = reader.ReadInt32();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.mouseWorldOctant);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.PowerWishesLeft:
                player.powerWishesLeft = reader.ReadInt32();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.powerWishesLeft);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.HeldProjectile:
                player.player.heldProj = reader.ReadInt32();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.player.heldProj);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.IsMassiveBlastCharging:
                player.isMassiveBlastCharging = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.isMassiveBlastCharging);
                    packet.Send(-1, fromWho);
                }
                break;

            //case PlayerVarSyncEnum.IsMassiveBlastInUse:
            //    player.isMassiveBlastInUse = reader.ReadBoolean();
            //    if (Main.netMode == NetmodeID.Server)
            //    {
            //        packet.Write(player.isMassiveBlastInUse);
            //        packet.Send(-1, fromWho);
            //    }
            //    break;
            case PlayerVarSyncEnum.WishActive:
                player.wishActive = reader.ReadBoolean();
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.wishActive);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.FacingDirection:
                player.player.ChangeDir(reader.ReadInt32());
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.player.direction);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.KiCurrent:
                player.SetKi(reader.ReadSingle(), true);
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(player.GetKi());
                    packet.Send(-1, fromWho);
                }
                break;
            }
        }
Пример #2
0
        //public void SendChangedMassiveBlastInUse(int toWho, int fromWho, int whichPlayer, bool isMassiveBlastInUse)
        //{
        //    var packet = GetPacket(SYNC_PLAYER, fromWho); ;
        //    packet.Write((int)PlayerVarSyncEnum.IsMassiveBlastInUse);
        //    packet.Write(whichPlayer);
        //    packet.Write(isMassiveBlastInUse);
        //    packet.Send(toWho, fromWho);
        //}

        public void ReceiveSyncTriggers(BinaryReader reader, int fromWho)
        {
            PlayerVarSyncEnum syncEnum = (PlayerVarSyncEnum)reader.ReadInt32();
            int      playerNum         = reader.ReadInt32();
            MyPlayer player            = Main.player[playerNum].GetModPlayer <MyPlayer>();
            bool     isHeld            = reader.ReadBoolean();
            // if this is a server, start to assemble the relay packet.
            ModPacket packet = null;

            if (Main.netMode == NetmodeID.Server)
            {
                packet = GetPacket(SYNC_TRIGGERS, fromWho);
                packet.Write((int)syncEnum);
                packet.Write(playerNum);
            }

            switch (syncEnum)
            {
            case PlayerVarSyncEnum.TriggerMouseLeft:
                player.isMouseLeftHeld = isHeld;
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(isHeld);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.TriggerMouseRight:
                player.isMouseRightHeld = isHeld;
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(isHeld);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.TriggerLeft:
                player.isLeftHeld = isHeld;
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(isHeld);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.TriggerRight:
                player.isRightHeld = isHeld;
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(isHeld);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.TriggerUp:
                player.isUpHeld = isHeld;
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(isHeld);
                    packet.Send(-1, fromWho);
                }
                break;

            case PlayerVarSyncEnum.TriggerDown:
                player.isDownHeld = isHeld;
                if (Main.netMode == NetmodeID.Server)
                {
                    packet.Write(isHeld);
                    packet.Send(-1, fromWho);
                }
                break;
            }
        }