Reset realm and character lists when switching servers

Add reset() to RealmScreen and CharacterScreen to clear stale selection
state. Clear auth handler realm list on reconnect. Reset both screens
when going back to login or back to realm selection, so switching
servers shows fresh data instead of stale lists from the previous
connection.
This commit is contained in:
Kelsi 2026-02-14 19:24:31 -08:00
parent 57ceb96275
commit 53e5aff4d2
4 changed files with 44 additions and 0 deletions

View file

@ -48,6 +48,25 @@ public:
void setOnBack(std::function<void()> cb) { onBack = std::move(cb); }
void setOnDeleteCharacter(std::function<void(uint64_t)> cb) { onDeleteCharacter = std::move(cb); }
/**
* Reset selection state (e.g., when switching servers)
*/
void reset() {
selectedCharacterIndex = -1;
characterSelected = false;
selectedCharacterGuid = 0;
restoredLastCharacter = false;
newlyCreatedCharacterName.clear();
statusMessage.clear();
deleteConfirmStage = 0;
previewInitialized_ = false;
previewGuid_ = 0;
previewAppearanceBytes_ = 0;
previewFacialFeatures_ = 0;
previewUseFemaleModel_ = false;
previewEquipHash_ = 0;
}
/**
* Check if a character has been selected
*/