Sion Tower (demo técnica) 0.1
Clases | Métodos públicos

Referencia de la Clase StateManager

Clase que controla los estados de Sion Tower y sus transiciones. Más...

#include <stateManager.h>

Lista de todos los miembros.

Clases

struct  StateOperation

Métodos públicos

 StateManager (Game *game, OIS::InputManager *inputManager)
 ~StateManager ()
void start ()
void exitGame ()
void changeState (State *state)
void changeState (const Ogre::String &stateName)
void popState ()
void pushState (State *state)
void popAllStates ()
OIS::Mouse * getMouse ()
OIS::Keyboard * getKeyboard ()
bool keyPressed (const OIS::KeyEvent &arg)
bool keyReleased (const OIS::KeyEvent &arg)
bool mouseMoved (const OIS::MouseEvent &arg)
bool mousePressed (const OIS::MouseEvent &arg, OIS::MouseButtonID id)
bool mouseReleased (const OIS::MouseEvent &arg, OIS::MouseButtonID id)
bool frameStarted (const Ogre::FrameEvent &event)
bool frameEnded (const Ogre::FrameEvent &event)
bool frameRenderingQueued (const Ogre::FrameEvent &event)
void windowClosed (Ogre::RenderWindow *window)
void windowResized (Ogre::RenderWindow *window)
bool windowClosing (Ogre::RenderWindow *window)

Descripción detallada

Clase que controla los estados de Sion Tower y sus transiciones.

Autor:
David Saltares Márquez
Fecha:
23-12-2010

StateManager es la clase que se encarga de controlar los estados de Sion Tower y las transiciones entre los mismos.

Mantiene una pila de estados de los que sólo se actualiza el frente. Podemos cambiar el estado actual por otro (StateManager::changeState), añadir un nuevo estado (StateManager::pushState) o eliminar el tope de la pila (stateManager::popState).

Captura los eventos de teclado, ratón y ventana. Se encarga de transmitir estos eventos al estado que se encuentre actualmente activo.


Documentación del constructor y destructor

StateManager::StateManager ( Game game,
OIS::InputManager *  inputManager 
)

Constructor

Parámetros:
gamejuego al que pertenece el StateManager
inputManagergestor de la entrada para configurar los dispositivos (ratón y teclado)

Configura el SceneManager. Crea la cámara. Prepara los recursos (sin cargarlos). Inicia el menú de juego.

StateManager::~StateManager ( )

Destructor

Destruye todas las escenas de la pila.


Documentación de las funciones miembro

void StateManager::changeState ( State state)
Parámetros:
statenuevo estado.

Cambia el estado actual por el estado deseado. El cambio se produce al finalizar la iteración actual del bucle de juego.

void StateManager::changeState ( const Ogre::String &  stateName)
Parámetros:
stateNamenombre del nuevo estado.

Cambia el estado actual por el estado deseado. El cambio se produce al finalizar la iteración actual del bucle de juego.

Los posibles nombres son:

  • 'stateGame': StateGame
  • 'stateMenu': StateMenu
void StateManager::exitGame ( )

Finaliza el bucle de juego al finalizar la iteración.

bool StateManager::frameEnded ( const Ogre::FrameEvent &  event)
Parámetros:
eventinformación del evento
Devuelve:
true si se continúa con el bucle de renderizado. Si se devuelve false, el bucle se detiene

Evento que se dispara al acabar el renderizado de la escena en cada iteración del bucle de juego. Después de intercambiar los buffers.

bool StateManager::frameRenderingQueued ( const Ogre::FrameEvent &  event)
Parámetros:
eventinformación del evento
Devuelve:
true si se continúa con el bucle de renderizado. Si se devuelve false, el bucle se detiene

Evento que se dispara al acabar el renderizado de la escena en cada iteración del bucle de juego. Antes de intercambiar los buffers.

bool StateManager::frameStarted ( const Ogre::FrameEvent &  event)
Parámetros:
eventinformación del evento
Devuelve:
true si se continúa con el bucle de renderizado. Si se devuelve false, el bucle se detiene

Evento que se dispara al iniciar un cuadro de renderizado.

OIS::Keyboard * StateManager::getKeyboard ( ) [inline]
Devuelve:
teclado utilizado por el juego.

Este método se utiliza para actualizar elementos del juego en función de algún dispositivo de entrada. En este caso, el teclado.

OIS::Mouse * StateManager::getMouse ( ) [inline]
Devuelve:
ratón utilizado por el juego.

Este método se utiliza para actualizar elementos del juego en función de algún dispositivo de entrada. En este caso el ratón.

bool StateManager::keyPressed ( const OIS::KeyEvent &  arg)
Parámetros:
argevento de teclado
Devuelve:
true si todo ha ido bien

Evento que se dispara al presionar una tecla.

bool StateManager::keyReleased ( const OIS::KeyEvent &  arg)
Parámetros:
argevento de teclado
Devuelve:
true si todo ha ido bien

Evento que se dispara al liberar una tecla.

bool StateManager::mouseMoved ( const OIS::MouseEvent &  arg)
Parámetros:
argevento de ratón
Devuelve:
true si todo ha ido bien

Evento que se dispara al mover el ratón.

bool StateManager::mousePressed ( const OIS::MouseEvent &  arg,
OIS::MouseButtonID  id 
)
Parámetros:
argevento de ratón
ididentificador del botón del ratón
Devuelve:
true si todo ha ido bien

Evento que se dispara al presionar un botón del ratón.

bool StateManager::mouseReleased ( const OIS::MouseEvent &  arg,
OIS::MouseButtonID  id 
)
Parámetros:
argevento de ratón
ididentificador del botón del ratón
Devuelve:
true si todo ha ido bien

Evento que se dispara al liberar un botón del ratón.

void StateManager::popAllStates ( )

Saca todos los estados de la pila.

void StateManager::popState ( )

Saca el estado actual de la pila de estados. El cambio no se produce hasta finalizar la iteración actual del bucle de juego.

void StateManager::pushState ( State state)

Introduce un nuevo estado en la pila. El cambio no se produce hasta finalizar la iteración actual del bucle de juego.

void StateManager::start ( )

Inicia el bucle de juego.

void StateManager::windowClosed ( Ogre::RenderWindow *  window) [inline]
Parámetros:
windowventana que se cierra

Evento que se dispara cuando se cierra la ventana de la aplicación.

bool StateManager::windowClosing ( Ogre::RenderWindow *  window)
Parámetros:
windowventana que se está cerrando
Devuelve:
true si confirmados el cierre, false en caso contrario.

Evento que se dispara al cerrar la ventana de la aplicación. Permite confirmación.

void StateManager::windowResized ( Ogre::RenderWindow *  window) [inline]
Parámetros:
windowventana redimensionada

Evento que se dispara al redimensionar la ventana.


La documentación para esta clase fue generada a partir de los siguientes ficheros:
 Todo Clases Archivos Funciones 'typedefs' Enumeraciones