Пример #1
0
 protected override Shape GetProjectileSpawnPoint()
 {
     return((Shape)GameHelper.FindCanvasChild(launcherModel, "projectileSpawnPoint"));
 }
Пример #2
0
        private Queue <ExplosionParticle> GetExplosionParticles(Type particleType, int particlesPerType)
        {
            Queue <ExplosionParticle> particles = new Queue <ExplosionParticle>();

            if (particleType == typeof(Rectangle))
            {
                for (int i = 0; i < particlesPerType; i++)
                {
                    ExplosionParticle particle = new ExplosionParticle(game, (Rectangle)GameHelper.Clone(game.GameObjectModels["rectangleExplosionParticle"]));
                    particles.Enqueue(particle);
                    particle.Model.Visibility = System.Windows.Visibility.Hidden;
                    game.PlayArea.Children.Add(particle.Model);
                }
            }
            if (particleType == typeof(Ellipse))
            {
                for (int i = 0; i < particlesPerType; i++)
                {
                    ExplosionParticle particle = new ExplosionParticle(game, (Ellipse)GameHelper.Clone(game.GameObjectModels["ellipseExplosionParticle"]));
                    particles.Enqueue(particle);
                    particle.Model.Visibility = System.Windows.Visibility.Hidden;
                    game.PlayArea.Children.Add(particle.Model);
                }
            }
            return(particles);
        }
 protected override void Initialize()
 {
     magazine      = new Queue <WeaponProjectile>();
     launcherModel = (Canvas)GameHelper.FindCanvasChild(Holder.Model as Canvas, "waterTurretProjectileLauncher");
 }
Пример #4
0
 public override void Update()
 {
     base.Update();
     if (currentEnemyTarget == null || currentEnemyTarget != null && currentEnemyTarget.Destroyed || GameHelper.GetDistance(Position, currentEnemyTarget.Position) > range)
     {
         projectileLauncher.Fire = false;
         currentEnemyTarget      = FindTarget();
     }
     else
     {
         projectileLauncher.Target = currentEnemyTarget.Collider.Center;
         projectileLauncher.Fire   = true;
     }
     projectileLauncher.Update();
 }