private void AddItem(ReorderableList list)
        {
            tilemap.Layers.Add(tilemap.CreateLayer());

            tilemap.CalculateLayersOrder();

            CalculateIndexes();
            EditorUtility.SetDirty(target);
        }
        private void OnEnable()
        {
            tilemap = target as ATilemap;
            tilemap.OnValidate();

            layersList = new ReorderableList(tilemap.Layers, typeof(Tile), true, true, true, true);

            layersList.drawHeaderCallback  += DrawHeader;
            layersList.drawElementCallback += DrawElement;

            layersList.onAddCallback     += AddItem;
            layersList.onRemoveCallback  += RemoveItem;
            layersList.onReorderCallback += (index) => { tilemap.CalculateLayersOrder(); tilemap.RefreshAll(true); CalculateIndexes(); };
        }