6. Road Placement & Base Placer

Maak een UI systeem om tussen verschillende building types te wisselen met arrow buttons

Overzicht

In dit hoofdstuk leer je:

circle-info

UI-architectuur

Tot nu toe was het alleen mogelijk om building ID 0 te plaatsen via linkermuisklik. Je moest de code aanpassen om een ander building type te selecteren. Niet erg gebruiksvriendelijk!

In dit hoofdstuk maak je een visuele gebouw-selector met:

  • Preview textures van alle 5 gebouwen

  • Arrow buttons om te cyclen tussen building types

  • Gecentraliseerde input handling

De UI haalt preview textures direct van de MeshLibrary - geen extra assets nodig!

UI Scene opzetten

Bouw de visuele interface voor de building selector.

circle-check

BuildingSelector script implementeren

Maak het script en implementeer de building selectie logica.

Nieuwe Godot-specifieke elementen:

circle-check

Texture extraction implementeren

Haal de preview textures op uit de MeshLibrary.

circle-check

Building selectie logica

Implementeer cycling tussen building types met arrow buttons.

circle-check

Initialisatie en input handling

Koppel button signals en centraliseer input handling.

Nieuwe Godot-specifieke elementen:

circle-check
circle-check

BuildingPlacer input verwijderen

Verwijder de oude input handling uit BuildingPlacer.

circle-check

UI koppelen en testen

Integreer de UI in de main scene en test het systeem.

circle-check
circle-check
circle-check

Veelgemaakte fouten

  • Preview textures zijn null: Controleer of de GridMap export correct is ingesteld en een MeshLibrary heeft.

  • Buttons reageren niet: Controleer of de button signals zijn gekoppeld in _Ready().

  • Input werkt niet: Zorg dat je _UnhandledInput() gebruikt, niet _Input(). UI elements consumeren input in _Input().

  • Buildings worden niet geplaatst: Controleer of de BuildingPlacer export correct is ingesteld in de UI node.

  • Wraparound werkt niet: Check of je + _buildingTextures.Length gebruikt in de modulo berekening (voorkomt negatieve getallen).

Volledig script

chevron-rightKlik hier voor het volledige BuildingSelector.cs scripthashtag

Laatst bijgewerkt