public void Save(SaveGameData p_data) { p_data.Set <String>("Name", m_name); p_data.Set <Int32>("ObjectCount", m_objects.Count); for (Int32 i = 0; i < m_objects.Count; i++) { SaveGameData saveGameData = new SaveGameData("InteractiveObject" + i); m_objects[i].Save(saveGameData); p_data.Set <SaveGameData>(saveGameData.ID, saveGameData); } p_data.Set <Int32>("MonsterCount", m_monster.Count); for (Int32 j = 0; j < m_monster.Count; j++) { SaveGameData saveGameData2 = new SaveGameData("Monster" + j); m_monster[j].Save(saveGameData2); p_data.Set <SaveGameData>(saveGameData2.ID, saveGameData2); } SaveGameData saveGameData3 = SaveGame.CreateDataFromArray <Int32>("InvalidSpawns", m_invalidSpawns); p_data.Set <SaveGameData>(saveGameData3.ID, saveGameData3); SaveGameData saveGameData4 = new SaveGameData("TerrainMatrix"); saveGameData4.Set <Int32>("MatrixHeight", m_terrainDataHeight); saveGameData4.Set <Int32>("MatrixWidth", m_terrainDataWidth); if (m_terrainData != null) { for (Int32 k = 0; k < m_terrainDataHeight; k++) { for (Int32 l = 0; l < m_terrainDataWidth; l++) { SaveGameData saveGameData5 = new SaveGameData(String.Concat(new Object[] { "terrain_", l, "_", k })); m_terrainData[k * m_terrainDataWidth + l].Save(saveGameData5); saveGameData4.Set <SaveGameData>(saveGameData5.ID, saveGameData5); } } } p_data.Set <SaveGameData>(saveGameData4.ID, saveGameData4); }
public static SaveGameData CreateDataFromArray <T>(String p_id, ICollection <T> p_array) { SaveGameData saveGameData = new SaveGameData(p_id); Int32 num = 0; foreach (T p_value in p_array) { saveGameData.Set <T>("data_" + num, p_value); num++; } return(saveGameData); }
public void Save(SaveGameData p_data) { p_data.Set <Int32>("TerrainType", (Int32)Type); p_data.Set <Boolean>("Visited", Visited); p_data.Set <Single>("Height", Height); }