Esempio n. 1
0
        private void UpdateBullets()
        {
            var bullets   = currentLevel.Bullets;
            var particles = currentLevel.Particles;

            foreach (var bullet in bullets)
            {
                if (bullet.IsStuck || bullet.IsDeformed)
                {
                    continue;
                }
                if (bullet.StaticPenetrations.Count == 0)
                {
                    CalculateStaticPenetrations(bullet);
                }
                CalculateDynamicPenetrations(bullet);
                bullet.Update();
                if (bullet.ClosestPenetrationPoint != null)
                {
                    particles.Add(ParticleFactory.CreateWallDust(bullet.ClosestPenetrationPoint, bullet.Velocity));
                    bullet.ClosestPenetrationPoint = null;
                }
            }
        }