public static void GenerateEnums(List <string> definitionNames, bool refresh = true)
        {
            var addedDefinitions = new List <string>();
            var entityTypeConfig = ScriptableObjectEditorUtils.FindFirstOfType <EntityTypeConfig>();

            _enumNames = new List <string>();
            foreach (var definitionName in definitionNames)
            {
                if (addedDefinitions.Contains(definitionName))
                {
                    continue;
                }
                _enumNames.Add(definitionName);
                if (!entityTypeConfig.EntityNames.Contains(definitionName))
                {
                    entityTypeConfig.EntityNames.Add(definitionName);
                    EntityTypeGenerator.AddEnum(definitionName, false);
                }
                addedDefinitions.Add(definitionName);
            }
            GenerateFile();
            if (refresh)
            {
                AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
            }
        }
 public static void RemoveEnum(string groupName, bool refresh = true)
 {
     _enumNames = Enum.GetNames(typeof(EntityProperty)).ToList();
     _enumNames.Remove(groupName);
     EntityTypeGenerator.RemoveEnum(groupName, refresh);
     GenerateFile();
     if (refresh)
     {
         AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
     }
 }