Merge pull request #302 from ViniciusCruzMoura/singleplayer_menu
Some checks failed
Publish Documentation / build (push) Has been cancelled
Build (Linux, x86_64) / build-linux (push) Has been cancelled
Build (Linux, x86_64) / build-linux-debug (push) Has been cancelled
Clang Format / clang-format (push) Has been cancelled

SelectWorldScreen: open Select World instead of Create New World for JAVA_GUIS
This commit is contained in:
ffqq 2026-03-23 14:37:24 +03:00 committed by GitHub
commit 52b553e85b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 36 additions and 28 deletions

View file

@ -152,8 +152,10 @@ std::wstring CreateWorldScreen::findAvailableFolderName(
void CreateWorldScreen::removed() { Keyboard::enableRepeatEvents(false); }
void CreateWorldScreen::buttonClicked(Button* button) {
app.DebugPrintf("CreateWorldScreen::buttonClicked START\n");
if (!button->active) return;
if (button->id == 1) {
app.DebugPrintf("CreateWorldScreen::buttonClicked 'Cancel' minecraft->setScreen(lastScreen)\n");
minecraft->setScreen(lastScreen);
} else if (button->id == 0) {
minecraft->setScreen(
@ -418,4 +420,4 @@ void CreateWorldScreen::tabPressed() {
nameEdit->focus(true);
seedEdit->focus(false);
}
}
}

View file

@ -24,6 +24,7 @@ SelectWorldScreen::SelectWorldScreen(Screen* lastScreen) {
}
void SelectWorldScreen::init() {
app.DebugPrintf("SelectWorldScreen::init() START\n");
Language* language = Language::getInstance();
title = language->getElement(L"selectWorld.title");
@ -84,6 +85,7 @@ void SelectWorldScreen::postInit() {
}
void SelectWorldScreen::buttonClicked(Button* button) {
app.DebugPrintf("SelectWorldScreen::buttonClicked START\n");
if (!button->active) return;
if (button->id == BUTTON_DELETE_ID) {
std::wstring worldName = getWorldName(selectedWorld);
@ -125,6 +127,7 @@ void SelectWorldScreen::buttonClicked(Button* button) {
minecraft->setScreen(
new RenameWorldScreen(this, getWorldId(selectedWorld)));
} else if (button->id == BUTTON_CANCEL_ID) {
app.DebugPrintf("SelectWorldScreen::buttonClicked 'Cancel' minecraft->setScreen(lastScreen)\n");
minecraft->setScreen(lastScreen);
} else {
worldSelectionList->buttonClicked(button);
@ -173,35 +176,38 @@ void SelectWorldScreen::render(int xm, int ym, float a) {
Screen::render(xm, ym, a);
// 4J - debug code - remove
static int count = 0;
static bool forceCreateLevel = false;
if (count++ >= 100) {
if (!forceCreateLevel && levelList->size() > 0) {
// 4J Stu - For some obscures reason the "delete" button is called
// "renameButton" and vice versa.
// if( levelList->size() > 2 && deleteButton->active )
//{
// this->selectedWorld = 2;
// count = 0;
// buttonClicked(deleteButton);
//}
// else
if (levelList->size() > 1 && renameButton->active) {
this->selectedWorld = 1;
count = 0;
buttonClicked(renameButton);
} else if (selectButton->active == true) {
this->selectedWorld = 0;
buttonClicked(selectButton);
// this->worldSelected( 0 );
if (0) {
static int count = 0;
static bool forceCreateLevel = false;
if (count++ >= 100) {
if (!forceCreateLevel && levelList->size() > 0) {
// 4J Stu - For some obscures reason the "delete" button is called
// "renameButton" and vice versa.
// if( levelList->size() > 2 && deleteButton->active )
//{
// this->selectedWorld = 2;
// count = 0;
// buttonClicked(deleteButton);
//}
// else
if (levelList->size() > 1 && renameButton->active) {
this->selectedWorld = 1;
count = 0;
buttonClicked(renameButton);
} else if (selectButton->active == true) {
this->selectedWorld = 0;
buttonClicked(selectButton);
// this->worldSelected( 0 );
} else {
selectButton->active = true;
deleteButton->active = true;
renameButton->active = true;
count = 0;
}
} else {
selectButton->active = true;
deleteButton->active = true;
renameButton->active = true;
count = 0;
app.DebugPrintf("SelectWorldScreen::render minecraft->setScreen(new CreateWorldScreen(this))\n");
minecraft->setScreen(new CreateWorldScreen(this));
}
} else {
minecraft->setScreen(new CreateWorldScreen(this));
}
}
}