public virtual void GatherInputsFromCurrent()
        {
            this.tileset = this.tilesetRecord.Tileset;

            this.inputAtlasTexture = this.tileset.AtlasTexture;
            this.inputTileWidth    = this.tileset.TileWidth;
            this.inputTileHeight   = this.tileset.TileHeight;

            this.inputBorderSize = this.tileset.BorderSize;
            this.inputDelta      = this.tileset.Delta;

            if (this.inputBorderSize == 0 && this.inputDelta == 0f)
            {
                this.inputEdgeCorrectionPreset = EdgeCorrectionPreset.DoNothing;
            }
            else if (this.inputBorderSize == 0 && this.inputDelta == 0.5f)
            {
                this.inputEdgeCorrectionPreset = EdgeCorrectionPreset.InsetUVs;
            }
            else
            {
                this.inputEdgeCorrectionPreset = EdgeCorrectionPreset.Custom;
            }

            this.inputProcedural = this.tileset.procedural;

            RotorzEditorGUI.ClearControlFocus();
        }
        internal static void DeleteBrush(Brush brush, bool selectParentTileset)
        {
            var brushRecord = BrushDatabase.Instance.FindRecord(brush);

            if (brushRecord == null)
            {
                return;
            }

            RotorzEditorGUI.ClearControlFocus();

            if (EditorUtility.DisplayDialog(
                    TileLang.ParticularText("Action", "Delete Brush"),
                    string.Format(
                        /* 0: name of brush */
                        TileLang.Text("Deleting a brush that has been previously used in a tile system may cause damage to that tile system.\n\n'{0}'\n\nDo you really want to delete this brush?"),
                        brushRecord.DisplayName
                        ),
                    TileLang.ParticularText("Action", "Yes"),
                    TileLang.ParticularText("Action", "No")
                    ))
            {
                // Determine whether tileset should be selected in designer.
                var designerWindow = RotorzWindow.GetInstance <DesignerWindow>();
                if (designerWindow != null && ReferenceEquals(brushRecord.Brush, designerWindow.SelectedObject))
                {
                    designerWindow.SelectedObject = selectParentTileset && brushRecord.Brush is TilesetBrush
                        ? (brushRecord.Brush as TilesetBrush).Tileset
                        : null;
                }

                BrushUtility.DeleteBrush(brushRecord.Brush);
            }
        }