private async void OnSetCk3Root() { using (var dlg = new System.Windows.Forms.FolderBrowserDialog()) { System.Windows.Forms.DialogResult result = dlg.ShowDialog(); if (result.ToString().Equals("OK")) { string dir = dlg.SelectedPath; string currDir = dir.Substring(dir.LastIndexOf("\\") + 1); if (currDir.Equals("Crusader Kings III")) { coaCompFilesLoader.ck3RootDir = dir; await coaCompFilesLoader.WriteCk3DirToFile(); // FIX THIS TRASH: MAKE BTN DISAPPEAR WHEN DIR HAS BEEN SET CoaCompFilesBtnVisibility = false; InitCoaComponents(); CoaComponentsLoader.ImportCoaComponents(coaCompFilesLoader.ck3RootDir + "\\game\\gfx\\coat_of_arms\\patterns", "./coat_of_arms/patterns", ".dds", ".png"); CoaComponentsLoader.ImportCoaComponents(coaCompFilesLoader.ck3RootDir + "\\game\\gfx\\coat_of_arms\\colored_emblems", "./coat_of_arms/colored_emblems", ".dds", ".png"); OnPropertyChanged("CoaCompFilesBtnVisibility"); OnPropertyChanged("CoaComponents"); System.Windows.MessageBox.Show("CK3 root dir set:\r\n" + coaCompFilesLoader.ck3RootDir); } else { System.Windows.MessageBox.Show("Incorrect Path"); } } dlg.Dispose(); } }
private void InitCoaComponents() { coaComponents = new List <string>(); if (coaCompFilesLoader.ck3RootDir != null) { string[] files = CoaComponentsLoader.GetFileNames(coaCompFilesLoader.ck3RootDir + "\\game\\gfx\\coat_of_arms\\patterns", "*.dds"); foreach (string file in files) { coaComponents.Add("pa:" + file.Substring(0, file.LastIndexOf('.')) + ".png"); } files = CoaComponentsLoader.GetFileNames(coaCompFilesLoader.ck3RootDir + "\\game\\gfx\\coat_of_arms\\colored_emblems", "*.dds"); foreach (string file in files) { coaComponents.Add("ce:" + file.Substring(0, file.LastIndexOf('.')) + ".png"); } } }
public CoaViewModel() { coaList = new ObservableCollection <CoaModel>(); coaCompFilesLoader = new CoaComponentsLoader(); coaCompFilesBtnVisibility = CanSetCk3Root(); DeleteCommand = new MyICommand(OnDelete, CanDelete); DuplicateCommand = new MyICommand(OnDuplicate, CanDelete); MoveUpCommand = new MyICommand(OnMoveUp, CanMoveUp); MoveDownCommand = new MyICommand(OnMoveDown, CanMoveDown); SetCk3RootCommand = new MyICommand(OnSetCk3Root, CanSetCk3Root); AddCoaComponentCommand = new MyICommand(OnAddComponent, CanAddComponent); ExportCk3FormatCommand = new MyICommand(OnExportCk3Format, CanDelete); NewCoaCommand = new MyICommand(OnNewCoa, () => { return(true); }); ExitAppCommand = new MyICommand(() => { System.Windows.Application.Current.Shutdown(); }, () => { return(true); }); PickColorCommand = new MyICommandWithParameter <string>(OnPickColor, CanPickColor); ChangeSL = new MyICommandWithParameter <string>(OnChangeSL, CanPickColor); InitCoaComponents(); }