Exemplo n.º 1
0
        private void CreateLabel(int displayOrder, IGUIFactory factory)
        {
            CenteredLabel btn = factory.CreateLabel();

            btn.Location = new Point(60, 10 + 100 * displayOrder);
            btn.Text     = "Theme Label";
            panelDisplay.Controls.Add(btn);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Returns width of the column in pixels.
        /// </summary>
        private float CalculateColumnWidth(SerializedProperty property)
        {
            // Check for user given value through CellWIdth attribute.
            foreach (var attribute in GetAttributes <CellWidth>(ColumnField))
            {
                return(attribute.Width);
            }

            // get default width for property type.
            float width = 80f;

            switch (property.propertyType)
            {
            case SerializedPropertyType.Boolean: width = 40; break;

            case SerializedPropertyType.ObjectReference: width = 250; break;

            case SerializedPropertyType.String: width = 250; break;

            case SerializedPropertyType.Vector2: width = 150; break;

            case SerializedPropertyType.Vector3: width = 225; break;

            case SerializedPropertyType.Vector4: width = 240; break;

            case SerializedPropertyType.Generic: width = 150; break;
            }

            // adjust for long field/enum names
            var minWidth = CenteredLabel.CalcSize(new GUIContent(property.displayName)).x + 18f;

            if (ColumnField.FieldType.IsEnum)
            {
                foreach (var enumValue in Enum.GetValues(ColumnField.FieldType))
                {
                    var enumLength = EditorStyles.popup.CalcSize(new GUIContent(ObjectNames.NicifyVariableName(enumValue.ToString()))).x + 18f;
                    if (enumLength > minWidth)
                    {
                        minWidth = enumLength;
                    }
                }
            }
            return(Mathf.Max(minWidth, width));
        }