public static Page StartFirstPage() { string errMes = db.CheckDataBase(); if (!string.IsNullOrEmpty(errMes)) { MessageBoxResult result = MessageBox.Show(errMes, "Подготовка к работе", MessageBoxButton.OKCancel, MessageBoxImage.Warning); if (result == MessageBoxResult.Cancel) { App.Current.Shutdown(); } else { //using (LiteDB.LiteDatabase ldb = new LiteDB.LiteDatabase(path)) { }; } } using (LiteDB.LiteDatabase ldb = new LiteDB.LiteDatabase(path)) { if (ldb.CollectionExists("User")) { startCount = 1; } }; var firstStart = new PageAuthorisation(); if (startCount == 0) { Label firstMessage = new Label() { Content = "Первый запуск программы! \nсоздание учетной записи администратора", FontSize = 25, Foreground = new SolidColorBrush(Colors.Black), Background = new SolidColorBrush(Colors.White) }; firstStart.SpPageAuthorisation.Children.Clear(); firstStart.SpPageAuthorisation.Children.Insert(0, firstMessage); firstStart.SpPageAuthorisation.Children.Insert(1, firstStart.btnEnt); firstStart.SpPageAuthorisation.Children.Insert(2, firstStart.btnReg); firstStart.btnEnt.Visibility = Visibility.Hidden; return(firstStart); } return(firstStart); }
public static void Init() { if (Cache.CollectionExists("Skills")) { Cache.DropCollection("Skills"); } if (File.Exists(Settings.ConfigsPath)) { ArchiveManager am = new ArchiveManager(Settings.ConfigsPath, new ArchiveKey()); am.ReadFileTable(); var entry = am.Files.Where(x => x.Path.EndsWith("skillstr.txt")).ToList(); if (entry.Count > 0) { byte[] skillstr = am.GetFile(entry.First()); StreamReader sr = new StreamReader(new MemoryStream(skillstr)); string text = sr.ReadToEnd(); Regex r = new Regex(@"^[0-9]+\s{0,10}" + "(\"[^\"]*\")", RegexOptions.Multiline); var collection = r.Matches(text); var enumerator = collection.GetEnumerator(); var col = Cache.GetCollection <CustomDataCollection>("Skills"); while (enumerator.MoveNext()) { var split = enumerator.Current.ToString().Split(new string[] { "\"" }, StringSplitOptions.RemoveEmptyEntries); string id = split[0].Remove(split[0].IndexOf(" ") - 1); string name = split[1].Replace("\"", ""); enumerator.MoveNext(); col.Insert(new CustomDataCollection() { ID = id.ToInt32(), Name = name, Desc = enumerator.Current.ToString().Substring(enumerator.Current.ToString().IndexOf("\"")) }); } sr.Close(); Utils.MemoryCleaner(); } } if (File.Exists(Settings.ElementsPath)) { if (Cache.CollectionExists("Npcs")) { Cache.DropCollection("Npcs"); } if (Cache.CollectionExists("Mobs")) { Cache.DropCollection("Mobs"); } if (Cache.CollectionExists("Mines")) { Cache.DropCollection("Mines"); } var col1 = Cache.GetCollection <CustomDataCollection>("Npcs"); var col2 = Cache.GetCollection <CustomDataCollection>("Mobs"); var col3 = Cache.GetCollection <CustomDataCollection>("Mines"); KuklusDataEditor.Core.ElementsData elements = new KuklusDataEditor.Core.ElementsData(); try { elements.Load(Settings.ElementsPath); } catch { } byte list_count = 0; foreach (var list in elements.Lists) { if (list_count == 3) { break; } if (list.Name.Contains("NPC_ESSENCE") || list.Name.Contains("MONSTER_ESSENCE") || list.Name.Contains("MINE_ESSENCE")) { foreach (var item in list.Items) { int id = item.Values[list.IDIndex].ToString().ToInt32(); string name = item.Values[list.NameIndex].ToString(); var data = new CustomDataCollection() { ID = id, Name = name, Desc = "" }; if (list.Name.Contains("NPC_ESSENCE")) { col1.Insert(data); } else if (list.Name.Contains("MONSTER_ESSENCE")) { col2.Insert(data); } else if (list.Name.Contains("MINE_ESSENCE")) { col3.Insert(data); } } ++list_count; } } elements.Lists.Clear(); Utils.MemoryCleaner(); } }