protected virtual void ObjectOnGUI(TEntity entity, SerializedProperty serializedObj, SerializedProperty serializedObjReference, Rect objRect) { // Icon + Title Texture2D iconTexture = null; string title = "Default"; EditorDisplayComponent displayComponent = entity.GetComponent <EditorDisplayComponent>(); if (displayComponent != null) { iconTexture = displayComponent.iconTexture; if (!displayComponent.title.IsNullOrEmpty()) { title = Regex.Replace(displayComponent.title, @"\s+", ""); } } iconTexture = iconTexture ?? Texture2DUtil.CreateTextureWithColor(Color.blue, kIconEdgeSize, kIconEdgeSize); GUIStyle titleStyle = new GUIStyle(this._skin.customStyles[0]); EditorGUILayout.LabelField(new GUIContent(title, iconTexture), titleStyle, GUILayout.Width(kIconEdgeSize), GUILayout.Height(kIconEdgeSize + 10.0f)); // Fields float oldFieldWidth = EditorGUIUtility.fieldWidth; EditorGUIUtility.fieldWidth = kFieldWidth; EditorGUIUtility.labelWidth = kLabelWidth; SerializedProperty property = serializedObj; SerializedProperty propertyReference = serializedObjReference; this.DrawPropertyChildrenRecursive(property, propertyReference); EditorGUIUtil.SetBoldDefaultFont(false); property.Reset(); EditorGUIUtility.fieldWidth = oldFieldWidth; EditorGUIUtility.labelWidth = 0; }
private static string GetTitleForObject(TEntity obj) { EditorDisplayComponent editorDisplayComponent = obj.GetComponent <EditorDisplayComponent>(); string title = "No EditorDisplayComponent"; if (editorDisplayComponent != null) { if (!editorDisplayComponent.title.IsNullOrEmpty()) { title = Regex.Replace(editorDisplayComponent.title, @"\s+", ""); } else { title = "Empty Title"; } } return(title); }