diff --git a/source/core/src/main/com/csse3200/game/components/maingame/UIElementsDisplay.java b/source/core/src/main/com/csse3200/game/components/maingame/UIElementsDisplay.java index 280cc7197..b84b24fe3 100644 --- a/source/core/src/main/com/csse3200/game/components/maingame/UIElementsDisplay.java +++ b/source/core/src/main/com/csse3200/game/components/maingame/UIElementsDisplay.java @@ -80,13 +80,22 @@ private void addActors() { // Fetch the selected tower types if set Array towers = new Array<>(); + for (TowerType tower : ServiceLocator.getTowerTypes()) { towers.add(tower); } // If no towers set, populate with default towers - if (towers.isEmpty()) { - towers.addAll(defaultTowers); + if (towers.isEmpty() || towers.size < 5) { + if (towers.isEmpty()) { + towers.addAll(defaultTowers); + } else { + for (TowerType tower : defaultTowers) { + if (towers.size < 5 && !towers.contains(tower, false)) { + towers.add(tower); + } + } + } } TextButton tower1 = new TextButton(towers.get(0).getTowerName(), skin);