Ejemplo n.º 1
0
            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);
            }