UnityGame/Library/PackageCache/com.unity.timeline/Runtime/Attributes/TimelineHelpURLAttribute.cs
2024-10-27 10:53:47 +03:00

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
}