Пример #1
0
        private Rect DrawLayerGroupStart(PSDLayerGroupInfo groupInfo,
                                         int layerIndex, int indentLevel)
        {
            GUIStyle style = styleLayerNormal;

            if (selectedGroup != null && selectedGroup.ContainsLayer(layerIndex))
            {
                style = styleLayerSelected;
            }

            EditorGUILayout.BeginHorizontal(style);

            // Draw group visibility toggle
            bool visToggle = EditorGUILayout.Toggle(groupInfo.visible, GUILayout.Width(colVisible));

            float indentAmount = indentLevel * indentSize;

            GUILayout.Space(indentAmount);

            // Draw the layer group name
            GUIContent groupDisplay = new GUIContent()
            {
                image = icnFolder,
                text  = groupInfo.name
            };

            groupInfo.opened = EditorGUILayout.Foldout(groupInfo.opened, GUIContent.none);

            var foldoutRect = GUILayoutUtility.GetLastRect();

            foldoutRect.xMin += 13f;
            foldoutRect.width = 250f;
            EditorGUI.LabelField(foldoutRect, groupDisplay);

            GUILayout.FlexibleSpace();

            // Save the data into group info and file info
            groupInfo.visible = visToggle;
            fileInfo.LayerVisibility[layerIndex] = visToggle;

            EditorGUILayout.EndHorizontal();
            Rect groupRect = GUILayoutUtility.GetLastRect();

            return(groupRect);
        }