2014-07-25 82 views
1

我正在寫一個DecoratorDrawer,允許對檢查員中的任何字段給出詳細的描述。我的目標一看是這樣的: enter image description here
(在GIMP僞造)如何用`GUIStyle`實現`EditorGUI.HelpBox`外觀?

也就是說要輕一點背景,圓角邊框等

有在使用這種風格的編輯器的地方,例如有在光照貼圖窗口兩個實例: lightmaper window with widget look selected

我不能使用EditorGUI.HelpBox,因爲:

  1. 我無法可靠地測量HelpBox內容的高度。請注意,抽屜禁止使用EditorGUILayout

  2. 沒有富文本或其他方式樣式內容

  3. 圖像不permited - 我想有他們作爲一個選項以後

使用HelpBox它看起來是這樣的:

enter image description here


我的問題是:是否有硬編碼的GUIStyleUnityEditor/UnityEditorInternal方法允許以這種風格顯示信息?如果沒有,關於如何僞造這種風格的任何想法?如何製作圓角?請記住,有一個親膚看起來不同,所以如果解決方案可以在兩個皮膚上都能正常工作,那就好了。

回答

3

您可以從GUI.skin獲取幫助框樣式。

喜歡的東西

EditorGUILayout.TextArea("This is my text", GUI.skin.GetStyle("HelpBox")); 

會得到

你注意,這仍然不會讓你有豐富的文字雖然。它默認是禁用的。要啓用它,你可以這樣做

GUIStyle myStyle = GUI.skin.GetStyle("HelpBox"); 
myStyle.richText = true; 

EditorGUILayout.TextArea("This is my text <b>AND IT IS BOLD</b>", myStyle); 

這將導致