From e2bcaecea59bdf3a4092efdc4b9624b3f83f6fec Mon Sep 17 00:00:00 2001 From: mafaldo Date: Sun, 18 Nov 2018 22:29:05 +0100 Subject: initial commit --- src/MapLoader.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/MapLoader.java (limited to 'src/MapLoader.java') diff --git a/src/MapLoader.java b/src/MapLoader.java new file mode 100644 index 0000000..6478961 --- /dev/null +++ b/src/MapLoader.java @@ -0,0 +1,60 @@ +import java.lang.String; +import java.io.File; +import java.io.PrintWriter; +import java.io.FileReader; +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.awt.Dimension; +import com.google.gson.Gson; + +class MapLoader { + File path; + + public MapLoader(Object path) { + if (path instanceof java.io.File) { + this.path = (File) path; + } else { + this.path = new File((String) path); + } + } + + public Map getMap() { + String mapText = ""; + String line = null; + FileReader fr = null; + BufferedReader bf = null; + + try { + fr = new FileReader(this.path); + bf = new BufferedReader(fr); + while ((line = bf.readLine()) != null) { + mapText = mapText + line; + } + bf.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } + + Gson gson = new Gson(); + Map importMap = gson.fromJson(mapText, Map.class); + + //update map with new classes + Map map = new Map(new Dimension(importMap.getSize(), importMap.getSize())); + map.update(importMap.getActors(), importMap.getGrid()); + return map; + } + + public void saveMap(Map map) { + Gson gson = new Gson(); + String mapText = gson.toJson(map); + PrintWriter out = null; + try { + out = new PrintWriter(this.path + ".json"); + } catch (FileNotFoundException ex) { + ex.printStackTrace(); + } + out.println(mapText); + out.close(); + } +} -- cgit v1.2.1