v0.3.4c: added callback functionality for scene changes
This commit is contained in:
@@ -29,6 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||
import com.watabou.noosa.ColorBlock;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.RenderedText;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -65,10 +66,17 @@ public class WndLangs extends Window {
|
||||
protected void onClick() {
|
||||
super.onClick();
|
||||
Messages.setup(langs.get(langIndex));
|
||||
ShatteredPixelDungeon.language(langs.get(langIndex));
|
||||
RenderedText.clearCache();
|
||||
PixelScene.windowOnCreate = WndLangs.class;
|
||||
ShatteredPixelDungeon.switchNoFade(TitleScene.class);
|
||||
ShatteredPixelDungeon.switchNoFade(TitleScene.class, new Game.SceneChangeCallback() {
|
||||
@Override
|
||||
public void beforeCreate() {
|
||||
ShatteredPixelDungeon.language(langs.get(langIndex));
|
||||
RenderedText.clearCache();
|
||||
}
|
||||
@Override
|
||||
public void afterCreate() {
|
||||
Game.scene().add(new WndLangs());
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
if (currLang == langs.get(i)){
|
||||
|
||||
@@ -113,8 +113,17 @@ public class WndSettings extends WndTabbed {
|
||||
protected void onChange() {
|
||||
if (getSelectedValue() != ShatteredPixelDungeon.scale()) {
|
||||
ShatteredPixelDungeon.scale(getSelectedValue());
|
||||
PixelScene.windowOnCreate = WndSettings.class;
|
||||
ShatteredPixelDungeon.switchNoFade((Class<? extends PixelScene>) ShatteredPixelDungeon.scene().getClass());
|
||||
ShatteredPixelDungeon.switchNoFade((Class<? extends PixelScene>) ShatteredPixelDungeon.scene().getClass(), new Game.SceneChangeCallback() {
|
||||
@Override
|
||||
public void beforeCreate() {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCreate() {
|
||||
Game.scene().add(new WndSettings());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -242,9 +251,17 @@ public class WndSettings extends WndTabbed {
|
||||
@Override
|
||||
protected void onClick() {
|
||||
super.onClick();
|
||||
ShatteredPixelDungeon.classicFont(!checked());
|
||||
PixelScene.windowOnCreate = WndSettings.class;
|
||||
ShatteredPixelDungeon.switchNoFade((Class<? extends PixelScene>) ShatteredPixelDungeon.scene().getClass());
|
||||
ShatteredPixelDungeon.switchNoFade((Class<? extends PixelScene>) ShatteredPixelDungeon.scene().getClass(), new Game.SceneChangeCallback() {
|
||||
@Override
|
||||
public void beforeCreate() {
|
||||
ShatteredPixelDungeon.classicFont(!checked());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCreate() {
|
||||
Game.scene().add(new WndSettings());
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
chkFont.setRect(0, slots.bottom() + GAP_SML, WIDTH, BTN_HEIGHT);
|
||||
|
||||
Reference in New Issue
Block a user