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

相关推荐
Kim Jackson1 分钟前
我的世界Java版1.21.4的Fabric模组开发教程(二十二)创建生物(上)实体外观与动画设计
java·开发语言·fabric
逆境不可逃10 分钟前
【从零入门23种设计模式21】行为型之空对象模式
java·开发语言·数据库·算法·设计模式·职场和发展
斯幽柏雷科技11 分钟前
[Unity]Inspector各种写法(持续更新中)
java·unity·游戏引擎
BagMM16 分钟前
VScode 使用 Codex插件(避坑!)
ide·vscode·编辑器
盐水冰22 分钟前
【烘焙坊项目】后端搭建(6)- 店铺状态设置
java·redis
健康平安的活着25 分钟前
java中乐观锁+事务在批量导入,批量审批案例的使用
java·开发语言
夏语灬25 分钟前
SpringBoot集成MQTT客户端
java·spring boot·后端
Memory_荒年28 分钟前
Spring Boot自动装配:告别“配置地狱”的智能管家
java·后端·spring
盐水冰42 分钟前
【烘焙坊项目】后端搭建(9)- 缓存实现及购物车相关功能开发
java·后端·spring
gameboy03143 分钟前
在Nginx上配置并开启WebDAV服务的完整指南
java·运维·nginx