experiemtnal save fn actualyl working

This commit is contained in:
Ondřej Hruška
2014-04-23 01:52:57 +02:00
parent facec9d6d3
commit 56aef90e83
4 changed files with 23 additions and 7 deletions
@@ -29,10 +29,11 @@ public class WorldLayer extends ScreenLayer {
// FIXME just temporary test here // FIXME just temporary test here
final Random rand = new Random(); final Random rand = new Random();
final File f = new File(Paths.WORKDIR, "test-world.ion");
final World w = MapGenerator.createWorld(rand.nextLong()); final World w = MapGenerator.createWorld(rand.nextLong());
try { try {
Ion.toFile(new File(Paths.WORKDIR, "test-world.ion"), w); Ion.toFile(f, w);
} catch (final IOException e) { } catch (final IOException e) {
e.printStackTrace(); e.printStackTrace();
System.exit(1); System.exit(1);
@@ -42,7 +43,7 @@ public class WorldLayer extends ScreenLayer {
// final World w; // final World w;
// //
// try { // try {
// w = Ion.fromFile("amap.ion", World.class); // w = Ion.fromFile(f, World.class);
// } catch (IOException e) { // } catch (IOException e) {
// e.printStackTrace(); // e.printStackTrace();
// System.exit(1); // System.exit(1);
@@ -91,6 +92,19 @@ public class WorldLayer extends ScreenLayer {
} }
}); });
bindKey(new KeyStroke(Keys.L_CONTROL, Keys.S), new Runnable() {
@Override
public void run()
{
try {
Ion.toFile(f, w);
} catch (final IOException e) {
e.printStackTrace();
}
}
});
c.addMoveListener(new EntityMoveListener() { c.addMoveListener(new EntityMoveListener() {
private void tryGo(Entity entity) private void tryGo(Entity entity)
+4 -4
View File
@@ -16,16 +16,16 @@ public class PlayerInfo implements IonBundled {
@Override @Override
public void load(IonBundle bundle) throws IOException public void load(IonBundle bundle) throws IOException
{ {
eid = bundle.get("attached_eid", 0); eid = bundle.get("eid", 0);
level = bundle.get("current_level", 0); level = bundle.get("floor", 0);
} }
@Override @Override
public void save(IonBundle bundle) throws IOException public void save(IonBundle bundle) throws IOException
{ {
bundle.put("attached_eid", eid); bundle.put("eid", eid);
bundle.put("current_level", level); bundle.put("floor", level);
} }
+2
View File
@@ -38,6 +38,8 @@ public class World implements IonBundled, Updateable {
eid = in.get("next_eid", 0); eid = in.get("next_eid", 0);
in.loadSequence("levels", levels); in.loadSequence("levels", levels);
in.loadBundled("player", player); in.loadBundled("player", player);
playerEntity = levels.get(player.getLevel()).getEntity(player.getEID());
} }
+1 -1
View File
@@ -212,7 +212,7 @@ public class Ion {
*/ */
public static <T extends IonBundled> T fromStream(InputStream in, Class<? extends T> objClass) throws IOException public static <T extends IonBundled> T fromStream(InputStream in, Class<? extends T> objClass) throws IOException
{ {
return unwrap(new IonInput(in).readBundle(), objClass); return unwrap((IonBundle)new IonInput(in).readObject(), objClass);
} }