A game about forced loneliness, made by TACStudios
1#if UNITY_EDITOR && UNITY_2021_1_OR_NEWER 2#define CAN_USE_CUSTOM_HELP_URL 3#endif 4 5using System; 6using System.Diagnostics; 7using UnityEngine; 8 9namespace Unity.VisualScripting 10{ 11#if CAN_USE_CUSTOM_HELP_URL 12using UnityEditor.PackageManager; 13 [Conditional("UNITY_EDITOR")] 14 class VisualScriptingHelpURLAttribute : HelpURLAttribute 15 { 16 const string k_BaseURL = "https://docs.unity3d.com/Packages/com.unity.visualscripting@"; 17 const string k_MidURL = "/api/"; 18 const string k_EndURL = ".html"; 19 const string k_FallbackVersion = "1.9"; 20 21 static string s_PackageVersion; 22 23 static string PackageVersion 24 { 25 get 26 { 27 if (string.IsNullOrEmpty(s_PackageVersion)) 28 { 29 var packageInfo = PackageInfo.FindForAssetPath("Packages/com.unity.visualscripting"); 30 s_PackageVersion = packageInfo == null ? k_FallbackVersion : GetMinorPackageVersionString(packageInfo.version); 31 } 32 33 return s_PackageVersion; 34 } 35 } 36 37 // internal for test 38 internal static string GetMinorPackageVersionString(string versionString) 39 { 40 var split = versionString.Split('.'); 41 return split.Length < 2 ? $"{split[0]}.0" : $"{split[0]}.{split[1]}"; 42 } 43 44 public VisualScriptingHelpURLAttribute(Type type) 45 : base(HelpURL(type)) {} 46 47 static string HelpURL(Type type) 48 { 49 return $"{k_BaseURL}{PackageVersion}{k_MidURL}{type.FullName}{k_EndURL}"; 50 } 51 } 52#else //HelpURL attribute is `sealed` in previous Unity versions 53 [Conditional("UNITY_EDITOR")] 54 class VisualScriptingHelpURLAttribute : Attribute 55 { 56 public VisualScriptingHelpURLAttribute(Type type) { } 57 } 58#endif 59}