v0.4.1: massively improved the efficiency of rankings storage
This commit is contained in:
@@ -294,8 +294,8 @@ public class RankingsScene extends PixelScene {
|
||||
|
||||
@Override
|
||||
protected void onClick() {
|
||||
if (rec.gameFile.length() > 0) {
|
||||
parent.add( new WndRanking( rec.gameFile ) );
|
||||
if (rec.gameData != null) {
|
||||
parent.add( new WndRanking( rec ) );
|
||||
} else {
|
||||
parent.add( new WndError( Messages.get(RankingsScene.class, "no_info") ) );
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ package com.shatteredpixel.shatteredpixeldungeon.scenes;
|
||||
|
||||
import android.opengl.GLES20;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Rankings;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.BannerSprites;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Fireball;
|
||||
@@ -144,6 +146,27 @@ public class WelcomeScene extends PixelScene {
|
||||
}
|
||||
|
||||
private void updateVersion(int previousVersion){
|
||||
//rankings conversion
|
||||
if (previousVersion < 108){
|
||||
Rankings.INSTANCE.load();
|
||||
for (Rankings.Record rec : Rankings.INSTANCE.records){
|
||||
try{
|
||||
Dungeon.loadGame(rec.gameFile, false);
|
||||
rec.gameID = rec.gameFile.replaceAll("\\D", "");
|
||||
|
||||
Rankings.INSTANCE.saveGameData(rec);
|
||||
} catch (Exception e){
|
||||
rec.gameID = rec.gameFile.replaceAll("\\D", "");
|
||||
rec.gameData = null;
|
||||
}
|
||||
|
||||
String file = rec.gameFile;
|
||||
rec.gameFile = "";
|
||||
Game.instance.deleteFile(file);
|
||||
}
|
||||
Rankings.INSTANCE.save();
|
||||
}
|
||||
|
||||
ShatteredPixelDungeon.version(ShatteredPixelDungeon.versionCode);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user