47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
|
#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
|
||
|
}
|