private void ImportTextures_Execute(object parameter) { try { string directory = mainView.FilePath.Replace(".", "_") + "_textures"; if (Directory.Exists(directory) == true) { DdsFile dds; foreach (string filePath in Directory.GetFiles(directory, "*.dds")) { foreach (PssgTextureViewModel texView in Textures) { if (Path.GetFileNameWithoutExtension(filePath) == texView.Texture.GetAttribute("id").ToString()) { dds = new DdsFile(File.Open(filePath, FileMode.Open)); dds.ToPssgNode(texView.Texture); if (texView.IsSelected) { texView.GetPreview(); } break; } } } MessageBox.Show("Textures imported successfully!", "Success", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Could not find textures folder!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } catch { MessageBox.Show("There was an error, could not import all textures!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void Import_Execute(object parameter) { PssgTextureViewModel texView = (PssgTextureViewModel)parameter; PssgNode node = texView.Texture; OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Dds files|*.dds|All files|*.*"; dialog.Title = "Select a dds file"; dialog.FileName = node.Attributes["id"].DisplayValue + ".dds"; if (dialog.ShowDialog() == true) { try { DdsFile dds = new DdsFile(File.Open(dialog.FileName, FileMode.Open)); dds.ToPssgNode(node); texView.GetPreview(); } catch (Exception ex) { MessageBox.Show("Could not import texture!" + Environment.NewLine + Environment.NewLine + ex.Message, "Import Failed", MessageBoxButton.OK, MessageBoxImage.Error); } } }