//call when Load button click //set sheet to Edit and sheetPath musicPath isSheetLoad/ public void LoadSheetButtonClick() { sheetPath = sheetPathText.text; isSheetLoadExternal = true; AddInfo("Try to open " + Path.GetFileName(sheetPath), true); if (Path.GetExtension(sheetPath) != ".sheet") { AddInfo("Wrong Type Please choose which extension is sheet"); } else { GlobalInfo.SheetInfo tempSheet = new GlobalInfo.SheetInfo(); tempSheet = sourceLoader.GetSheetFile(sheetPath); if (tempSheet == null) { AddInfo("Incorrect File Type Please select another"); return; } else { sheet = tempSheet; SetSheetFileToUI(); isSongLoad = true; isSheetLoad = true; UpdateSlider(); } } }
//get sheet file and return it due to path public GlobalInfo.SheetInfo GetSheetFile(string fullFilePath) { if (File.Exists(fullFilePath) && Path.GetExtension(fullFilePath) == GlobalInfo.FILE_EXTENSION) { FileStream fs = File.Open(fullFilePath, FileMode.Open); XmlSerializer xmlSerializer = new XmlSerializer(typeof(GlobalInfo.SheetInfo)); XmlReader reader = XmlReader.Create(fs); GlobalInfo.SheetInfo data = xmlSerializer.Deserialize(reader) as GlobalInfo.SheetInfo; fs.Close(); return(data); } else { return(null); } }
//save everything of a sheet to file public void SaveSheetToFile(ref GlobalInfo.SheetInfo tempSheet) { CheckDirectory(GlobalInfo.DEFAULT_SHEET_PATH); string fullSavePath = GlobalInfo.DEFAULT_SHEET_PATH + tempSheet.sheetName + GlobalInfo.FILE_EXTENSION; FileStream fs; // Create a file or open an old one up for writing to if (!File.Exists(fullSavePath)) { fs = File.Open(fullSavePath, FileMode.Create); } else { fs = File.Open(fullSavePath, FileMode.Create); } XmlSerializer serializer = new XmlSerializer(typeof(GlobalInfo.SheetInfo)); TextWriter textWriter = new StreamWriter(fs); serializer.Serialize(textWriter, tempSheet); fs.Close(); }