////////////////////////////////////////////////////////////////////////////////////// /// /// SAVING & LOADING /// ////////////////////////////////////////////////////////////////////////////////////// public string SaveJSON() { List <TileSaveObject> tsList = new List <TileSaveObject>(); List <BuildingSaveObject> bsList = new List <BuildingSaveObject>(); List <MinionSaveObject> msList = new List <MinionSaveObject>(); for (int x = 0; x < Width; x++) { for (int y = 0; y < Height; y++) { tsList.Add(tiles[x, y].SaveTile()); } } foreach (Building bld in buildings) { bsList.Add(bld.SaveBuilding()); } foreach (Minion m in minions) { msList.Add(m.SaveMinion()); } WorldSaveObject worldSaveObject = new WorldSaveObject { Width = Width, Height = Height, tilesSaveObject = tsList, buildingsSaveObject = bsList, minionsSaveObject = msList }; string json = JsonConvert.SerializeObject(worldSaveObject); Debug.Log(json); return(json); }
public void LoadWSO(WorldSaveObject wso) { foreach (TileSaveObject ts in wso.tilesSaveObject) { tiles[ts.X, ts.Z].LoadTile(ts); } foreach (BuildingSaveObject bs in wso.buildingsSaveObject) { Building b = PlaceBuilding(bs.objectType, tiles[bs.X, bs.Z]); b.LoadBuilding(bs); } foreach (MinionSaveObject ms in wso.minionsSaveObject) { Minion m = PlaceMinion(ms.objectType, tiles[ms.X, ms.Z]); m.LoadMinion(ms); } }
void CreateWorldFromSaveFile() { Debug.Log("CreateWorldFromSaveFile"); // Create a world from our save file data. string json = PlayerPrefs.GetString("SaveGame00", null); if (string.IsNullOrEmpty(json) == true) { Debug.LogError("No Save file JSON"); return; } WorldSaveObject wso = JsonConvert.DeserializeObject <WorldSaveObject>(json); World = new World(wso.Width, wso.Height); World.LoadWSO(wso); //XmlSerializer serializer = new XmlSerializer(typeof(World)); //TextReader reader = new StringReader(PlayerPrefs.GetString("SaveGame00")); //Debug.Log(reader.ToString()); //World = (World)serializer.Deserialize(reader); //reader.Close(); }