// 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; }
// 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(); }