Unity有很多操作需要人手动设置,比如咱们的GameView窗口,通常需要设置分辨率,是否在运行时最大化(Maximize On Playr)等等。
如何使用代码对其进行 ,就拿对GameView这个窗口的设置举例。
1.Unity有编辑器有个获取窗口的接口EditorWindow.GetWindow(Type t)
那么我们怎么获取取GameView的Type呢。毕竟这个类Unity是不对外公开的,很多人甚至不知道它的存在。
我们可以这样
static Type GetGameViewType()
{
Assembly assembly = typeof(EditorWindow).Assembly;
Type[] types = assembly.GetTypes();
for (int i = 0; i < types.Length; i++)
{
if (types[i].Name == "GameView")
{
return types[i];
}
}
return null;
}
这个方法也可以打印出所有的继承EditorWindow的所有窗口类型。
然后我们我们传入参数,如愿得到了EditorWindow对象。我们就可以调用它一些常用方法,比如关闭,获取焦点等等。但是也只是一些通用窗口方式。为什么这么说呢,毕竟这只是一个基类,是所有窗口一些共有特性。那么我们怎么转到子类呢。比如转到GameView这个子类?很明显,这是不