Hallo,
Danke für die Rückmeldung. Hier eine genauere Beschreibung: Es handelt sich um ein Questlog, das auf 2 panels (aktuelle und gelöste Quests) abgebildet wird.
Die Hierachie: ein Empty mit dem QuestlogDisplay-"Verwaltungsskript", child 1 ist ein canvas, das voreingestellt inaktiv ist. Child 2 ist ein weiteres Empty, das wiederum die beiden panels (von denen das gelöste-Quests-Panel voreingestellt inaktiv ist) und das tabulatorpanel als childs hat.
Beim Spielstart werden die gespeicherten offenen und die erledigten Quests vom Questmanager an das QuestLogDisplaySkript übergeben und von diesem wird für jede Quest ein Logdisplay von einem Prefab für die Textanzeige in dem betreffenden Panel als child generiert und die einzelnen Textelemente gefüllt.
Im Spielverlauf können natürlich neue Quests dazukommen bzw erledigte müssen auf den offene-Quests-panel gelöscht werden.
Zu deiner Eingangsfrage: aktualisieren bedeutet einerseits neue Logdisplays zu generieren, ggf erledigte Questlogdisplays im offene-Quests-display löschen bzw bei erledigten Teilquests den betreffenden Text zu aktualisieren.
Ich habe in der Zwischenzeit weiter herumprobiert und festgestellt, das eine kurze Aktivierung des Questcanvas ingame nicht sichtbar ist. Da für eine Aktualisierung der beiden panels diese ggf auch aktiviert werden müssen, musste ich allerdings in das QuestLogDisplaySkript eine bool mit den zugehörigen Abfragen einbauen, um die letzte Panelauswahl des Spieles zu sichern, was natürlich extra Aufwand und somit unschön ist.
Eine Aktualisierung der Panels mit deaktiviertem canvas hat zwar keine Fehler, aber leere panels ergeben.
Grüße Malthea