public static void SellTower(this GameLevel level, Vector2D position) { var list = EntitiesRunner.Current.GetEntitiesOfType <Tower>(); foreach (var tower in list) { var towerTile = tower.Position - Vector2D.Half; if (towerTile != position) { continue; } PlaySound(GameSounds.TowerSell); level.EarnGold((int)(tower.GetStatValue("Cost") / 2)); level.GetPathFinding().UpdateWeightInAdjacentNodes(position, (int)(tower.GetStatValue("Range")), -100); tower.Dispose(); level.UpdateGridAndExistingCreeps(position); return; } }