static void LaunchLink(PackageNotificationInfo info) { if (info.additionalInfoUri.Length > 0) { Application.OpenURL(info.additionalInfoUri); } }
/// <summary> /// Registers a given package ID as having a notification and supplies that notification. /// </summary> /// <param name="packageId"> /// The metadata identifier for a given package <see cref="IXRPackageMetadata.packageId"/> /// </param> /// <param name="notificationInfo"> /// The <see cref="PackageNotificationInfo"/> for the package that corresponds to <see cref="packageId"/>. /// </param> public static void RegisterPackageNotificationInformation(string packageId, PackageNotificationInfo notificationInfo) { if (s_RegisteredPackagesWithNotifications.ContainsKey(packageId)) { s_RegisteredPackagesWithNotifications[packageId] = notificationInfo; } else { s_RegisteredPackagesWithNotifications.Add(packageId, notificationInfo); } }
internal static void DrawNotificationIconUI(PackageNotificationInfo notificationInfo, Rect guiRect, int pixelOffset = k_RectPixelOffsetWidth) { var position = new Vector2(guiRect.xMax - (notificationInfo.userInterfaceIcon.image.width + pixelOffset), guiRect.y); var size = new Vector2(notificationInfo.userInterfaceIcon.image.width, guiRect.height); var toolTipRect = new Rect(position, size); var labelStyle = EditorGUIUtility.isProSkin ? Styles.k_UrlLabelProfessional : Styles.k_UrlLabelPersonal; if (GUI.Button(toolTipRect, notificationInfo.userInterfaceIcon, labelStyle)) { LaunchLink(notificationInfo); } }