Composite-Komponenten auf reines Kompositionssystem umstellen #13

Closed
opened 2026-04-16 19:59:56 +00:00 by sebastian · 0 comments
Owner

Problem: UiBuildingMenuButton, UiRessourceWidget, UiBuildingMenuCostContainer und UiInventoryContainer haben alle custom onCollectRenderData()-Implementierungen für Hintergründe und Layouts die das Flex-System übernehmen könnte.
Lösung: Jede dieser Klassen wird zu einer reinen UiBox-Subklasse deren Kinder das Rendering übernehmen:

  • Hintergrund → UiImage-Kind (erstes Kind, full-size)
  • Layout → Flex-System
  • Spezifische Methoden (updateRessource(), addRessource()) bleiben, aber kein custom Rendering mehr
    Acceptance Criteria:
  • Keine onCollectRenderData()-Implementierungen mehr in game-spezifischen UI-Klassen
  • Alle Composite-Komponenten sind reine Zusammensetzungen aus Engine-Typen (UiBox, UiImage, UiText)
**Problem**: UiBuildingMenuButton, UiRessourceWidget, UiBuildingMenuCostContainer und UiInventoryContainer haben alle custom onCollectRenderData()-Implementierungen für Hintergründe und Layouts die das Flex-System übernehmen könnte. **Lösung**: Jede dieser Klassen wird zu einer reinen UiBox-Subklasse deren Kinder das Rendering übernehmen: - Hintergrund → UiImage-Kind (erstes Kind, full-size) - Layout → Flex-System - Spezifische Methoden (updateRessource(), addRessource()) bleiben, aber kein custom Rendering mehr Acceptance Criteria: - Keine onCollectRenderData()-Implementierungen mehr in game-spezifischen UI-Klassen - Alle Composite-Komponenten sind reine Zusammensetzungen aus Engine-Typen (UiBox, UiImage, UiText)
sebastian added the
refactoring
engine
ui
labels 2026-04-16 19:59:56 +00:00
sebastian added this to the Kompositionsmodell milestone 2026-04-16 19:59:59 +00:00
sebastian added this to the Dicewars project 2026-04-16 21:01:03 +00:00
sebastian added the
wontfix
label 2026-04-20 10:03:19 +00:00
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sebastian/Dicewars-Siedler#13
No description provided.