[UnityEditor基础]EditorStyles 编辑样式

来源:互联网 发布:java招聘系统源代码 编辑:程序博客网 时间:2024/04/30 22:53

本文转自: 雨松MOMO 2016年01月23日 于 雨松MOMO程序研究院 发表,有个人轻微修改,请点击链接查看原文,尊重楼主大大版权。


EditorStyles 编辑样式


我们在做编辑器的时候每个控件后面都有一个 参数是 GUIStyle通常unity会默认分配一个,但是怎么知道unity系统所有的style呢?我写了一段简单的代码把系统的sytle都反射出来了。

代码在这里,注意这里我把unity私有的style也反射出来了,如果EditorStyles点不出来就像我这样反射一下就行了:

using UnityEngine;using System.Collections;using UnityEditor;using System.Reflection;using System.Collections.Generic; public class MyWindows : EditorWindow  { static List<GUIStyle> styles = null;[MenuItem("Window/styles")]public static void Test() {EditorWindow.GetWindow<MyWindows>("styles"); styles = new List<GUIStyle> (); foreach(PropertyInfo fi in typeof(EditorStyles).GetProperties(BindingFlags.Static|BindingFlags.Public|BindingFlags.NonPublic)){object o = fi.GetValue (null, null);if (o.GetType () == typeof(GUIStyle)) {styles.Add (o as GUIStyle);}}} public Vector2 scrollPosition = Vector2.zero;void OnGUI() {scrollPosition = GUILayout.BeginScrollView (scrollPosition);for (int i = 0; i < styles.Count; i++) {GUILayout.Label ("EditorStyles." +styles[i].name , styles[i]);}GUILayout.EndScrollView ();}}
然后我们在Unity里可以预览这些style的效果:


Unity圣典里也列出了这些Style,详情描述可参考:http://www.ceeger.com/Script/EditorStyles/EditorStyles.html

原创粉丝点击