public virtual void OnEnable()
 {
     this.m_Tags = base.serializedObject.FindProperty("tags");
     this.CheckForRemovedTags();
     if (this.m_TagsList == null)
     {
         this.m_TagsList = new ReorderableList(base.serializedObject, this.m_Tags, false, false, true, true);
         this.m_TagsList.onAddDropdownCallback = new ReorderableList.AddDropdownCallbackDelegate(this.NewElement);
         this.m_TagsList.onRemoveCallback      = new ReorderableList.RemoveCallbackDelegate(this.RemoveFromTagsList);
         this.m_TagsList.drawElementCallback   = new ReorderableList.ElementCallbackDelegate(this.DrawTagListElement);
         this.m_TagsList.elementHeight         = EditorGUIUtility.singleLineHeight + 2f;
         this.m_TagsList.headerHeight          = 3f;
     }
     this.m_SortingLayers = base.serializedObject.FindProperty("m_SortingLayers");
     if (this.m_SortLayersList == null)
     {
         this.m_SortLayersList = new ReorderableList(base.serializedObject, this.m_SortingLayers, true, false, true, true);
         this.m_SortLayersList.onReorderCallback   = new ReorderableList.ReorderCallbackDelegate(this.ReorderSortLayerList);
         this.m_SortLayersList.onAddCallback       = new ReorderableList.AddCallbackDelegate(this.AddToSortLayerList);
         this.m_SortLayersList.onRemoveCallback    = new ReorderableList.RemoveCallbackDelegate(this.RemoveFromSortLayerList);
         this.m_SortLayersList.onCanRemoveCallback = new ReorderableList.CanRemoveCallbackDelegate(this.CanRemoveSortLayerEntry);
         this.m_SortLayersList.drawElementCallback = new ReorderableList.ElementCallbackDelegate(this.DrawSortLayerListElement);
         this.m_SortLayersList.elementHeight       = EditorGUIUtility.singleLineHeight + 2f;
         this.m_SortLayersList.headerHeight        = 3f;
     }
     this.m_Layers = base.serializedObject.FindProperty("layers");
     if (this.m_LayersList == null)
     {
         this.m_LayersList = new ReorderableList(base.serializedObject, this.m_Layers, false, false, false, false);
         this.m_LayersList.drawElementCallback = new ReorderableList.ElementCallbackDelegate(this.DrawLayerListElement);
         this.m_LayersList.elementHeight       = EditorGUIUtility.singleLineHeight + 2f;
         this.m_LayersList.headerHeight        = 3f;
     }
     if (TagManagerInspector.s_InitialExpansionState != TagManagerInspector.InitialExpansionState.None)
     {
         this.m_Tags.isExpanded          = false;
         this.m_SortingLayers.isExpanded = false;
         this.m_Layers.isExpanded        = false;
         TagManagerInspector.InitialExpansionState initialExpansionState = TagManagerInspector.s_InitialExpansionState;
         if (initialExpansionState != TagManagerInspector.InitialExpansionState.Tags)
         {
             if (initialExpansionState != TagManagerInspector.InitialExpansionState.Layers)
             {
                 if (initialExpansionState == TagManagerInspector.InitialExpansionState.SortingLayers)
                 {
                     this.m_SortingLayers.isExpanded = true;
                 }
             }
             else
             {
                 this.m_Layers.isExpanded = true;
             }
         }
         else
         {
             this.m_Tags.isExpanded = true;
         }
         TagManagerInspector.s_InitialExpansionState = TagManagerInspector.InitialExpansionState.None;
     }
 }
 internal static void ShowWithInitialExpansion(TagManagerInspector.InitialExpansionState initialExpansionState)
 {
     TagManagerInspector.s_InitialExpansionState = initialExpansionState;
     Selection.activeObject = EditorApplication.tagManager;
 }