experiemtnal save fn actualyl working

v5stable
Ondřej Hruška 11 years ago
parent facec9d6d3
commit 56aef90e83
  1. 18
      src/mightypork/rogue/screens/ingame/WorldLayer.java
  2. 8
      src/mightypork/rogue/world/PlayerInfo.java
  3. 2
      src/mightypork/rogue/world/World.java
  4. 2
      src/mightypork/util/ion/Ion.java

@ -29,10 +29,11 @@ public class WorldLayer extends ScreenLayer {
// FIXME just temporary test here
final Random rand = new Random();
final File f = new File(Paths.WORKDIR, "test-world.ion");
final World w = MapGenerator.createWorld(rand.nextLong());
try {
Ion.toFile(new File(Paths.WORKDIR, "test-world.ion"), w);
Ion.toFile(f, w);
} catch (final IOException e) {
e.printStackTrace();
System.exit(1);
@ -42,7 +43,7 @@ public class WorldLayer extends ScreenLayer {
// final World w;
//
// try {
// w = Ion.fromFile("amap.ion", World.class);
// w = Ion.fromFile(f, World.class);
// } catch (IOException e) {
// e.printStackTrace();
// 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() {
private void tryGo(Entity entity)

@ -16,16 +16,16 @@ public class PlayerInfo implements IonBundled {
@Override
public void load(IonBundle bundle) throws IOException
{
eid = bundle.get("attached_eid", 0);
level = bundle.get("current_level", 0);
eid = bundle.get("eid", 0);
level = bundle.get("floor", 0);
}
@Override
public void save(IonBundle bundle) throws IOException
{
bundle.put("attached_eid", eid);
bundle.put("current_level", level);
bundle.put("eid", eid);
bundle.put("floor", level);
}

@ -38,6 +38,8 @@ public class World implements IonBundled, Updateable {
eid = in.get("next_eid", 0);
in.loadSequence("levels", levels);
in.loadBundled("player", player);
playerEntity = levels.get(player.getLevel()).getEntity(player.getEID());
}

@ -212,7 +212,7 @@ public class Ion {
*/
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);
}

Loading…
Cancel
Save