Unity Runtime控制编辑器的一些操作

运行时修改Game窗口尺寸

cs 复制代码
//设置竖屏
public void ChangePortrait()
{
    Assembly assembly = typeof(UnityEditor.EditorWindow).Assembly;
    Type type = assembly.GetType("UnityEditor.GameView");
    var gameView= UnityEditor.EditorWindow.GetWindow(type);
    //可以反射出其他字段和方法,看看是否有可以修改Game视图字段或者方法   
    PropertyInfo targetProperty = type.GetProperty("selectedSizeIndex");
    targetProperty.SetValue(gameView,18);
    UIModule.Instance.UIRoot.GetComponent<CanvasScaler>().referenceResolution = new Vector2(768, 1720);
}

//设置横屏
public void ChangeLandscape()
{
    Assembly assembly = typeof(UnityEditor.EditorWindow).Assembly;
    Type type = assembly.GetType("UnityEditor.GameView");
    var gameView= UnityEditor.EditorWindow.GetWindow(type);
    //可以反射出其他字段和方法,看看是否有可以修改Game视图字段或者方法   
    PropertyInfo targetProperty = type.GetProperty("selectedSizeIndex");
    targetProperty.SetValue(gameView, 19);
    UIModule.Instance.UIRoot.GetComponent<CanvasScaler>().referenceResolution = new Vector2(1920, 1080);
}

请注意selectedSizeIndex属性修改的是下图的尺寸编号

相关推荐
A阳俊yi21 分钟前
Spring Data JPA
java·开发语言
小王不爱笑13224 分钟前
Spring AOP(AOP+JDBC 模板 + 转账案例)
java·后端·spring
遇印记31 分钟前
蓝桥java蜗牛
java·学习·蓝桥杯
m0_565611131 小时前
Java-泛型
java·windows
张np1 小时前
java基础-集合接口(Collection)
java·开发语言
_OP_CHEN1 小时前
Linux网络编程:(七)Vim 编辑器完全指南:从入门到精通的全方位实战教程
linux·运维·服务器·编辑器·vim·linux生态·linux软件
jakeswang1 小时前
ServletLess架构简介
java·后端·servletless
B0URNE1 小时前
【Unity基础详解】Unity3D全程学习路线
学习·unity·游戏引擎
搬山境KL攻城狮1 小时前
maven 私服上传jar
java·maven·jar
q***56382 小时前
Spring Boot--@PathVariable、@RequestParam、@RequestBody
java·spring boot·后端