Example #1
0
        private ProjectileControl CreateProjectile(double x, double y, double angle, double shipVelocity, double width)
        {
            ProjectileControl projectile = new ProjectileControl();

            projectile.Width = width;
            projectile.X     = x;
            projectile.Y     = y;
            projectile.Angle = angle;
            projectile.SetVelocityBasedOnAngle(shipVelocity + ProjectileDiffVelocity);

            projectile.OutOfLimits += OnProjectileOutOfLimits;

            double widthHalved  = _width / 2;
            double heightHalved = _height / 2;

            Rect limits = new Rect(
                new Point(-widthHalved - LimitsMargin, -heightHalved - LimitsMargin),
                new Point(widthHalved + LimitsMargin, heightHalved + LimitsMargin));

            projectile.Limits = limits;

            _projectiles.Add(projectile);
            gameArea.Children.Add(projectile);

            return(projectile);
        }