public override void Update2(GameTime gameTime)
        {
            if (Dead)
            {
                return;
            }

            if (Moveable && Solid)
            {
                TestCollision(gameTime);
            }

            Vector3 Position3 = new Vector3(Position.X(), Y, Position.Y());

            if (ShutDownTime > -1)
            {
                InstanceManager.EmitParticle(GetIntType(), Position3, ref RotationMatrix, 0, Size.X(), (Acceleration + 0.75f) / 2 * 1.5f * (1.75f - ((float)DragTime / MaxDragTime * 1.5f)));
            }
            WorldMatrix = Matrix.CreateScale(Size.X()) * Matrix.CreateFromYawPitchRoll(Rotation.getAsRadians() + RotationOffset.X, RotationOffset.Y, RotationOffset.Z) * Matrix.CreateTranslation(Position3);
            if (GetTeam() != NeutralManager.NeutralTeam)
            {
                ParticleManager.CreateRing(Position3, Size.X() * 1.75f * (1 - CloakAlpha), GetTeam());
            }

            if (FreezeTime > 0 && StunState != AttackType.None)
            {
                UpdateEmp();
            }

            base.Update2(gameTime);
        }
        public override void Update2(GameTime gameTime)
        {
            if (GetIntType() != -1)
            {
                InstanceManager.EmitParticle(GetIntType(), new Vector3(Position.X(), Y, Position.Y()), ref RotationMatrix, 0, Size.X(), 1);
            }
            Vector3 Position3 = new Vector3(Position.X(), Y, Position.Y());

            ParticleManager.CreateRing(Position3, Size.X() * BuildingRingSizeMult, GetTeam());
            WorldMatrix = Matrix.CreateScale(Size.X()) * Matrix.CreateFromYawPitchRoll(Rotation.getAsRadians() + RotationOffset.X, RotationOffset.Y, RotationOffset.Z) * Matrix.CreateTranslation(Position3);

            if (FreezeTime > 0 && StunState != AttackType.None)
            {
                switch (StunState)
                {
                case AttackType.Blue:
                    ParticleManager.CreateParticle(Position3, Vector3.Zero, new Color(0.25f, 0.25f, 1), Size.X() * 5 * Rand.F(), 1);
                    break;

                case AttackType.Red:
                    ParticleManager.CreateParticle(Position3, Vector3.Zero, new Color(1, 0.25f, 0.25f), Size.X() * 5 * Rand.F(), 1);
                    break;

                case AttackType.Green:
                    ParticleManager.CreateParticle(Position3, Vector3.Zero, new Color(0.25f, 1, 0.25f), Size.X() * 5 * Rand.F(), 1);
                    break;
                }
            }
        }
 public override void Update(GameTime gameTime)
 {
     if (particleAlpha > 0)
     {
         particleAlpha -= gameTime.ElapsedGameTime.Milliseconds * 60f / 1000f * AlphaChange / 20;
         InstanceManager.EmitParticle(GetIntType(), new Vector3(Position.X(), Y, Position.Y()), ref ParentTurret.RotationMatrix, 0, ParentTurret.Size.X(), particleAlpha);
     }
     base.Update(gameTime);
 }
Пример #4
0
        public override void Update2(GameTime gameTime)
        {
            TestCollision(gameTime);

            Vector3 Position3 = new Vector3(Position.X(), Y, Position.Y());

            InstanceManager.EmitParticle(GetIntType(), Position3, ref RotationMatrix, 0, Size.X(), 1);
            WorldMatrix = Matrix.CreateScale(Size.X()) * Matrix.CreateFromYawPitchRoll(Rotation.getAsRadians() + RotationOffset.X, RotationOffset.Y, RotationOffset.Z) * Matrix.CreateTranslation(Position3);
            if (GetTeam() != NeutralManager.NeutralTeam)
            {
                ParticleManager.CreateRing(Position3, Size.X() * 1.75f * (1 - CloakAlpha), GetTeam());
            }

            UpdateEmp();
        }