public static void SetupTowerShop() { GameUtil.ClearChildren(_shopList); TowerType.Types.ForEach(type => { if (!(_towerButton.Instance() is TowerButton button)) { return; } if (_towerManager != null) { button.Setup(type, _towerManager); } _shopList.AddChild(button); }); foreach (var towerButton in _shopList.GetChildren().OfType <TowerButton>()) { if (towerButton.TowerType != null && GameInfo.GameCurrency.CanAfford(towerButton.TowerType.Cost)) { towerButton.Locked = false; } } }