mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Merge branch 'master' into 'master'
[Adventure] prevent NPE when the user tries to save without selecting saveslot See merge request core-developers/forge!6330
This commit is contained in:
@@ -40,7 +40,7 @@ public class SaveLoadScene extends UIScene {
|
|||||||
Dialog dialog;
|
Dialog dialog;
|
||||||
TextField textInput;
|
TextField textInput;
|
||||||
Label header;
|
Label header;
|
||||||
int currentSlot = -3;
|
int currentSlot = -3, lastSelectedSlot = 0;
|
||||||
Image previewImage;
|
Image previewImage;
|
||||||
Image previewBorder;
|
Image previewBorder;
|
||||||
TextButton saveLoadButton, back;
|
TextButton saveLoadButton, back;
|
||||||
@@ -79,7 +79,8 @@ public class SaveLoadScene extends UIScene {
|
|||||||
|
|
||||||
public boolean select(int slot) {
|
public boolean select(int slot) {
|
||||||
currentSlot = slot;
|
currentSlot = slot;
|
||||||
|
if (slot > 0)
|
||||||
|
lastSelectedSlot = slot;
|
||||||
if (previews.containsKey(slot)) {
|
if (previews.containsKey(slot)) {
|
||||||
WorldSaveHeader header = previews.get(slot);
|
WorldSaveHeader header = previews.get(slot);
|
||||||
if (header.preview != null) {
|
if (header.preview != null) {
|
||||||
@@ -104,9 +105,12 @@ public class SaveLoadScene extends UIScene {
|
|||||||
|
|
||||||
public void loadSave() {
|
public void loadSave() {
|
||||||
if (save) {
|
if (save) {
|
||||||
textInput.setText(buttons.get(currentSlot).getText().toString());
|
if (currentSlot > 0) {
|
||||||
dialog.show(stage);
|
//prevent NPE, allowed saveslot is 1 to 10..
|
||||||
stage.setKeyboardFocus(textInput);
|
textInput.setText(buttons.get(currentSlot).getText().toString());
|
||||||
|
dialog.show(stage);
|
||||||
|
stage.setKeyboardFocus(textInput);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (WorldSave.load(currentSlot)) {
|
if (WorldSave.load(currentSlot)) {
|
||||||
Forge.setTransitionScreen(new TransitionScreen(new Runnable() {
|
Forge.setTransitionScreen(new TransitionScreen(new Runnable() {
|
||||||
@@ -193,7 +197,10 @@ public class SaveLoadScene extends UIScene {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
select(-3);
|
if (lastSelectedSlot > 0)
|
||||||
|
select(lastSelectedSlot);
|
||||||
|
else
|
||||||
|
select(-3);
|
||||||
updateFiles();
|
updateFiles();
|
||||||
super.enter();
|
super.enter();
|
||||||
}
|
}
|
||||||
@@ -283,8 +290,9 @@ public class SaveLoadScene extends UIScene {
|
|||||||
scrollPane.setWidth(sW);
|
scrollPane.setWidth(sW);
|
||||||
scrollPane.setHeight(sH*11);
|
scrollPane.setHeight(sH*11);
|
||||||
scrollPane.setX(oX);
|
scrollPane.setX(oX);
|
||||||
previewImage.setScaleX(1.5f);
|
previewImage.setScale(1, 1.2f);
|
||||||
previewImage.setScaleY(0.9f);
|
previewImage.setX(scrollPane.getRight()-105);
|
||||||
|
previewImage.setY(scrollPane.getTop()-71);
|
||||||
float bW = w - 165;
|
float bW = w - 165;
|
||||||
float bX = w/2 - bW/2;
|
float bX = w/2 - bW/2;
|
||||||
back.setWidth(bW/2);
|
back.setWidth(bW/2);
|
||||||
|
|||||||
Reference in New Issue
Block a user