A game about forced loneliness, made by TACStudios
1using System;
2using UnityEditor.IMGUI.Controls;
3using UnityEngine;
4
5namespace UnityEditor.U2D.Animation
6{
7 internal class VisibilityToolColumnHeader : MultiColumnHeader
8 {
9 public Action<bool> SetAllVisibility = (b) => {};
10 public Func<bool> GetAllVisibility = () => true;
11
12 public VisibilityToolColumnHeader(MultiColumnHeaderState state)
13 : base(state)
14 {
15 visibilityColumn = -1;
16 }
17
18 public int visibilityColumn { private get; set; }
19
20 protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
21 {
22 if (columnIndex == visibilityColumn)
23 {
24 GUIStyle style = DefaultStyles.columnHeaderCenterAligned;
25 EditorGUI.BeginChangeCheck();
26 var visibility = GetAllVisibility();
27 visibility = GUI.Toggle(headerRect, visibility, visibility ? VisibilityTreeViewBase.VisibilityIconStyle.visibilityOnIcon : VisibilityTreeViewBase.VisibilityIconStyle.visibilityOffIcon, style);
28 if (EditorGUI.EndChangeCheck())
29 SetAllVisibility(visibility);
30 }
31 else
32 base.ColumnHeaderGUI(column, headerRect, columnIndex);
33 }
34 }
35}