private void TriggerCreateTable()
        {
            var savePath = EditorUtility.SaveFilePanel($"Create Table {tableName}", Application.dataPath, $"{tableName}", "asset");

            if (string.IsNullOrEmpty(savePath))
            {
                return;
            }

            if (!savePath.StartsWith(Application.dataPath))
            {
                EditorUtility.DisplayDialog("Invalid location!", "The location specified is not valid. You should create the table in your assets folder, in a Resources subfolder.", "Close");
                Focus();
                return;
            }

            if (!savePath.Contains("/Resources"))
            {
                EditorUtility.DisplayDialog("Invalid location!", "The location specified is not valid. You should create the table in your assets folder, in a Resources subfolder.", "Close");
                Focus();
                return;
            }

            var cleanPath = savePath.Substring(Application.dataPath.LastIndexOf('/') + 1);
            var table     = settings.AddTable(tableName);

            AssetDatabase.CreateAsset(table, cleanPath);
            AssetDatabase.ImportAsset(cleanPath, ImportAssetOptions.ForceUpdate);

            Utils.DirtyTables(settings);
            onCreate?.Invoke();
            Close();
        }