private async void OnExportClicked() { // Get assets to export var assetsToExport = _presetListDict.Where(item => item.Value)?.Select(item => item.Key)?.ToList(); if (assetsToExport == null || assetsToExport.Count == 0) { EditorUtility.DisplayDialog("Export result", "No preset selectioned", "Ok"); return; } var pathToExport = EditorUtility.SaveFilePanel("Select save location", ImportExportCommon.GetUserPath(), "Star Presets", "starpresets"); if (string.IsNullOrEmpty(pathToExport)) { EditorUtility.DisplayDialog("Export result", "No save file selected", "Ok"); return; } // Export if (await Export(pathToExport, assetsToExport)) { EditorUtility.DisplayDialog("Export result", "Export is done !", "Close"); Close(); } else { EditorUtility.DisplayDialog("Export result", "Export failed, see console log for more detailed.", "Ok"); } }
public void Init(List <string> presetNames) { _presetListDict = presetNames.ToDictionary(item => item, item => true); _title.text = "Preset exporter"; var listView = ImportExportCommon.Populate(presetNames, (e, preset) => _presetListDict[preset] = e.newValue); _listContainer.Clear(); _listContainer.Add(listView); }