private void ConfigureRegeneratingTowerPowerUpExecution(string powerUpOwner, GameState gameState)
        {
            strategy       = new RegeneratingTowerPowerUpStrategy();
            powerUpCreator = new RegeneratingTowerPowerUpCreator();
            targetTowers   = gameState.GetRegeneratingTowers().Where(tower => tower.owner == powerUpOwner).ToList();

            Console.WriteLine("We apply regenerating visitor");
            ApplyVisitor(_regeneratingPowerUpVisitor);
        }
        private void ConfigureTowerDefencePowerUpExecution(string powerUpOwner, GameState gameState)
        {
            strategy       = new TowerDefencePowerUpStrategy();
            powerUpCreator = new TowerDefencePowerUpCreator();
            targetTowers   = gameState.GetAllTowers().Where(tower => tower.owner == powerUpOwner).ToList();

            Console.WriteLine("We apply defense visitor");
            ApplyVisitor(_towerDefencePowerUpVisitor);
        }
 private void ConfigureAttackingTowerPowerUpExecution(string powerUpOwner, GameState gameState)
 {
     strategy       = new AttackingTowerPowerUpStrategy();
     powerUpCreator = new AttackingTowerPowerUpCreator();
     targetTowers   = gameState.GetAttackingTowers().Where(tower => tower.owner == powerUpOwner).ToList();
 }