コード例 #1
0
        private Vector TestProjectile(Projectile proj, double timeIncrement, int nSteps)
        {
            double oldTime    = Time;
            var    positions  = new List <Vector>();
            var    velocities = new List <Vector>();
            int    index      = Projectiles.FindIndex((a) => a == proj);

            foreach (var projectile in Projectiles)
            {
                positions.Add(projectile.Position);
                velocities.Add(projectile.Velocity);
            }

            RunEngine(timeIncrement, nSteps);
            Vector response = Projectiles[index].Position;

            // Reset everything
            for (int i = 0; i < Projectiles.Count; ++i)
            {
                Projectiles[i].Position = positions[i];
                Projectiles[i].Velocity = velocities[i];
            }
            Time = oldTime;

            return(response);
        }