public static void Generate() { checkCanGenerate(); Debug.Log("Generating..."); var codeGenerators = GetCodeGenerators(); var codeGeneratorNames = codeGenerators.Select(cg => cg.Name).ToArray(); var config = new CodeGeneratorConfig(EntitasPreferences.LoadConfig(), codeGeneratorNames); var enabledCodeGeneratorNames = config.enabledCodeGenerators; var enabledCodeGenerators = codeGenerators .Where(type => enabledCodeGeneratorNames.Contains(type.Name)) .Select(type => (ICodeGenerator)Activator.CreateInstance(type)) .ToArray(); var assembly = Assembly.GetAssembly(typeof(Entity)); var generatedFiles = TypeReflectionCodeGenerator.Generate(assembly, config.pools, config.generatedFolderPath, enabledCodeGenerators); AssetDatabase.Refresh(); foreach (var file in generatedFiles) { Debug.Log(file.generatorName + ": " + file.fileName); } var totalGeneratedFiles = generatedFiles.Select(file => file.fileName).Distinct().Count(); Debug.Log("Generated " + totalGeneratedFiles + " files."); }
public static void Generate() { assertCanGenerate(); var codeGenerators = GetCodeGenerators(); var codeGeneratorNames = codeGenerators.Select(cg => cg.Name).ToArray(); var config = new CodeGeneratorConfig(EntitasPreferences.LoadConfig(), codeGeneratorNames); var enabledCodeGeneratorNames = config.enabledCodeGenerators; var enabledCodeGenerators = codeGenerators .Where(type => enabledCodeGeneratorNames.Contains(type.Name)) .Select(type => (ICodeGenerator)Activator.CreateInstance(type)) .ToArray(); var assembly = Assembly.GetAssembly(typeof(Entity)); TypeReflectionCodeGenerator.Generate(assembly, config.pools, config.generatedFolderPath, enabledCodeGenerators); AssetDatabase.Refresh(); }