void ShowInHierarchy(CharacterViewer character)
 {
     Transform[] child = character.GetComponentsInChildren <Transform>(true);
     foreach (Transform c in child)
     {
         c.gameObject.hideFlags = HideFlags.None;
     }
     EditorApplication.RepaintHierarchyWindow();
 }
 void HideInHierarchy(CharacterViewer character)
 {
     Transform[] child = character.GetComponentsInChildren <Transform>(true);
     foreach (Transform c in child)
     {
         if (c != child[0])
         {
             c.gameObject.hideFlags  = HideFlags.HideInInspector;
             c.gameObject.hideFlags ^= HideFlags.HideInHierarchy;
         }
     }
     EditorApplication.RepaintHierarchyWindow();
     EditorApplication.DirtyHierarchyWindowSorting();
 }