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属性修改的是下图的尺寸编号

相关推荐
波澜X9 分钟前
springboot 配置Kafka 关闭自启动连接
java·kafka
白宇横流学长14 分钟前
企业电子投票系统 【源码+文档】
java
小帆的帆1 小时前
vscode设置中引用环境变量
ide·vscode·编辑器
nh75271 小时前
(五)FT2232HL高速调试器之--三步实现STM32的VSCODE在线仿真工程搭建
ide·vscode·编辑器·openocd
咩咩觉主1 小时前
Unity复刻胡闹厨房复盘 模块一 新输入系统订阅链与重绑定
java·unity·游戏引擎
Q_19284999061 小时前
基于Spring Boot的房屋租赁管理系统
java·spring boot·后端
天天进步20151 小时前
Java全栈项目 - 学生档案管理系统
java·开发语言
清弦墨客1 小时前
【蓝桥杯】43696.小数第n位
java·c语言·c++·python·蓝桥杯
witton1 小时前
将VSCode配置成Goland的视觉效果
ide·vscode·编辑器·go·字体·c/c++·goland
Best_Me072 小时前
最短路径C++
java·c++·算法