Java Core
Dynamische Interaktionslogik basierend auf Entitäts-Zuständen
Die Interaktionsmethode eines NPCs wertet den aktuellen Zustand einer verknüpften Quest dynamisch aus. Abhängig vom Status verändert sich sowohl der im Dialog ausgegebene Text als auch der Quest-Zustand selbst. Ablauf:NOT_STARTET: Der Begrüßungstext wird angezeigt und die Quest durch quest.start() automatisch in den Status ACTIVE versetzt. ACTIVE: Ergänzender Zwischentext wird angezeigt. COMPLETED: Danksagungstext wird ausgegeben.
Referenz:
Datei
1. Spielprojekt
· Klasse NPC
@Override
public void interact() {
if (quest == null) {
dialogBox.show(name + ": " + greetingText);
return;
}
switch (quest.getStatus()) {
case NOT_STARTET:
dialogBox.show(name + ": " + greetingText);
quest.start(); // Statuswechsel durchführen
break;
case ACTIVE:
dialogBox.show(name + ": Hast du '" + quest.getTitle() + "' schon erledigt?");
break;
case COMPLETED:
dialogBox.show(name + ": Danke nochmal für deine Hilfe!");
break;
}
}