experiemtnal save fn actualyl working
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user