komoku / aetheria

Aetheria Game Engine - Migrated from code.google.com/p/aetheria
Other
8 stars 0 forks source link

Considerar incluir un preprocesador de la salida #298

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Para facilitar la implementación y compatibilidad con todos los clientes del 
soporte de hiperenlaces (issue #167), y a la vez dar más opciones y 
flexibilidad al usuario en lo referente al soporte de estilos y de colores 
(p.ej. issue #194), podría ser buena idea añadir un preprocesador de la 
salida que hiciese de intermediario entre el mundo y el cliente.

Ahora mismo, el mundo y sus objetos escriben al cliente preguntándole cuál es 
su código de color (directamente, o de forma oculta en funciones cómodas que 
hacen "wrapping" de eso). Con los hiperenlaces se puede usar la misma 
aproximación (y se debe - no hay motivos para quitarla). Pero a mayores, 
sería interesante que el usuario pudiera usar strings conteniendo unos 
códigos universales, y que un objeto preprocesador de la salida se encargara 
de:

(1) localizar los códigos universales en el texto (algo como #FF0000#, #story# 
o #link:ir al norte#,
(2) hacer las preguntas necesarias al cliente sobre los códigos de color (y 
futuros códigos de hiperenlace, etc.),
(3) enviar al cliente la cadena con los códigos específicos de cliente que 
él entiende (que por supuesto, como hasta ahora, pueden ser cadenas vacías 
para clientes que no soporten color/hiperenlaces).

La ventaja sería que el usuario podría usar cadenas con códigos directamente 
de manera portable entre clientes, en vez de tener que usar distintos métodos 
write o bien usar códigos pero renunciando a la portabilidad.

Original issue reported on code.google.com by komoku on 19 Apr 2013 at 10:06