Unity检测面板视图的锁定必须点击那个小锁头,如下图所示,假如我想用脚本设置锁定或者不锁定怎么办?
直接上代码。
1 2 3 4 5 6 7 8 9 10 |
[MenuItem("Test/Lock&unlock")] static void OnLock() { var type = typeof(EditorWindow).Assembly.GetType("UnityEditor.InspectorWindow"); var window = EditorWindow.GetWindow(type); MethodInfo info = type.GetMethod("FlipLocked", BindingFlags.NonPublic | BindingFlags.Instance); info.Invoke (window, null); } |
版本:Unity5.3
- 本文固定链接: https://www.xuanyusong.com/archives/3796
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!
momo,听说你也是用的xamarin studio , 我想问下它的代码补全或者代码提示,快捷键是哪个啊
Momo你好,看了下你的反射的例子,受益匪浅,但有个问题,就是你是如何知道你要获取的某个功能对应的函数名呢?
例如:type.GetMethod(“FlipLocked”, BindingFlags.NonPublic | BindingFlags.Instance),你怎么锁住对应的函数就是“FlipLocked”的?
刚刚QQ上问了下momo,非常热心,立刻回答我了,再次感谢。
momo用的方法是先反编译u3d,然后从源码里获取这个功能的方法名,再利用反射进行操作。
受益匪浅。[嘻嘻]
嗯, 多看看editor下的源码, 对做unity的拓展编辑起很有帮助。。
反射玩上瘾了。。
恩, 给力啊~~