Ejemplo n.º 1
0
        static void generate()
        {
            var path = getEntitasProjectDir() + "/Readme/Readme/Generated/";

            var types = Assembly
                        .GetAssembly(typeof(MainClass))
                        .GetTypes();

            var contextNames = new [] { "Game", "GameState", "Input" };

            var dataProviders = new ICodeGeneratorDataProvider[] {
                new ContextDataProvider(contextNames),
                new ComponentDataProvider(types)
            };

            var codeGenerators = new ICodeGenerator[] {
                new ComponentContextGenerator(),
                new ComponentEntityGenerator(),
                new ComponentGenerator(),
                new ComponentsLookupGenerator(),
                new ContextAttributeGenerator(),
                new ContextGenerator(),
                new ContextsGenerator(),
                new EntityGenerator(),
                new MatcherGenerator()
            };

            var postProcessors = new ICodeGenFilePostProcessor [] {
                new MergeFilesPostProcessor(),
                new NewLinePostProcessor(),
                new WriteToDiskPostProcessor(path),
            };

            var codeGenerator = new CodeGenerator(dataProviders, codeGenerators, postProcessors);
            var files         = codeGenerator.Generate();

            foreach (var file in files)
            {
                System.Console.WriteLine("file.fileName: " + file.fileName);
            }

            System.Console.WriteLine("Done. " + files.Length + " files generated.");
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            var types = Assembly
                        .GetAssembly(typeof(MainClass))
                        .GetTypes();

            var dataProviders = new ICodeGeneratorDataProvider[] {
                new ContextDataProvider(contextNames),
                new ComponentDataProvider(types)
            };

            var codeGenerators = new ICodeGenerator[] {
                new EntityGenerator(),
                new ContextGenerator(),
                new ContextAttributeGenerator(),
                new ContextsGenerator(),
                new ComponentsLookupGenerator(),
                new ComponentEntityGenerator(),
                new ComponentContextGenerator(),
                new ComponentGenerator(),
                new MatcherGenerator()
            };

            var postProcessors = new ICodeGenFilePostProcessor [] {
                new AddFileHeaderPostProcessor(),
                new NewLinePostProcessor(),
                new WriteToDiskPostProcessor(path),
            };

            var codeGenerator = new CodeGenerator(dataProviders, codeGenerators, postProcessors);
            var files         = codeGenerator.Generate();

            foreach (var file in files)
            {
                System.Console.WriteLine("file.fileName: " + file.fileName);
            }

            System.Console.WriteLine("Done. " + files.Length + " files generated.");
        }