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;
         }
     }
 }