所有引用了UnityEditor命名空间的脚本必须放在Editor文件夹或其子文件夹下,项目中可以存在多个Editor文件夹。
Editor Default Resources文件夹和Resources文件夹类似,这个文件夹是存放Editor扩展所使用到的资源文件。Editor Default Resources文件夹中存放的Asset可以使用EditorGUIUtility.Load进行访问。
Editor Default Resources文件夹的目的并不只是让用户放置资源,这个文件夹的目的是替换Build-in的资源。EditorGUIUtility.Load首先会检查Unity工程中的”Assets/Editor Default Resources/ + path”中是否有Asset。如果有Asset的话,就会使用。如果没有的话,就会读取Build-in的AssetBundle中的Asset。
一般是混合使用GUI、EditorGUI、GUILayout、EditorGUILayou中的接口来满足各种需求
GetWindow函数在执行时就会进入Awake和OnEnable中,执行完GetWindow后才会获取到窗口的引用对象
GUILayout和EditorGUILayout会自动布局(纵向布局并且如果未设置控件长宽则自动拉长),需要横向布局的控件需要写在GUILayout.BeginHorizontal()和GUILayout.EndHorizontal()之间或者EditorGUILayout.BeginHorizontal()和EditorGUILayout.EndHorizontal()之间
GUILayoutUtility.GetLastRect()获取此时最后一个rect,重绘时则无论何时获取都始终返回(0,0,1,1)
GUI和EditorGUI不是自动布局的,要通过传入一