fdns / Terasology

Terasology is an open source project started by Benjamin "begla" Glatzel to research procedural terrain generation and efficient rendering techniques in Java using the LWJGL. The engine uses a block-based voxel-like approach as seen in Minecraft. After proving itself as a solid tech demo begla was joined at first by Anton "small-jeeper" Kireev and Rasmus "Cervator" Praestholm and a full-fledged game concept was born. Our goal is a game that pays ample tribute to Minecraft in initial look and origin, but stakes out its own niche by adopting the NPC-helper and caretaker feel from such games as Dwarf Fortress and Dungeon Keeper, while striving for added depth and sophistication in the foundation systems akin to DF.
http://terasology.org/
Apache License 2.0
0 stars 4 forks source link

RS10 - Ejecutar análisis y generar cambios del coloreo desde la consola de Terasology #38

Closed elarielcl closed 9 years ago

elarielcl commented 9 years ago

Agregar comando a la consola de Terasology con el cual se llame el procedimiento de análisis de código y se llame el procedimiento que ejecute el respectivo coloreo

elarielcl commented 9 years ago

Concept Location :

elarielcl commented 9 years ago

Concept Location :

elarielcl commented 9 years ago

Para aprender a crear comandos de consola se puede visitar : https://github.com/MovingBlocks/Terasology/wiki/Console-Commands#creating-your-own-console-commands

emoreno-94 commented 9 years ago

Se creó una interface genérica para los coloreos llamada IColoring la cual posee la clase abstracta AbstractColoring de la cual heredan estos. Ya que AbstractColoring es un template, basta que se sobreescriban los siguientes métodos:

Cabe destacar que la clase tiene el atributo "params" el cual es del tipo String[], en este deben poner los parámetros necesarios para que puedan ejecutar sus métricas (este es seteado con execute, ver más abajo).

Con esto implementado basta ejecutar lo siguiente para que la métrica correspondiente haga su coloreo:

IColoring coloring = new ("Metrica")Coloreo();
coloring.execute(params);

Por ejemplo, para CheckStyle:

IColoring c = new CheckStyleColoring();
c.execute(params);

Finalmente se creo una clase para cada métrica (ver en modulo Coloring, package coloring) donde pueden hacer lo ya mencionado. Además también se creo la clase ColoringCommands en la cual deben poner su comando de coloreo, por el momento está en el mismo package anterrior.