mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-26 16:50:15 +00:00
Fix terrain streaming loop and auto-select single realm/character
Use getRemainingTileCount (pending + readyQueue) and processAllReadyTiles to prevent loading screen from exiting before tiles are finalized. Auto-select realm and character when only one is available.
This commit is contained in:
parent
81d712121e
commit
aa11ffda72
5 changed files with 68 additions and 15 deletions
|
|
@ -33,6 +33,20 @@ void CharacterScreen::render(game::GameHandler& gameHandler) {
|
|||
gameHandler.requestCharacterList();
|
||||
} else if (characters.empty()) {
|
||||
ImGui::Text("No characters available.");
|
||||
} else if (characters.size() == 1 && !characterSelected) {
|
||||
// Auto-select the only available character
|
||||
selectedCharacterIndex = 0;
|
||||
selectedCharacterGuid = characters[0].guid;
|
||||
characterSelected = true;
|
||||
std::stringstream ss;
|
||||
ss << "Entering world with " << characters[0].name << "...";
|
||||
setStatus(ss.str());
|
||||
if (!gameHandler.isSinglePlayerMode()) {
|
||||
gameHandler.selectCharacter(characters[0].guid);
|
||||
}
|
||||
if (onCharacterSelected) {
|
||||
onCharacterSelected(characters[0].guid);
|
||||
}
|
||||
} else {
|
||||
// Character table
|
||||
if (ImGui::BeginTable("CharactersTable", 6, ImGuiTableFlags_Borders | ImGuiTableFlags_RowBg)) {
|
||||
|
|
|
|||
|
|
@ -28,6 +28,16 @@ void RealmScreen::render(auth::AuthHandler& authHandler) {
|
|||
if (realms.empty()) {
|
||||
ImGui::Text("No realms available. Requesting realm list...");
|
||||
authHandler.requestRealmList();
|
||||
} else if (realms.size() == 1 && !realmSelected && !realms[0].lock) {
|
||||
// Auto-select the only available realm
|
||||
selectedRealmIndex = 0;
|
||||
realmSelected = true;
|
||||
selectedRealmName = realms[0].name;
|
||||
selectedRealmAddress = realms[0].address;
|
||||
setStatus("Auto-selecting realm: " + realms[0].name);
|
||||
if (onRealmSelected) {
|
||||
onRealmSelected(selectedRealmName, selectedRealmAddress);
|
||||
}
|
||||
} else {
|
||||
// Realm table
|
||||
if (ImGui::BeginTable("RealmsTable", 5, ImGuiTableFlags_Borders | ImGuiTableFlags_RowBg)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue