sábado, 4 de abril de 2009

Implementando diálogos para mensajes

Me he topado con un problema durante el desarrollo de BrainRush, puesto que necesito desplegar información al usuario a manera de diálogos con mensajes. Algo muy simple en realidad.

Una alternativa es crear un formulario y utilizarlo cada vez que necesite desplegar un mensaje. La otra, crear un mecanismo en Gamegine para desplegar diálogos. Como se imaginan, opté por la segunda, puesto que eso de mostrar mensajes no es algo que ocurra únicamente en BrainRush, sino en cualquier juego a desarrollar.

El caso es que desarrollé este mecanismo (según yo, sencillo) y me encontré con una serie de complicaciones en el camino; sin embargo, creo que ha quedado lo suficientemente funcional.

GamegineCEGUI fué el encargado de llevar a cabo el truco, y consta de una clase que tiene una pila de mensajes por mostrar, junto con información relacionada a la instancia que solicitó se desplegara el mensaje. Lo que ocurre, entonces, es que GamegineCEGUI irá mostrando los mensajes uno a uno y destruirá el diálogo hasta que la pila se encuentre vacía.

Implmentando MessageDialog con Gamegine

Y ha quedado muy fácil de implementar, lo único que tienes que hacer es llamar a la siguiente rutina:

GUI::Dialogs::MessageDialog::show( _Form, "This is a message dialog!", "A dialog title..." );

.