private void MainWindow_Loaded(object sender, RoutedEventArgs e)
 {
     try
     {
         Settings.Load();
         Provider.ChangeLanguage(Settings.Language);
         Aipolicy              = new AIFile();
         DataContext           = Aipolicy;
         Condition.IsCentral   = true;
         SearchFlyout.Aipolicy = Aipolicy;
         #region Custom editors
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(SkillID),
             Editor          = new SkillSelector()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(NpcID),
             Editor          = new NpcSelector()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(MobID),
             Editor          = new MobSelector()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(MineID),
             Editor          = new MineSelector()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(TalkTextAppendDataMask),
             Editor          = new TranslatedEnumEditor()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(FactionPVPPointType),
             Editor          = new TranslatedEnumEditor()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(OperatorType),
             Editor          = new TranslatedEnumEditor()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(VarType),
             Editor          = new TranslatedEnumEditor()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(MonsterPatrolSpeedType),
             Editor          = new TranslatedEnumEditor()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(MonsterPatrolType),
             Editor          = new TranslatedEnumEditor()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(SummoneeDisppearType),
             Editor          = new TranslatedEnumEditor()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(ChatChannels2),
             Editor          = new TranslatedEnumEditor()
         });
         Operation.CustomEditorCollection.Add(new Syncfusion.Windows.PropertyGrid.CustomEditor()
         {
             HasPropertyType = true,
             PropertyType    = typeof(TargetParam),
             Editor          = new TargetEditor()
         });
         #endregion
     }
     catch (Exception ex)
     {
         Utils.ShowMessage($"Send to developer\n\n{ex.Message}\n\n{ex.Source}\n\n{ex.StackTrace}");
     }
 }