9using System.Collections;
10using System.Collections.Generic;
20 private const string PACKAGE_EXPORT_FOLDER_KEY =
"LeapPackageDefExportFolder";
23 [FormerlySerializedAs(
"_packageName")]
26 [FormerlySerializedAs(
"_generateBuildDropdown")]
43 [ContextMenu(
"Reset Export Folder")]
44 public void ResetExportFolder() {
45 EditorPrefs.DeleteKey(getExportFolderKey());
52 public bool PrompUserToSetExportPath() {
54 if (!TryGetPackageExportFolder(out promptFolder, promptIfNotDefined:
false)) {
55 promptFolder = Application.dataPath;
58 string chosenFolder = EditorUtility.OpenFolderPanel(
"Select export folder for " +
DefinitionName, promptFolder,
"Packages");
59 if (
string.IsNullOrEmpty(chosenFolder)) {
63 EditorPrefs.SetString(getExportFolderKey(), chosenFolder);
70 public bool HasExportFolderBeenDefined() {
71 string key = getExportFolderKey();
72 return EditorPrefs.HasKey(key);
80 public bool TryGetPackageExportFolder(out
string folder,
bool promptIfNotDefined) {
81 string key = getExportFolderKey();
82 if (!EditorPrefs.HasKey(key)) {
83 if (!promptIfNotDefined || !PrompUserToSetExportPath()) {
89 folder = EditorPrefs.GetString(key);
93 private string getExportFolderKey() {
96 return PACKAGE_EXPORT_FOLDER_KEY +
"_" + AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(
this));