A game about forced loneliness, made by TACStudios
at master 35 lines 1.3 kB view raw
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}