Ejemplo n.º 1
0
        // TOWER PLACEMENT:
        private void TowerPlacement_OnMouseDown(object sender, MouseButtonEventArgs e)
        {
            // Prevents event handler from going any future, when no tower is selected.
            if (_towerSelected == null)
            {
                return;
            }

            // Pattern matching:
            if (!(sender is Rectangle s))
            {
                return;
            }

            // Hides the tower placement graphics.
            s.Visibility = Visibility.Hidden;

            // Creating new Tower object and helper variables.
            var point = new Point(Canvas.GetLeft(s) - 43, Canvas.GetTop(s) - 43);
            var tower = new ArcherTowerUC();

            Canvas.SetLeft(tower, point.X);
            tower.TowerHitBox.X = point.X;
            Canvas.SetTop(tower, point.Y);
            tower.TowerHitBox.Y = point.Y;
            Map1.Children.Add(tower);

            TowersList.Add(tower);

            // Resetting variables, so a new tower can be selected and placed.
            _towerSelected        = null;
            ArcherTowerBuy.Stroke = null;
            _isClicked            = false;
        }
Ejemplo n.º 2
0
 // TOWER SHOOTING:
 private void Shoot(GoblinUC currentMob, ArcherTowerUC currentTower)
 // TODO: Vil det ikke give mere mening om både tower og mob var en template?
 {
     currentMob.Goblin.hitPoints -= currentTower.ArcherTower.defensivePower;
     currentMob.UpdateHp();
 }