Esempio n. 1
0
        /// <summary>
        /// Updates the projectile.
        /// </summary>
        public bool Update(GameTime gameTime, Vector3 pos, Vector3 vel, float dist, BBN_Game.Objects.StaticObject parent)
        {
            if (parent.Equals(Parent))
            {
                float elapsedTime = (float)gameTime.ElapsedGameTime.TotalSeconds;

                // Simple projectile physics.
                //position += velocity * elapsedTime;
                //velocity.Y -= elapsedTime * gravity;
                //age += elapsedTime;

                position = pos;
                velocity = vel;

                // Update the particle emitter, which will create our particle trail.
                trailEmitter.Update(gameTime, position);

                // If enough time has passed, explode! Note how we pass our velocity
                // in to the AddParticle method: this lets the explosion be influenced
                // by the speed and direction of the projectile which created it.
                if (dist <= 0)   //age > projectileLifespan
                {
                    //    for (int i = 0; i < numExplosionParticles; i++)
                    //        explosionParticles.AddParticle(position, velocity);

                    //    //for (int i = 0; i < numExplosionSmokeParticles; i++)
                    //    //    explosionSmokeParticles.AddParticle(position, velocity);

                    return(false);
                }
            }

            return(true);
        }