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