Example #1
0
        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;
            }
        }