package net.scapeemulator.game.io;
import net.scapeemulator.game.content.grandexchange.GEOffer;
import net.scapeemulator.game.content.grandexchange.GrandExchange;
import net.scapeemulator.game.model.player.Player;
public abstract class Serializer {
public static class SerializeResult {
private final int status;
private final Player player;
public SerializeResult(int status) {
this(status, null);
}
public SerializeResult(int status, Player player) {
this.status = status;
this.player = player;
}
public int getStatus() {
return status;
}
public Player getPlayer() {
return player;
}
}
public abstract SerializeResult loadPlayer(String username, String password);
public abstract void savePlayer(Player player);
public abstract boolean usernameAvailable(String username);
public abstract boolean register(String username, String password, String ip);
public abstract void loadGrandExchange(GrandExchange ge);
public abstract void saveGrandExchange(GrandExchange ge);
public abstract void saveGrandExchangeOffer(GEOffer offer);
public abstract void removeGrandExchangeOffer(GEOffer offer);
public abstract void loadNPCDefinitions();
public abstract void loadNPCDrops();
public abstract void loadNPCSpawns();
public abstract void loadShops();
}