private static void DrawAtlasesList(BlockSet blockSet)
    {
        Atlas[] list = blockSet.GetAtlases();
        GUILayout.BeginVertical(GUI.skin.box, GUILayout.ExpandWidth(true));
        {
            selectedAtlas = EditorGUIUtils.DrawList(selectedAtlas, list);
            EditorGUILayout.Separator();

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Add"))
            {
                ArrayUtility.Add <Atlas>(ref list, new Atlas());
                selectedAtlas = list.Length - 1;
                GUI.changed   = true;
            }
            if (GUILayout.Button("Remove") && selectedAtlas != -1)
            {
                Undo.RegisterUndo(blockSet, "Remove atlas");
                ArrayUtility.RemoveAt <Atlas>(ref list, selectedAtlas);
                selectedAtlas = Mathf.Clamp(selectedAtlas, 0, list.Length - 1);
                GUI.changed   = true;
            }
            GUILayout.EndHorizontal();
        }
        GUILayout.EndVertical();
        blockSet.SetAtlases(list);
    }