WaveOculusDemoProject.Components.ProjectileManager.Update C# (CSharp) Method

Update() protected method

Controls each projectile life
protected Update ( System.TimeSpan gameTime ) : void
gameTime System.TimeSpan The current gametime
return void
        protected override void Update(TimeSpan gameTime)
        {
            double seconds = gameTime.TotalSeconds;

            for (int i = this.BusyProjectiles.Count - 1;  i >= 0; i--)
            {
                var projectile = this.BusyProjectiles[i];

                if (projectile.LifeTime <= 0)
                {
                    this.FreeProjectile(projectile);
                }

                projectile.Position.X = (float)(projectile.Position.X + projectile.Velocity.X * seconds);
                projectile.Position.Y = (float)(projectile.Position.Y + projectile.Velocity.Y * seconds);
                projectile.Position.Z = (float)(projectile.Position.Z + projectile.Velocity.Z * seconds);

                projectile.LifeTime -= gameTime.TotalSeconds;
            }
        }