最近发现 unity 在底层库里,真的藏了好多有趣的功能呀,比如下面这个
using System;
using System.Reflection;
using UnityEditor;
public class TestEditorCode
{
[MenuItem("Tools/测试用编辑器窗口开网页")]
private static void OpenWindow()
{
string Url = "https://www.bilibili.com/";
string typeName = "UnityEditor.Web.WebViewEditorWindowTabs";
Type type = Assembly.Load("UnityEditor.dll").GetType(typeName);
BindingFlags flags = BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy;
MethodInfo mInfo = type.GetMethod("Create", flags);
mInfo = mInfo.MakeGenericMethod(type);
mInfo.Invoke(null, new object[] { "b站", Url, 800, 600, 1920, 1080 });
}
}
这个 WebViewEditorWindowTabs 类就具有打开网页的功能!
效果如下:
要说这功能多实用呀,在编辑器里打开公司的知识库,或者是某些web应用啥的,为啥要藏起来呢,还得靠反射才能给调出来。
下面顺便附上在浏览器里打开的方法:
1,用进程开
// 不传入 IExplore.exe 就是用系统默认的浏览器
System.Diagnostics.Process.Start("IExplore.exe", "https://www.bilibili.com/");
2,用www打开
WWW www = new WWW("https://www.bilibili.com/");
Application.OpenURL(www.url);