1234567891011121314151617181920212223242526272829303132333435363738 |
- using System;
- using UnityEditorInternal;
- using UnityEngine;
- namespace Unity.Cloud.Collaborate.Common {
- [AttributeUsage(AttributeTargets.Class)]
- internal sealed class LocationAttribute : Attribute
- {
- public enum Location { PreferencesFolder, LibraryFolder }
- string m_RelativePath;
- readonly Location m_Location;
- string m_FilePath;
- public string FilePath {
- get {
- if (m_FilePath != null) return m_FilePath;
- if (m_RelativePath[0] == '/')
- m_RelativePath = m_RelativePath.Substring(1);
- if (m_Location == Location.PreferencesFolder)
- m_FilePath = $"{InternalEditorUtility.unityPreferencesFolder}/{m_RelativePath}";
- else if (m_Location == Location.LibraryFolder)
- m_FilePath = $"Library/Collab/{m_RelativePath}";
- return m_FilePath;
- }
- }
- public LocationAttribute(string relativePath, Location location)
- {
- //Guard.ArgumentNotNullOrWhiteSpace(relativePath, "relativePath");
- m_RelativePath = relativePath;
- m_Location = location;
- }
- }
- }
|