1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using System.IO;
- using System.Linq;
- using UnityEngine;
- using UnityEditor;
- namespace SoftMasking.Editor {
- public static class PackageResources {
- static string _packagePath = string.Empty;
- static string _resourcesPath = string.Empty;
- public static string packagePath {
- get {
- if (string.IsNullOrEmpty(_packagePath)) {
- _packagePath = SearchForPackageRootPath();
- if (string.IsNullOrEmpty(_packagePath))
- Debug.LogError(
- "Unable to locate Soft Mask root folder. " +
- "Make sure the package has been installed correctly.");
- }
- return _packagePath;
- }
- }
- public static string generatedShaderResourcesPath {
- get {
- if (string.IsNullOrEmpty(_resourcesPath))
- _resourcesPath = CombinePath(packagePath, "Shaders", "Generated", "Resources");
- return _resourcesPath;
- }
- }
- public const string SoftMaskCsGUID = "0bac33ade27cf4542bd53b1b13d90941";
- static string SearchForPackageRootPath() {
- var softMaskCsPath = AssetDatabase.GUIDToAssetPath(SoftMaskCsGUID);
- if (string.IsNullOrEmpty(softMaskCsPath))
- return "";
- var scriptsDir = Path.GetDirectoryName(softMaskCsPath);
- var packageDir = Path.GetDirectoryName(scriptsDir);
- return packageDir;
- }
- static string CombinePath(params string[] paths) {
- return (paths == null || paths.Length == 0) ? "" : paths.Aggregate(Path.Combine);
- }
- }
- }
|