static class ModelSaverLoader { public static CModel? Load(string FromFileName) { CModel TemporaryModel = new CModel(); string extension = System.IO.Path.GetExtension(FromFileName).ToLower(); if (extension == ".mdx") { try { using (var Stream = new System.IO.FileStream(FromFileName, System.IO.FileMode.Open, System.IO.FileAccess.Read)) { var ModelFormat = new MdxLib.ModelFormats.CMdx(); ModelFormat.Load(FromFileName, Stream, TemporaryModel); } } catch (Exception ex) { MessageBox.Show(ex.ToString(), $"Exception occured while trying to open {FromFileName}"); // CurrentModel = new CModel(); return null; } } if (extension == ".mdl") { try { using (var Stream = new System.IO.FileStream(FromFileName, System.IO.FileMode.Open, System.IO.FileAccess.Read)) { var ModelFormat = new MdxLib.ModelFormats.CMdl(); ModelFormat.Load(FromFileName, Stream, TemporaryModel); } } catch (Exception ex) { MessageBox.Show(ex.ToString(), $"Exception occured while trying to open {FromFileName}"); // CurrentModel = new CModel(); return null; } } return TemporaryModel; } internal static void Save(CModel model, string file) { if (file.Length == 0) { MessageBox.Show("Empty save path"); return; } if ( (System.IO.Path.GetExtension(file) == ".mdx" || System.IO.Path.GetExtension(file) == ".mdl") == false ) { MessageBox.Show("Invalid extension"); return; } if (model == null) { MessageBox.Show("Null model"); return; } if (System.IO.Path.GetExtension(file).ToLower() == ".mdl") { string ToFileName = file; using (var Stream = new System.IO.FileStream(ToFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write)) { var ModelFormat = new MdxLib.ModelFormats.CMdl(); ModelFormat.Save(ToFileName, Stream, model); } FileCleaner.CleanFile(ToFileName); } if (System.IO.Path.GetExtension(file).ToLower() == ".mdx") { string ToFileName = file; using (var Stream = new System.IO.FileStream(ToFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write)) { var ModelFormat = new MdxLib.ModelFormats.CMdx(); ModelFormat.Save(ToFileName, Stream, model); } } } }