Back to quest list button fix (#8094)

This commit is contained in:
Eradev
2025-07-18 03:32:11 -04:00
committed by GitHub
parent 69e2f90c8d
commit e57708543a

View File

@@ -27,7 +27,6 @@ public class QuestLogScene extends UIScene {
private QuestLogScene() {
super(Forge.isLandscapeMode() ? "ui/quests.json" : "ui/quests_portrait.json");
scrollWindow = ui.findActor("scrollWindow");
root = ui.findActor("questList");
detailRoot = ui.findActor("questDetails");
@@ -36,11 +35,13 @@ public class QuestLogScene extends UIScene {
backToListButton = Controls.newTextButton("Quest List");
ui.onButtonPress("return", QuestLogScene.this::back);
ui.onButtonPress("status", QuestLogScene.this::status);
ui.onButtonPress("backToList", QuestLogScene.this::backToList);
//Todo - refactor below, replace buttons in landscape
backToListButton.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y) {
buildList();
}
});
// TODO - refactor below, replace buttons in landscape
scrollContainer = new Table(Controls.getSkin());
scrollContainer.row();
@@ -76,9 +77,6 @@ public class QuestLogScene extends UIScene {
root.row();
ScrollPane scroller = new ScrollPane(scrollContainer);
root.add(scroller).colspan(3).fill().expand();
}
private static QuestLogScene object;
@@ -92,16 +90,12 @@ public class QuestLogScene extends UIScene {
}
@Override
public void dispose() {
}
public void dispose() { }
@Override
public void enter() {
super.enter();
buildList();
}
public void buildList(){
@@ -116,7 +110,7 @@ public class QuestLogScene extends UIScene {
nameLabel.setColor(Color.BLACK);
scrollContainer.add(nameLabel).align(Align.left).expandX();
Button details = Controls.newTextButton(Forge.getLocalizer().getMessage("lblDetails"));
details.addListener( new ClickListener(){
details.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y){
loadDetailsPane(quest);
}
@@ -128,7 +122,7 @@ public class QuestLogScene extends UIScene {
performTouch(scrollPaneOfActor(scrollContainer)); //can use mouse wheel if available to scroll
}
private void backToList(){
private void backToList() {
abandonQuestButton.setVisible(false);
trackButton.setVisible(false);
backToListButton.setVisible(false);
@@ -137,8 +131,8 @@ public class QuestLogScene extends UIScene {
detailRoot.setVisible(false);
}
private void loadDetailsPane(AdventureQuestData quest){
if (quest == null){
private void loadDetailsPane(AdventureQuestData quest) {
if (quest == null) {
return;
}
root.setVisible(false);
@@ -146,16 +140,15 @@ public class QuestLogScene extends UIScene {
detailScrollContainer.clear();
detailScrollContainer.row();
trackButton.setText(quest.isTracked?Forge.getLocalizer().getMessage("lblUntrackQuest"):Forge.getLocalizer().getMessage("lblTrackQuest"));
trackButton.addListener( new ClickListener(){
public void clicked(InputEvent event, float x, float y){
trackButton.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y) {
toggleTracked(quest);
}
});
abandonQuestButton.setColor(Color.RED);
abandonQuestButton.addListener( new ClickListener(){
public void clicked(InputEvent event, float x, float y){
abandonQuestButton.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y) {
Dialog confirm = createGenericDialog("", Forge.getLocalizer().getMessage("lblAbandonQuestConfirm"),Forge.getLocalizer().getMessage("lblYes"),Forge.getLocalizer().getMessage("lblNo"), () -> abandonQuest(quest), null);
showDialog(confirm);
}
@@ -208,7 +201,7 @@ public class QuestLogScene extends UIScene {
}
}
private void toggleTracked(AdventureQuestData quest){
private void toggleTracked(AdventureQuestData quest) {
if (quest.isTracked){
quest.isTracked = false;
trackButton.setText(Forge.getLocalizer().getMessage("lblTrackQuest"));
@@ -225,7 +218,7 @@ public class QuestLogScene extends UIScene {
@Override
public boolean back(){
//Needed so long as quest log and stats are separate scenes that link to each other
Forge.switchScene(lastGameScene==null?GameScene.instance():lastGameScene);
Forge.switchScene(lastGameScene==null ? GameScene.instance() : lastGameScene);
return true;
}
@@ -234,5 +227,4 @@ public class QuestLogScene extends UIScene {
AdventureQuestController.instance().showQuestDialogs(MapStage.getInstance());
buildList();
}
}