public SimpleModPackImporter(DirectoryInfo modPackDirectory, ModPackJson modPackJson, TextureViewModel textureViewModel, ModelViewModel modelViewModel, bool silent = false, bool messageInImport = false) { this.DataContext = this; InitializeComponent(); JsonEntries = new List <ModsJson>(); SelectedEntries = new HashSet <int>(); _modPackDirectory = modPackDirectory; _gameDirectory = new DirectoryInfo(Properties.Settings.Default.FFXIV_Directory); _modding = new Modding(_gameDirectory); _texToolsModPack = new TTMP(new DirectoryInfo(Properties.Settings.Default.ModPack_Directory), XivStrings.TexTools); _messageInImport = messageInImport; _textureViewModel = textureViewModel; _modelViewModel = modelViewModel; var index = new Index(_gameDirectory); _indexLockStatus = index.IsIndexLocked(XivDataFile._0A_Exd); _packJson = modPackJson; _silent = silent; ModListView.IsEnabled = false; LockedStatusLabel.Foreground = Brushes.Black; LockedStatusLabel.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left; LockedStatusLabel.Content = UIStrings.Loading; Task.Run(Initialize); }
public ModListView(TextureViewModel textureViewModel, ModelViewModel modelViewModel) { _textureViewModel = textureViewModel; _modelViewModel = modelViewModel; InitializeComponent(); }
public ImportModPackWizard(ModPackJson modPackJson, Dictionary <string, Image> imageDictionary, DirectoryInfo modPackDirectory, TextureViewModel textureViewModel, ModelViewModel modelViewModel, bool messageInImport = false) { InitializeComponent(); _imageDictionary = imageDictionary; _modPackDirectory = modPackDirectory; _messageInImport = messageInImport; _textureViewModel = textureViewModel; _modelViewModel = modelViewModel; ModPackNameLabel.Content = modPackJson.Name; ModPackAuthorLabel.Content = modPackJson.Author; ModPackVersionLabel.Content = modPackJson.Version; ModPackDescription.Text = modPackJson.Description; _modPackEntry = new ModPack { name = modPackJson.Name, author = modPackJson.Author, version = modPackJson.Version }; _pageCount = modPackJson.ModPackPages.Count; var wizPages = importModPackWizard.Items; for (var i = 0; i < _pageCount; i++) { wizPages.Add(new WizardPage { Content = new ImportWizardModPackControl(modPackJson.ModPackPages[i], imageDictionary), PageType = WizardPageType.Blank, Background = null, HeaderBackground = null }); } }
public static Image ToImage(this TextureViewModel @this) { if (@this.ResourceName == null) { return(null); } var brush = new VisualBrush { TileMode = TileMode.Tile, Viewport = new Rect(0, 0, 32, 32), ViewportUnits = BrushMappingMode.Absolute }; var textureImage = new BitmapImage(); textureImage.BeginInit(); textureImage.UriSource = new Uri($"pack://*****:*****@this.ResourceName}.png"); textureImage.EndInit(); return(new Image { Source = textureImage }); }
public ModList(ModelViewModel mvm, TextureViewModel tvm) { InitializeComponent(); this.mvm = mvm; this.tvm = tvm; ModListViewModel vm = new ModListViewModel(); modListTreeView.DataContext = vm; }
public ImportModPackWizard(ModPackJson modPackJson, Dictionary <string, Image> imageDictionary, DirectoryInfo modPackDirectory, TextureViewModel textureViewModel, ModelViewModel modelViewModel, bool messageInImport = false) { InitializeComponent(); _imageDictionary = imageDictionary; _modPackDirectory = modPackDirectory; _messageInImport = messageInImport; _textureViewModel = textureViewModel; _modelViewModel = modelViewModel; ModPackNameLabel.Content = modPackJson.Name; ModPackAuthorLabel.Content = modPackJson.Author; ModPackVersionLabel.Content = modPackJson.Version; ModPackDescription.Text = modPackJson.Description; ModPackUrlLabel.Text = modPackJson.Url; ModPackUrlLabel.PreviewMouseLeftButtonDown += ModPackUrlLabel_PreviewMouseLeftButtonDown; if (!String.IsNullOrEmpty(modPackJson.MinimumFrameworkVersion)) { Version ver; bool success = Version.TryParse(modPackJson.MinimumFrameworkVersion, out ver); if (success) { var frameworkVersion = typeof(XivCache).Assembly.GetName().Version; if (ver > frameworkVersion) { var Win32Window = new WindowWrapper(new WindowInteropHelper(this).Handle); FlexibleMessageBox.Show(Win32Window, "This Modpack requires a more recent version of TexTools to install.", "Framework Version Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); Close(); return; } } } _modPackEntry = new ModPack { name = modPackJson.Name, author = modPackJson.Author, version = modPackJson.Version }; _pageCount = modPackJson.ModPackPages.Count; var wizPages = importModPackWizard.Items; for (var i = 0; i < _pageCount; i++) { wizPages.Add(new WizardPage { Content = new ImportWizardModPackControl(modPackJson.ModPackPages[i], imageDictionary), PageType = WizardPageType.Blank, Background = null, HeaderBackground = null }); } }
public TextureView() { InitializeComponent(); this.textureViewModel = new TextureViewModel(this); this.DataContext = this.textureViewModel; CustomizeViewModel customizeViewModel = new CustomizeViewModel(null); this.ExportContextMenu.DataContext = customizeViewModel; this.ExportFormatLabel.DataContext = customizeViewModel; }
public ImportModPackWizard(ModPackJson modPackJson, Dictionary <string, Image> imageDictionary, DirectoryInfo modPackDirectory, TextureViewModel textureViewModel, ModelViewModel modelViewModel, bool messageInImport = false) { InitializeComponent(); _imageDictionary = imageDictionary; _modPackDirectory = modPackDirectory; _messageInImport = messageInImport; _textureViewModel = textureViewModel; _modelViewModel = modelViewModel; ModPackNameLabel.Content = modPackJson.Name; ModPackAuthorLabel.Content = modPackJson.Author; ModPackVersionLabel.Content = modPackJson.Version; ModPackDescription.Text = modPackJson.Description; if (String.IsNullOrEmpty(modPackJson.MinimumFrameworkVersion)) { Version ver; bool success = Version.TryParse(modPackJson.MinimumFrameworkVersion, out ver); if (success) { var frameworkVersion = typeof(XivCache).Assembly.GetName().Version; if (ver > frameworkVersion) { throw new NotSupportedException("This modpack requires a more recent TexTools version to install."); } } } _modPackEntry = new ModPack { name = modPackJson.Name, author = modPackJson.Author, version = modPackJson.Version }; _pageCount = modPackJson.ModPackPages.Count; var wizPages = importModPackWizard.Items; for (var i = 0; i < _pageCount; i++) { wizPages.Add(new WizardPage { Content = new ImportWizardModPackControl(modPackJson.ModPackPages[i], imageDictionary), PageType = WizardPageType.Blank, Background = null, HeaderBackground = null }); } }
public SimpleModPackImporter(DirectoryInfo modPackDirectory, ModPackJson modPackJson, TextureViewModel textureViewModel, ModelViewModel modelViewModel, bool silent = false, bool messageInImport = false) { InitializeComponent(); _modPackDirectory = modPackDirectory; _gameDirectory = new DirectoryInfo(Properties.Settings.Default.FFXIV_Directory); _texToolsModPack = new TTMP(new DirectoryInfo(Properties.Settings.Default.ModPack_Directory), XivStrings.TexTools); _messageInImport = messageInImport; _textureViewModel = textureViewModel; _modelViewModel = modelViewModel; var index = new Index(_gameDirectory); _indexLockStatus = index.IsIndexLocked(XivDataFile._0A_Exd); ModListView.ItemsSource = _simpleDataList; Initialize(modPackJson, silent); }
/// <summary> /// This method opens the modpack import wizard or imports a modpack silently /// </summary> /// <param name="path">The path to the modpack</param> /// <param name="silent">If the modpack wizard should be shown or the modpack should just be imported without any user interaction</param> /// <returns></returns> private async Task <int> ImportModpack(DirectoryInfo path, DirectoryInfo modPackDirectory, bool silent = false, bool messageInImport = false) { var importError = false; TextureView textureView = null; TextureViewModel textureViewModel = null; ModelView modelView = null; ModelViewModel modelViewModel = null; if (TextureTabItem != null && ModelTabItem != null) { textureView = TextureTabItem.Content as TextureView; textureViewModel = textureView.DataContext as TextureViewModel; modelView = ModelTabItem.Content as ModelView; modelViewModel = modelView.DataContext as ModelViewModel; } if (!path.Extension.Contains("ttmp")) { FlexibleMessageBox.Show(string.Format(UIMessages.UnsupportedFileExtensionErrorMessage, path.Extension), UIMessages.UnsupportedFileExtensionErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); return(0); } try { var ttmp = new TTMP(modPackDirectory, XivStrings.TexTools); var ttmpData = await ttmp.GetModPackJsonData(path); if (ttmpData.ModPackJson.TTMPVersion.Contains("w")) { var gameDirectory = new DirectoryInfo(Settings.Default.FFXIV_Directory); var index = new Index(gameDirectory); if (index.IsIndexLocked(XivDataFile._0A_Exd)) { FlexibleMessageBox.Show(UIMessages.IndexLockedErrorMessage, UIMessages.IndexLockedErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); return(0); } try { var importWizard = new ImportModPackWizard(ttmpData.ModPackJson, ttmpData.ImageDictionary, path, textureViewModel, modelViewModel, messageInImport); if (messageInImport) { importWizard.WindowStartupLocation = WindowStartupLocation.CenterScreen; } else { importWizard.Owner = this; } var result = importWizard.ShowDialog(); if (result == true) { return(importWizard.TotalModsImported); } } catch { importError = true; } } else if (ttmpData.ModPackJson.TTMPVersion.Contains("s")) { try { var simpleImport = new SimpleModPackImporter(path, ttmpData.ModPackJson, textureViewModel, modelViewModel, silent, messageInImport); if (messageInImport) { simpleImport.WindowStartupLocation = WindowStartupLocation.CenterScreen; } else { simpleImport.Owner = this; } var result = simpleImport.ShowDialog(); if (result == true) { return(simpleImport.TotalModsImported); } } catch { importError = true; } } } catch (Exception ex) { if (!importError) { var simpleImport = new SimpleModPackImporter(path, null, textureViewModel, modelViewModel, silent, messageInImport); if (messageInImport) { simpleImport.WindowStartupLocation = WindowStartupLocation.CenterScreen; } else { simpleImport.Owner = this; } var result = simpleImport.ShowDialog(); if (result == true) { return(simpleImport.TotalModsImported); } } else { FlexibleMessageBox.Show(string.Format(UIMessages.ModPackImportErrorMessage, path.FullName, ex.Message), UIMessages.ModPackImportErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); return(0); } } return(0); }
public Texture(ECOSITE ecosite) { InitializeComponent(); _viewmodel = new TextureViewModel(Navigation, ecosite); this.BindingContext = _viewmodel; }
public Texture(SOIL soil) { InitializeComponent(); _viewmodel = new TextureViewModel(Navigation, soil); this.BindingContext = _viewmodel; }