fixed ui, localization and save/load

This commit is contained in:
TAASONI3
2023-12-13 13:40:32 +01:00
parent 884a17f330
commit 5583440b7e
11 changed files with 179 additions and 336 deletions

View File

@@ -22,14 +22,13 @@ public class WorldGenerator : MonoBehaviour
// Start is called before the first frame update
void Start()
{
createSpawn();
}
private void OnEnable()
{
tiles = new Dictionary<Vector3, GameObject>();
noise = new NoiseGenerator();
createSpawn();
cityAmount = 10;
maxCityAmount = 10;
}
@@ -72,13 +71,17 @@ public class WorldGenerator : MonoBehaviour
public void createSpawn()
{
Vector3 pos = new Vector3(0, 0, 0);
Vector3 mapPos = new Vector3(pos.x * 100, 0, pos.z * 100);
GameObject newTile = Instantiate(tile, mapPos, Quaternion.identity);
noise.applyNoise(newTile, tiles, pos);
newTile.GetComponent<Tile>().generateTile(pos, (TileType)Enum.Parse(typeof(TileType), newTile.name.Split("_")[0]));
tiles.Add(pos, newTile);
currentTile = newTile;
if (!tiles.ContainsKey(new Vector3(0, 0, 0)))
{
Vector3 pos = new Vector3(0, 0, 0);
Vector3 mapPos = new Vector3(pos.x * 100, 0, pos.z * 100);
GameObject newTile = Instantiate(tile, mapPos, Quaternion.identity);
noise.applyNoise(newTile, tiles, pos);
newTile.GetComponent<Tile>().generateTile(pos, (TileType)Enum.Parse(typeof(TileType), newTile.name.Split("_")[0]));
tiles.Add(pos, newTile);
currentTile = newTile;
}
}
public void createTile(Vector3 requiredPosition)
@@ -92,7 +95,7 @@ public class WorldGenerator : MonoBehaviour
noise.applyNoise(newTile, tiles, pos);
newTile.GetComponent<Tile>().generateTile(pos, (TileType)Enum.Parse(typeof(TileType), newTile.name.Split("_")[0]));
tiles.Add(pos, newTile);
currentTile = newTile;
//currentTile = newTile;
GameObject.Find("QuestLog").GetComponent<QuestLog>().updateQuests("find", newTile, 1);
}
}
@@ -121,15 +124,8 @@ public class WorldGenerator : MonoBehaviour
savePath = "./save/tile" + counter + ".json";
result = result + "\"tile" + counter + "\": \"" + savePath + "\"";
tile.GetComponent<Tile>().saveTile(savePath);
if (tile.GetComponent<Tile>().getTileType() == TileType.CITY)
{
FileHandler.saveNoise("\r\n}", savePath);
}
else
{
noise.saveTile(tile, savePath);
}
if (counter < tiles.Count - 2)
noise.saveTile(tile, savePath);
if (counter < tiles.Count - 1)
{
result = result + ",\r\n";
}
@@ -155,16 +151,10 @@ public class WorldGenerator : MonoBehaviour
vectorParts = jsonData["position"].ToString().Split('/');
pos = new Vector3(float.Parse(vectorParts[0]), float.Parse(vectorParts[1]), float.Parse(vectorParts[2]));
mapPos = new Vector3(pos.x * 100, 0, pos.z * 100);
if (jsonData["tiletype"].ToString() == "CityTile")
{
loadedTile = Instantiate(tile, mapPos, Quaternion.identity);
}
else
{
loadedTile = Instantiate(tile, mapPos, Quaternion.identity);
loadedTile.GetComponent<Tile>().loadTile(jsonData, pos);
noise.loadTile(loadedTile, jsonData["vertices"], jsonData["colors"]);
}
loadedTile = Instantiate(tile, mapPos, Quaternion.identity);
loadedTile.GetComponent<Tile>().loadTile(jsonData, pos);
noise.loadTile(loadedTile, jsonData["vertices"], jsonData["colors"]);
loadedTile.name = jsonData["tilename"].ToString();
tiles.Add(pos, loadedTile);
}
currentTile = tiles[current];