Added saving for the PDA

This commit is contained in:
Modmuss50 2015-09-23 20:42:42 +01:00
parent 081f16a533
commit 2dfaf5e739
2 changed files with 60 additions and 8 deletions

View file

@ -183,6 +183,7 @@ public class GuiManual extends GuiScreen{
super.initGui(); super.initGui();
this.guiLeft = (this.width - this.xSize) / 2; this.guiLeft = (this.width - this.xSize) / 2;
this.guiTop = (this.height - this.ySize) / 2; this.guiTop = (this.height - this.ySize) / 2;
ConfigPage.load();
} }
@Override @Override

View file

@ -1,5 +1,8 @@
package techreborn.pda.pages; package techreborn.pda.pages;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import org.lwjgl.input.Keyboard; import org.lwjgl.input.Keyboard;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -10,14 +13,19 @@ import techreborn.init.ModItems;
import techreborn.pda.PageCollection; import techreborn.pda.PageCollection;
import techreborn.pda.util.GuiButtonCustomTexture; import techreborn.pda.util.GuiButtonCustomTexture;
import java.io.*;
import java.lang.reflect.Type;
import java.util.TreeMap;
public class ConfigPage extends TitledPage { public class ConfigPage extends TitledPage {
public int GUI_ID = 0; public static PDASettings pdaSettings;
public float scale = 0F;
private GuiButton plusOneButton; private GuiButton plusOneButton;
private GuiButton minusOneButton; private GuiButton minusOneButton;
private GuiButton plusOneButtonScale; private GuiButton plusOneButtonScale;
private GuiButton minusOneButtonScale; private GuiButton minusOneButtonScale;
private static File pdaSettingsFile = new File(Minecraft.getMinecraft().mcDataDir, "TechRebornPDASettings.pda");
public ConfigPage(String name, PageCollection collection, String unlocalizedTitle) { public ConfigPage(String name, PageCollection collection, String unlocalizedTitle) {
super(name, true, collection, "techreborn.pda.pdaconfig", 518915); super(name, true, collection, "techreborn.pda.pdaconfig", 518915);
} }
@ -35,21 +43,64 @@ public class ConfigPage extends TitledPage {
buttonList.add(minusOneButton); buttonList.add(minusOneButton);
buttonList.add(plusOneButtonScale); buttonList.add(plusOneButtonScale);
buttonList.add(minusOneButtonScale); buttonList.add(minusOneButtonScale);
load();
} }
@Override @Override
public void renderOverlayComponents(Minecraft minecraft, int offsetX, int offsetY, int mouseX, int mouseY) { public void renderOverlayComponents(Minecraft minecraft, int offsetX, int offsetY, int mouseX, int mouseY) {
this.fontRendererObj.drawString("GUI_ID", getXMin() + 20, getYMin() + 20, 518915); this.fontRendererObj.drawString("GUI_ID", getXMin() + 20, getYMin() + 20, 518915);
this.fontRendererObj.drawString(GUI_ID + "", getXMin() + 100, getYMin() + 20, 518915); this.fontRendererObj.drawString(pdaSettings.GUI_ID + "", getXMin() + 100, getYMin() + 20, 518915);
this.fontRendererObj.drawString("GUI_SCALE", getXMin() + 20, getYMin() + 40, 518915); this.fontRendererObj.drawString("GUI_SCALE", getXMin() + 20, getYMin() + 40, 518915);
this.fontRendererObj.drawString(scale + "", getXMin() + 100, getYMin() + 40, 518915); this.fontRendererObj.drawString(pdaSettings.scale + "", getXMin() + 100, getYMin() + 40, 518915);
} }
@Override @Override
public void actionPerformed(GuiButton button) { public void actionPerformed(GuiButton button) {
if (button.id == 0) GUI_ID++; if (button.id == 0) pdaSettings.GUI_ID++;
if (button.id == 1 && GUI_ID != 0) GUI_ID--; if (button.id == 1 && pdaSettings.GUI_ID != 0) pdaSettings.GUI_ID--;
if (button.id == 2) scale++; if (button.id == 2) pdaSettings.scale++;
if (button.id == 3 && scale != 0) scale--; if (button.id == 3 && pdaSettings.scale != 0) pdaSettings.scale--;
save();
}
@Override
public void onGuiClosed() {
super.onGuiClosed();
save();
}
//To add new settings just make a new variable in here, the default value will be the value that you set it.
public static class PDASettings{
public int GUI_ID = 0;
public float scale = 0F;
}
public static void load(){
if(!pdaSettingsFile.exists()){
pdaSettings = new PDASettings();
} else {
try {
Gson gson = new Gson();
BufferedReader reader = new BufferedReader(new FileReader(pdaSettingsFile));
pdaSettings = gson.fromJson(reader, PDASettings.class);
} catch (FileNotFoundException e) {
e.printStackTrace();
pdaSettings = new PDASettings();
}
}
}
public static void save(){
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(pdaSettings);
try {
FileWriter writer = new FileWriter(pdaSettingsFile);
writer.write(json);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
} }
} }