package net.fourbytes.shadow.network.menus;
import com.badlogic.gdx.utils.JsonValue;
import net.fourbytes.shadow.MenuLevel;
import net.fourbytes.shadow.Shadow;
import net.fourbytes.shadow.network.ClientLevel;
import net.fourbytes.shadow.utils.Garbage;
import net.fourbytes.shadow.utils.Options;
public class JoinMenuLevel extends MenuLevel {
public String name;
public String ip;
public JoinMenuLevel(String name, String ip) {
this(null, name, ip);
}
public JoinMenuLevel(MenuLevel parent, String name, String ip) {
super(parent);
this.name = name;
this.ip = ip;
items.add(new MenuItem(this, "Join Server", new Runnable(){public void run(){
Shadow.level = new ClientLevel(JoinMenuLevel.this.ip);
Shadow.cam.firsttick = true;
}}));
items.add(new MenuItem(this, "Remove Server", new Runnable(){public void run(){
String jsonString = Options.getString("mp.servers", "[]");
if (jsonString != null) {
JsonValue json = Garbage.jsonReader.parse(jsonString);
for (JsonValue server = json.child; server != null; server = server.next) {
String name = server.getString("name");
String ip = server.getString("ip");
if (name.equals(JoinMenuLevel.this.name) && ip.equals(JoinMenuLevel.this.ip)) {
if (server.prev != null) {
server.prev.next = server.next;
}
if (server.next != null) {
server.next.prev = server.prev;
}
if (json.child == server) {
json.child = server.next;
}
Options.putString("mp.servers", json.toString());
Options.flush();
break;
}
}
}
Shadow.level = JoinMenuLevel.this.parent;
Shadow.cam.firsttick = true;
}}));
items.add(new MenuItem(this, "Back", new Runnable(){public void run(){
Shadow.level = JoinMenuLevel.this.parent;
Shadow.cam.firsttick = true;
}}));
ready = true;
}
}