12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #if UNITY_EDITOR && UNITY_2021_1_OR_NEWER
- #define CAN_USE_CUSTOM_HELP_URL
- #endif
-
- using System;
- using System.Diagnostics;
- using UnityEngine;
-
- namespace UnityEngine.Timeline
- {
- #if CAN_USE_CUSTOM_HELP_URL
-
- using UnityEditor.PackageManager;
-
- [Conditional("UNITY_EDITOR")]
- class TimelineHelpURLAttribute : HelpURLAttribute
- {
- const string k_BaseURL = "https://docs.unity3d.com/Packages/com.unity.timeline@";
- const string k_MidURL = "/api/";
- const string k_EndURL = ".html";
- const string k_FallbackVersion = "latest";
-
- static readonly string k_PackageVersion;
-
- static TimelineHelpURLAttribute()
- {
- PackageInfo packageInfo = PackageInfo.FindForAssembly(typeof(TimelineAsset).Assembly);
- k_PackageVersion = packageInfo == null ? k_FallbackVersion : packageInfo.version.Substring(0, 3);
- }
-
- public TimelineHelpURLAttribute(Type type)
- : base(HelpURL(type)) {}
-
- static string HelpURL(Type type)
- {
- return $"{k_BaseURL}{k_PackageVersion}{k_MidURL}{type.FullName}{k_EndURL}";
- }
- }
- #else //HelpURL attribute is `sealed` in previous Unity versions
- [Conditional("UNITY_EDITOR")]
- class TimelineHelpURLAttribute : Attribute
- {
- public TimelineHelpURLAttribute(Type type) { }
- }
- #endif
- }
|