private void SaveMod_Click(object sender, RoutedEventArgs e) { List <AbstractAsset> assets = App.Instance.MainWindow !.AssetTabControls.SelectMany(atc => atc.GetAssets()).ToList(); List <UserAsset> userAssets = new List <UserAsset>(); foreach (AbstractAsset asset in assets) { userAssets.Add(asset.ToUserAsset()); } SaveFileDialog dialog = new SaveFileDialog { Filter = _modFileFilter }; dialog.OpenModsRootFolder(); bool?result = dialog.ShowDialog(); if (!result.HasValue || !result.Value) { return; } JsonFileUtils.SerializeToFile(dialog.FileName, userAssets, true); }