public void SavePuzzle() { string saveName = Happiness.PuzzleSaveName(m_Puzzle.m_iSize, m_iPuzzleIndex); FileStream fs = File.Open(saveName, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); bw.Write(ElapsedTime); bw.Write(m_iHintCount); bw.Write(m_iMegaHintCount); bw.Write(m_History.Count); foreach (Action a in m_History) { a.Save(bw, m_Puzzle.m_iSize); } for (int iRow = 0; iRow < m_Puzzle.m_iSize; iRow++) { for (int iCol = 0; iCol < m_Puzzle.m_iSize; iCol++) { for (int iIcon = 0; iIcon < m_Puzzle.m_iSize; iIcon++) { bw.Write(m_Puzzle.m_Rows[iRow].m_Cells[iCol].m_bValues[iIcon]); } } } bw.Close(); }
public void LoadPuzzle() { string saveName = Happiness.PuzzleSaveName(m_Puzzle.m_iSize, m_iPuzzleIndex); if (File.Exists(saveName)) { FileStream fs = File.OpenRead(saveName); BinaryReader br = new BinaryReader(fs); double elapsed = br.ReadDouble(); m_PuzzleStart = m_PuzzleStart.AddSeconds(-elapsed); m_iHintCount = br.ReadInt32(); m_iMegaHintCount = br.ReadInt32(); int historyCount = br.ReadInt32(); m_History = new List <Action>(); for (int i = 0; i < historyCount; i++) { m_History.Add(Action.Load(br, m_Puzzle.m_iSize)); } for (int iRow = 0; iRow < m_Puzzle.m_iSize; iRow++) { for (int iCol = 0; iCol < m_Puzzle.m_iSize; iCol++) { for (int iIcon = 0; iIcon < m_Puzzle.m_iSize; iIcon++) { m_Puzzle.m_Rows[iRow].m_Cells[iCol].m_bValues[iIcon] = br.ReadBoolean(); } m_Puzzle.m_Rows[iRow].m_Cells[iCol].m_iFinalIcon = m_Puzzle.m_Rows[iRow].m_Cells[iCol].GetRemainingIcon(); } } br.Close(); } }
public void SavePuzzle() { string saveName = Happiness.PuzzleSaveName(m_Puzzle.m_iSize, m_iPuzzleIndex); MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); bw.Write(ElapsedTime); bw.Write(m_iHintCount); bw.Write(m_iMegaHintCount); bw.Write(m_History.Count); foreach (Action a in m_History) { a.Save(bw, m_Puzzle.m_iSize); } for (int iRow = 0; iRow < m_Puzzle.m_iSize; iRow++) { for (int iCol = 0; iCol < m_Puzzle.m_iSize; iCol++) { for (int iIcon = 0; iIcon < m_Puzzle.m_iSize; iIcon++) { bw.Write(m_Puzzle.m_Rows[iRow].m_Cells[iCol].m_bValues[iIcon]); } } } FileManager.Instance.WriteAllBytes(saveName, ms.ToArray()); bw.Dispose(); }
void DeleteSavedPuzzle() { string saveName = Happiness.PuzzleSaveName(m_Puzzle.m_iSize, m_iPuzzleIndex); if (File.Exists(saveName)) { File.Delete(saveName); } }