public static void RefreshSaveFileXML() // store all actual data to local storage { Directory.CreateDirectory(GetXMLDirectory()); XDocument doc = XDocument.Load(GetPathToBackupXML()); if (GameBoard.CurrentGameState != GameBoard.GameState.GameOver) { doc.Element("game").Attribute("bestScore").Value = GameBoard.GetBestScore().ToString(); doc.Element("game").Attribute("currentScore").Value = GameBoard.GetCurrentScore().ToString(); doc.Element("game").Attribute("lastCurrentScore").Value = GameBoard.GetCurrentScore().ToString(); doc.Element("game").Element("tileMatrix").RemoveAll(); doc.Element("game").Element("tileMatrix").Add(MatrixOperations.ConvertToXElementsArray(GameBoard.GetGridTileMatrix())); doc.Element("game").Attribute("currentGameState").Value = GameBoard.CurrentGameState.ToString(); } else { doc.Element("game").Attribute("bestScore").Value = GameBoard.GetBestScore().ToString(); doc.Element("game").Attribute("lastCurrentScore").Value = GameBoard.GetCurrentScore().ToString(); } doc.Save(GetPathToBackupXML()); }