| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 | using UnityEngine;using UnityEditor;//-----------------------------------------------------------------------------// Copyright 2015-2021 RenderHeads Ltd.  All rights reserved.//-----------------------------------------------------------------------------namespace RenderHeads.Media.AVProVideo.Editor{	/// <summary>	/// About/Help section of the editor for the MediaPlayer component	/// </summary>	public partial class MediaPlayerEditor : UnityEditor.Editor	{		public const string LinkPluginWebsite = "https://renderheads.com/products/avpro-video/";		public const string LinkForumPage = "https://forum.unity.com/threads/released-avpro-video-complete-video-playback-solution.385611/";		public const string LinkForumLastPage = "https://forum.unity.com/threads/released-avpro-video-complete-video-playback-solution.385611/page-100";		public const string LinkGithubIssues = "https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues";		public const string LinkGithubIssuesNew = "https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues/new/choose";		public const string LinkAssetStorePage = "https://assetstore.unity.com/packages/slug/181844?aid=1101lcNgx";		public const string LinkUserManual = "https://www.renderheads.com/content/docs/AVProVideo/";		public const string LinkScriptingClassReference = "https://www.renderheads.com/content/docs/AVProVideo/api/RenderHeads.Media.AVProVideo.html";		public const string LinkPurchase = "https://www.renderheads.com/content/docs/AVProVideo/articles/download.html";		private struct Native		{#if UNITY_EDITOR_WIN			[System.Runtime.InteropServices.DllImport("AVProVideo")]			public static extern System.IntPtr GetPluginVersion();#elif UNITY_EDITOR_OSX			[System.Runtime.InteropServices.DllImport("AVProVideo")]			public static extern System.IntPtr AVPPluginGetVersionStringPointer();#endif		}		private static string GetPluginVersion()		{			string version = "Unknown";			try			{#if UNITY_EDITOR_WIN				version = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Native.GetPluginVersion());#elif UNITY_EDITOR_OSX				version = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Native.AVPPluginGetVersionStringPointer());#endif			}			catch (System.DllNotFoundException e)			{#if UNITY_EDITOR_OSX				Debug.LogError("[AVProVideo] Failed to load Bundle. " + e.Message);#else				Debug.LogError("[AVProVideo] Failed to load DLL. " + e.Message);#endif			}			return version;		}		private static Texture2D GetIcon(Texture2D icon)		{			if (icon == null)			{				icon = Resources.Load<Texture2D>("AVProVideoIcon");			}			return icon;		}		private void OnInspectorGUI_About()		{			EditorGUILayout.BeginHorizontal();			GUILayout.FlexibleSpace();			_icon = GetIcon(_icon);			if (_icon != null)			{				GUILayout.Label(new GUIContent(_icon));			}			GUILayout.FlexibleSpace();			EditorGUILayout.EndHorizontal();			GUI.color = Color.yellow;			EditorHelper.IMGUI.CentreLabel("AVPro Video by RenderHeads Ltd", EditorStyles.boldLabel);			EditorHelper.IMGUI.CentreLabel("version " + Helper.AVProVideoVersion + " (plugin v" + GetPluginVersion() + ")");			GUI.color = Color.white;			GUI.backgroundColor = Color.white;			if (_icon != null)			{				GUILayout.Space(8f);				ShowSupportWindowButton();				GUILayout.Space(8f);			}			EditorGUILayout.LabelField("Links", EditorStyles.boldLabel);			GUILayout.Space(8f);			EditorGUILayout.LabelField("Documentation");			if (GUILayout.Button("User Manual, FAQ, Release Notes", GUILayout.ExpandWidth(false)))			{				Application.OpenURL(LinkUserManual);			}			if (GUILayout.Button("Scripting Class Reference", GUILayout.ExpandWidth(false)))			{				Application.OpenURL(LinkScriptingClassReference);			}			GUILayout.Space(16f);			GUILayout.Label("Bugs and Support");			if (GUILayout.Button("Open Help & Support", GUILayout.ExpandWidth(false)))			{				SupportWindow.Init();			}			GUILayout.Space(16f);			GUILayout.Label("Rate and Review (★★★★☆)", GUILayout.ExpandWidth(false));			if (GUILayout.Button("Asset Store Page", GUILayout.ExpandWidth(false)))			{				Application.OpenURL(LinkAssetStorePage);			}			GUILayout.Space(16f);			GUILayout.Label("Community");			if (GUILayout.Button("Forum Thread", GUILayout.ExpandWidth(false)))			{				Application.OpenURL(LinkForumPage);			}			GUILayout.Space(16f);			GUILayout.Label("Homepage", GUILayout.ExpandWidth(false));			if (GUILayout.Button("Official Website", GUILayout.ExpandWidth(false)))			{				Application.OpenURL(LinkPluginWebsite);			}			GUILayout.Space(32f);			EditorGUILayout.LabelField("Credits", EditorStyles.boldLabel);			GUILayout.Space(8f);			EditorHelper.IMGUI.CentreLabel("Programming", EditorStyles.boldLabel);			EditorHelper.IMGUI.CentreLabel("Andrew Griffiths");			EditorHelper.IMGUI.CentreLabel("Morris Butler");			EditorHelper.IMGUI.CentreLabel("Ste Butcher");			EditorHelper.IMGUI.CentreLabel("Richard Turnbull");			EditorHelper.IMGUI.CentreLabel("Sunrise Wang");			EditorHelper.IMGUI.CentreLabel("Muano Mainganye");			EditorHelper.IMGUI.CentreLabel("Shane Marks");			GUILayout.Space(8f);			EditorHelper.IMGUI.CentreLabel("Graphics", EditorStyles.boldLabel);			GUILayout.Space(8f);			EditorHelper.IMGUI.CentreLabel("Jeff Rusch");			EditorHelper.IMGUI.CentreLabel("Luke Godward");			GUILayout.Space(32f);		}	}}
 |