Java Core
Dynamische Datenfilterung für Benutzeroberflächen basierend auf Domain-Zuständen
Nicht alle im Speicher gehaltenen Daten einer Entitätsliste sollen dem Spieler im HUD angezeigt werden. Noch nicht von NPCs angenommene Quests (NOT_STARTET) verbleiben zwar in der globalen Quest-Liste, werden aber vor der GUI-Verarbeitung gefiltert. Design-Vorteile:Informationsgehalt: Das HUD bleibt aufgeräumt und zeigt nur relevante Informationen (ACTIVE, COMPLETED). Performance & Early-Exit: Enthält die sichtbare Teilmenge keine Elemente, bricht die Zeichenmethode frühzeitig ab (return), ohne unnötige Render-Befehle auszuführen.
Referenz:
Datei
1. Spielprojekt
· Klasse GameWindow.GamePanel
private void drawQuestTracker(Graphics g) {
List<Quest> visibleQuests = new ArrayList<>();
for (Quest quest : quests) {
if (quest.getStatus() != Queststatus.NOT_STARTET) {
visibleQuests.add(quest);
}
}
if (visibleQuests.isEmpty()) {
return; // Early Exit bei leerer Anzeige
}
// Zeichnen des UI-Panels...
}