Finalised json save, added newtonsoft to project, v1.3.0
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
using Assets.Scripts;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
public class NoiseGenerator
|
||||
{
|
||||
@@ -227,4 +229,31 @@ public class NoiseGenerator
|
||||
mesh.colors32 = colors;
|
||||
tile.GetComponent<MeshCollider>().sharedMesh = mesh;
|
||||
}
|
||||
|
||||
public string saveTile(GameObject tile)
|
||||
{
|
||||
string result = "";
|
||||
Vector3[] vertices = tile.GetComponent<MeshFilter>().mesh.vertices;
|
||||
Color32[] colors = tile.GetComponent<MeshFilter>().mesh.colors32;
|
||||
result = result + "\"vertices\": {\r\n";
|
||||
for (int i = 0; i < vertices.Length; i++)
|
||||
{
|
||||
result = result + FileHandler.generateJSON("vertice"+i, "\"" + vertices[i].x + "/" + vertices[i].y + "/" + vertices[i].z + "\"");
|
||||
if (i < vertices.Length - 1)
|
||||
{
|
||||
result = result + ",\r\n";
|
||||
}
|
||||
}
|
||||
result = result + "\r\n},\"colors\": {\r\n";
|
||||
for (int i = 0; i < colors.Length; i++)
|
||||
{
|
||||
result = result + FileHandler.generateJSON("color" + i, "\"" + colors[i].r + "/" + colors[i].g + "/" + colors[i].b + "\"");
|
||||
if (i < colors.Length - 1)
|
||||
{
|
||||
result = result + ",\r\n";
|
||||
}
|
||||
}
|
||||
result = result + "\r\n}";
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,17 +220,13 @@ public class Tile : MonoBehaviour
|
||||
string result = "";
|
||||
GameObject obj;
|
||||
result = result + FileHandler.generateJSON("tiletype", "\"" + tiletype + "\"") + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("positionX", position.x) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("positionY", position.y) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("positionZ", position.z) + ",\r\n";
|
||||
result = result + "\"Objects\": {\r\n";
|
||||
result = result + FileHandler.generateJSON("position", "\"" + position.x + "/" + position.y + "/" + position.z + "\"") + ",\r\n";
|
||||
result = result + "\"objects\": {\r\n";
|
||||
for (int i = 0; i < gameObject.transform.childCount; i++)
|
||||
{
|
||||
obj = gameObject.transform.GetChild(i).gameObject;
|
||||
result = result + "\"Object" + i + "\": {\r\n";
|
||||
result = result + FileHandler.generateJSON("positionX", obj.transform.position.x) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("positionY", obj.transform.position.y) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("positionZ", obj.transform.position.z) + ",\r\n";
|
||||
result = result + "\"object" + i + "\": {\r\n";
|
||||
result = result + FileHandler.generateJSON("position", "\"" + obj.transform.position.x + "/" + obj.transform.position.y + "/" + obj.transform.position.z + "\"") + ",\r\n";
|
||||
if (obj.tag.Contains("Enemy"))
|
||||
{
|
||||
result = result + obj.GetComponent<Enemy>().saveEnemy() + "\r\n}";
|
||||
@@ -247,4 +243,11 @@ public class Tile : MonoBehaviour
|
||||
result = result + "\r\n}";
|
||||
return result;
|
||||
}
|
||||
|
||||
public string saveCurrent()
|
||||
{
|
||||
string result = "";
|
||||
result = result + "\"" + position.x + "/" + position.y + "/" + position.z + "\"";
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,18 +186,21 @@ public class WorldGenerator : MonoBehaviour
|
||||
int counter = 0;
|
||||
result = result + FileHandler.generateJSON("cityAmount", cityAmount) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("maxCityAmount", maxCityAmount) + ",\r\n";
|
||||
result = result + "\"currentTile\": {\r\n";
|
||||
result = result + currentTile.GetComponent<Tile>().saveTile() + "\r\n},\r\n";
|
||||
result = result + "\"Map\": {\r\n";
|
||||
result = result + "\"currentTile\": " + currentTile.GetComponent<Tile>().saveCurrent() + ",\r\n";
|
||||
result = result + "\"map\": {\r\n";
|
||||
foreach (GameObject tile in tiles.Values)
|
||||
{
|
||||
result = result + "\"Tile"+counter+"\": {\r\n";
|
||||
result = result + tile.GetComponent<Tile>().saveTile() + "\r\n}";
|
||||
if (counter < tiles.Count - 1)
|
||||
if (tile.name != "Spawn")
|
||||
{
|
||||
result = result + ",\r\n";
|
||||
result = result + "\"tile" + counter + "\": {\r\n";
|
||||
result = result + tile.GetComponent<Tile>().saveTile() + ",\r\n";
|
||||
result = result + noise.saveTile(tile) + "\r\n}";
|
||||
if (counter < tiles.Count - 1)
|
||||
{
|
||||
result = result + ",\r\n";
|
||||
}
|
||||
counter++;
|
||||
}
|
||||
counter++;
|
||||
}
|
||||
result = result + "\r\n}";
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user