public void SetTilesConfigurationData(string json) { if (tiles == null) { return; } HexasphereSaveData hsd = JsonUtility.FromJson <HexasphereSaveData> (json); for (int k = 0; k < hsd.tiles.Length; k++) { int tileIndex = hsd.tiles [k].tileIndex; if (tileIndex < 0 || tileIndex >= tiles.Length) { continue; } tiles [tileIndex].tag = hsd.tiles [k].tag; tiles [tileIndex].tagInt = hsd.tiles [k].tagInt; SetTileTexture(tileIndex, hsd.tiles [k].textureIndex, hsd.tiles [k].color); } }
/// <summary> /// Returns a jSON formatted representation of current tiles settings. /// </summary> public string GetTilesConfigurationData() { List <TileSaveData> tsd = new List <TileSaveData> (); for (int k = 0; k < tiles.Length; k++) { Tile tile = tiles [k]; if (tile.tagInt != 0 || tile.customMat != null || !string.IsNullOrEmpty(tile.tag)) { TileSaveData sd = new TileSaveData(); sd.tileIndex = k; sd.color = tile.customMat.color; sd.textureIndex = GetTileTextureIndex(k); sd.tag = tile.tag; sd.tagInt = tile.tagInt; tsd.Add(sd); } } HexasphereSaveData hsd = new HexasphereSaveData(); hsd.tiles = tsd.ToArray(); return(JsonUtility.ToJson(hsd)); }