mainFrameListener Class Reference

Gere un peu tout ce qui est dynamique dans le jeu. More...

#include <MainApplicationListener.h>

List of all members.

Public Member Functions

void setKeyboardType (String LanguageCode)
 Initialise le type de clavier.
 mainFrameListener (RenderWindow *win, Camera *cam)
 Constructor takes a RenderWindow to determine input context.
 ~mainFrameListener ()
 Destructeur.
bool frameStarted (const FrameEvent &evt)
 Actions en debut de frame.
bool frameEnded (const FrameEvent &evt)
 Actions en fin de frame:.
void showDebugOverlay (bool show)
 Affiche des informations de debug sur l'overlay DEBUG (framerate, etc).
void showHelpOverlay (bool show)
 Affichage de l'ihm "HELP SCREEN".
void showCrosshairOverlay (bool show)
 Affiche une petite croix au centre de l'écran (crosshair).
void _showMessageOverlay (String texte)
void _hideMessageOverlay ()
bool makeSkybox ()
 Genere les 6 images d'une Skybox. Renvoie FALSE quand l'automate est terminé.
bool _makeSkybox ()
 Genere les 6 images d'une Skybox. Renvoie FALSE quand l'automate est terminé.
bool _worldToScreen (Vector3 &worldPos, Vector3 &screenPos)
 This function convert a 3D world coordinates into a 2D screen coordinates.

Protected Member Functions

void processKeyPressed (KeyEvent *e)
 Gestion des touches a appui simple.
void processKey_Arrows ()
 Gestion des touches qui peuvent etre appuyées de façon continue et.simultanée.
void processKey_Moves ()
 Gestion des touches qui peuvent etre appuyées de façon continue et simultanée.
void processMouse (MouseEvent *e)
 Gestion des mouvements de la souris.
UserDefinedObject * pickObject ()
 Regarde si le curseur survole un objet de la scene.
SceneNode * _pickSubObject (SceneNode *parent_node)
 Regarde si le curseur survole un objet fils de l'objet passe en parametre.
bool _hitSphericNode (SceneNode *TestedNode, const Vector3 &origin, const Vector3 &direction)
 Renvoie vrai si le rayon croise la sphere située au centre de l'objet.
bool _hitCubicNode (SceneNode *TestedNode, const Vector3 &origin, const Vector3 &direction)
 Renvoie vrai si le rayon croise le cube englobant l'objet.
void updateMessageOverlay ()
void updateStats ()
 Met a jour les informations de frame rate.
void initCEGUISystem ()
 Initialize the CE-GUI System.
void keyClicked (KeyEvent *e)
 Instanciation des fonctions virtuelles de KeyListener.
void keyPressed (KeyEvent *e)
 Gestion evenementielle du clavier.
void keyReleased (KeyEvent *e)
 Une touche du clavier est relachée.
void mouseClicked (MouseEvent *e)
 Clicked = Pressed puis Released.
void mouseEntered (MouseEvent *e)
void mouseExited (MouseEvent *e)
void mouseDragged (MouseEvent *e)
 Handle sur les déplacements de souris avec bouton 0 appuyé.
void mousePressed (MouseEvent *e)
 Gestion du Clic sur des objets.
void mouseReleased (MouseEvent *e)
 Handle sur la relache du bouton de souris.
void mouseMoved (MouseEvent *e)
 Handle sur les déplacements de la souris.

Protected Attributes

bool detec
Radian focale
bool mKeys_GestionAppli
bool mMouse_GestionAppli
bool mInputTypeSwitchingOn
bool mShadowsOn
int mWPnumber
 pour la creation de Waypoints (touche R)
int mAttenuation
 pour tester l'atténuation sonore (touches F8-F9)
float mSpeed
 pour le mode accéléré (touche I)
ColourValue mTriplet
 pour ajuster des couleurs en mode debug
Sphere * test_sphere
 pour le Picker
TextureFilterOptions mFiltering
EventProcessor * mEventProcessor
InputReader * mInputDevice
Camera * mCamera
RenderWindow * mWindow
SceneManager * mSceneMgr
CEGUI::OgreCEGUIRenderer * mGUIRenderer
bool mSkyboxInProgress
int mSkyboxStepNumber
String mVersion_ID
 No de la version du jeu.
bool mContinue
 Flag général pour continuer ou quitter le programme.
bool m3Dmode
 Flag général: true=3D-mode false=GUI-mode.
int mRunNumber
 Permet de faire des initialisations une seule fois.
bool mOverlayOn
bool mOVL_debug
 overlay: debug screen
float mMoveScale
float mRotScale
float mRotX
float mRotY
Vector3 mTranslateVector
 Pour les mouvements horizontaux de la camera.
Vector3 mUpDownVector
 Pour les mouvements verticaux de la camera.
bool mMouseButton0
bool mMouseButton1
bool mOVL_help
 Help screen show/hide.
void * mHelpInterface
 The Help Screen.
Real mTimeUntilMessageOff
 Timeout for the message line.
bool mTimeOutRunning
int mAniso
int mCptFrame
long mLastFoundID
long mFoundID
SceneNode * mLastFoundNode
UserDefinedObject * mLastFoundObject
UserDefinedObject * mFoundObject


Detailed Description

Gere un peu tout ce qui est dynamique dans le jeu.


Constructor & Destructor Documentation

mainFrameListener::mainFrameListener RenderWindow *  win,
Camera *  cam
 

Constructor takes a RenderWindow to determine input context.

mainFrameListener::~mainFrameListener  ) 
 

Destructeur.


Member Function Documentation

void mainFrameListener::_hideMessageOverlay  ) 
 

bool mainFrameListener::_hitCubicNode SceneNode *  TestedNode,
const Vector3 &  origin,
const Vector3 &  direction
[protected]
 

Renvoie vrai si le rayon croise le cube englobant l'objet.

Note: AABB est plus précis, mais moins rapide que la sphère.

bool mainFrameListener::_hitSphericNode SceneNode *  TestedNode,
const Vector3 &  origin,
const Vector3 &  direction
[protected]
 

Renvoie vrai si le rayon croise la sphere située au centre de l'objet.

Attention, le rayon de la sphere doit etre dimensionné de façon adequate... Note: Spheric est plus rapide, mais moins précis que AABB.

bool mainFrameListener::_makeSkybox  ) 
 

Genere les 6 images d'une Skybox. Renvoie FALSE quand l'automate est terminé.

Cette methode cree une seconde camera, viewport et renderwindow

Step 0: Initialisations

Step 1: Creation d'une skybox (FRONT)

Step 2: Creation d'une skybox (LEFT)

Step 3: Creation d'une skybox (BACK)

Step 4: Creation d'une skybox (RIGHT)

Step 5: Creation d'une skybox (UP)

Step 6: Creation d'une skybox (DOWN)

Step 7: Terminate

TODO: detruitre le viewport

SceneNode * mainFrameListener::_pickSubObject SceneNode *  parent_node  )  [protected]
 

Regarde si le curseur survole un objet fils de l'objet passe en parametre.

void mainFrameListener::_showMessageOverlay String  texte  ) 
 

bool mainFrameListener::_worldToScreen Vector3 &  worldPos,
Vector3 &  screenPos
 

This function convert a 3D world coordinates into a 2D screen coordinates.

Parameters:
worldPos IN: The object world coordinates
screenPos OUT: The object screen coordinates (X and Y only)
Returns:
TRUE if the worldPos is on-screen, and FALSE if the worldPos is off-screen.

bool mainFrameListener::frameEnded const FrameEvent &  evt  ) 
 

Actions en fin de frame:.

Update des statistiques d'affichage.

bool mainFrameListener::frameStarted const FrameEvent &  evt  ) 
 

Actions en debut de frame.

void mainFrameListener::initCEGUISystem  )  [protected]
 

Initialize the CE-GUI System.

void mainFrameListener::keyClicked KeyEvent *  e  )  [protected]
 

Instanciation des fonctions virtuelles de KeyListener.

void mainFrameListener::keyPressed KeyEvent *  e  )  [protected]
 

Gestion evenementielle du clavier.

void mainFrameListener::keyReleased KeyEvent *  e  )  [protected]
 

Une touche du clavier est relachée.

bool mainFrameListener::makeSkybox  ) 
 

Genere les 6 images d'une Skybox. Renvoie FALSE quand l'automate est terminé.

Cette methode utilise la camera, viewport et renderwindow du joueur

Step 0: Initialisations

Step 1: Creation d'une skybox (FRONT)

Step 2: Creation d'une skybox (LEFT)

Step 3: Creation d'une skybox (BACK)

Step 4: Creation d'une skybox (RIGHT)

Step 5: Creation d'une skybox (UP)

Step 6: Creation d'une skybox (DOWN)

Step 7: Terminate

void mainFrameListener::mouseClicked MouseEvent *  e  )  [protected]
 

Clicked = Pressed puis Released.

void mainFrameListener::mouseDragged MouseEvent *  e  )  [protected]
 

Handle sur les déplacements de souris avec bouton 0 appuyé.

void mainFrameListener::mouseEntered MouseEvent *  e  )  [inline, protected]
 

void mainFrameListener::mouseExited MouseEvent *  e  )  [inline, protected]
 

void mainFrameListener::mouseMoved MouseEvent *  e  )  [protected]
 

Handle sur les déplacements de la souris.

On peut bouger la souris en maintenant le clic droit

void mainFrameListener::mousePressed MouseEvent *  e  )  [protected]
 

Gestion du Clic sur des objets.

En mode 3D, la souris fait bouger la caméra

En mode 3D, le clic peut activer des objets

Activation de l'Interface Robot

Activation de l'Interface des capsules d'hibernation

Activation de l'Interface des Computers

Activation d'un bouton

Si on clique sur une porte, on demande l'ouverture de la porte

void mainFrameListener::mouseReleased MouseEvent *  e  )  [protected]
 

Handle sur la relache du bouton de souris.

UserDefinedObject * mainFrameListener::pickObject  )  [protected]
 

Regarde si le curseur survole un objet de la scene.

void mainFrameListener::processKey_Arrows  )  [protected]
 

Gestion des touches qui peuvent etre appuyées de façon continue et.simultanée.

void mainFrameListener::processKey_Moves  )  [protected]
 

Gestion des touches qui peuvent etre appuyées de façon continue et simultanée.

Touches AlphaNumeriques uniquement. Attention à la gestion des claviers QWERTY

A: pivote à gauche

E: pivote a droite

Q: Move camera LEFT

D: Move camera RIGHT

Z: Move camera FORWARD

S: Move camera BACKWARD

void mainFrameListener::processKeyPressed KeyEvent *  e  )  [protected]
 

Gestion des touches a appui simple.

Touche IMPRSCR: faire un screenshot.

Touche F1: Afficher le Help Screen.

Touche F12: Afficher le Frame Rate.

Touche B: change d'étage normalement

Touche C: show all the rooms

Touche F: Affiche la position des lumières

Touche G: Affiche la position du robot

Touche H: Retrécit la focale

Touche I: Commute la vitesse de deplacement

Touche J: change d'étage brusquement

Touche K: Active/Désactive les ombres

Touche L : rendu Solide

Touche N : Vitesse Nulle

Touche O : rendu Wireframe

Touche P: Consomme tout l'air

Touche R: Ajoute un Waypoint

Touche T: change de type de rendu 3D

Touche U: Affiche la Position p/r au Ship

Touche V: Affiche la Position p/r au centre de la piece

Touche X: Déplace le Ship

Touche Y: Elargit la focale

Touche 1: Se rend directement au Niveau 1

Touche 2: Se rend directement au Niveau 2

Touche 3: Se rend directement au Niveau 3

Touche 4: Se rend directement au Niveau 4

Touche 5: Se rend directement au Niveau 5

Touche 6: recule la lampe

Touche 7: Avance la lampe

Touche 0: Se rend directement au Niveau 0

Touche KC_NUMPAD7: RGB: incremente R

Touche KC_NUMPAD8: RGB: incremente G

Touche KC_NUMPAD9: RGB: incremente B

Touche KC_NUMPAD1: RGB: décremente R

Touche KC_NUMPAD2: RGB: décremente G

Touche KC_NUMPAD3: RGB: décremente B

Touche F2: Change the Star Spectrum

Touche F3: Allume la lumiere Normale

Touche F4: Allume la lumiere Rouge

Touche F5: Lumières pleins pots

Touche F6: Infos sur la planete

Touche F7: Affichage du No de version

Touche F8: Diminue la portée du son

Touche F9: Augmente la portée du son

Touche F10: Affichage des Waypoints

Touche F11: Creation d'une skybox

void mainFrameListener::processMouse MouseEvent *  e  )  [protected]
 

Gestion des mouvements de la souris.

void mainFrameListener::setKeyboardType String  LanguageCode  ) 
 

Initialise le type de clavier.

void mainFrameListener::showCrosshairOverlay bool  show  ) 
 

Affiche une petite croix au centre de l'écran (crosshair).

void mainFrameListener::showDebugOverlay bool  show  ) 
 

Affiche des informations de debug sur l'overlay DEBUG (framerate, etc).

void mainFrameListener::showHelpOverlay bool  show  ) 
 

Affichage de l'ihm "HELP SCREEN".

void mainFrameListener::updateMessageOverlay  )  [protected]
 

void mainFrameListener::updateStats  )  [protected]
 

Met a jour les informations de frame rate.


Member Data Documentation

bool mainFrameListener::detec [protected]
 

Radian mainFrameListener::focale [protected]
 

bool mainFrameListener::m3Dmode [protected]
 

Flag général: true=3D-mode false=GUI-mode.

int mainFrameListener::mAniso [protected]
 

int mainFrameListener::mAttenuation [protected]
 

pour tester l'atténuation sonore (touches F8-F9)

Camera* mainFrameListener::mCamera [protected]
 

bool mainFrameListener::mContinue [protected]
 

Flag général pour continuer ou quitter le programme.

int mainFrameListener::mCptFrame [protected]
 

EventProcessor* mainFrameListener::mEventProcessor [protected]
 

TextureFilterOptions mainFrameListener::mFiltering [protected]
 

long mainFrameListener::mFoundID [protected]
 

UserDefinedObject* mainFrameListener::mFoundObject [protected]
 

CEGUI::OgreCEGUIRenderer* mainFrameListener::mGUIRenderer [protected]
 

void* mainFrameListener::mHelpInterface [protected]
 

The Help Screen.

InputReader* mainFrameListener::mInputDevice [protected]
 

bool mainFrameListener::mInputTypeSwitchingOn [protected]
 

bool mainFrameListener::mKeys_GestionAppli [protected]
 

long mainFrameListener::mLastFoundID [protected]
 

SceneNode* mainFrameListener::mLastFoundNode [protected]
 

UserDefinedObject* mainFrameListener::mLastFoundObject [protected]
 

bool mainFrameListener::mMouse_GestionAppli [protected]
 

bool mainFrameListener::mMouseButton0 [protected]
 

bool mainFrameListener::mMouseButton1 [protected]
 

float mainFrameListener::mMoveScale [protected]
 

bool mainFrameListener::mOverlayOn [protected]
 

bool mainFrameListener::mOVL_debug [protected]
 

overlay: debug screen

bool mainFrameListener::mOVL_help [protected]
 

Help screen show/hide.

float mainFrameListener::mRotScale [protected]
 

float mainFrameListener::mRotX [protected]
 

float mainFrameListener::mRotY [protected]
 

int mainFrameListener::mRunNumber [protected]
 

Permet de faire des initialisations une seule fois.

SceneManager* mainFrameListener::mSceneMgr [protected]
 

bool mainFrameListener::mShadowsOn [protected]
 

bool mainFrameListener::mSkyboxInProgress [protected]
 

int mainFrameListener::mSkyboxStepNumber [protected]
 

float mainFrameListener::mSpeed [protected]
 

pour le mode accéléré (touche I)

bool mainFrameListener::mTimeOutRunning [protected]
 

Real mainFrameListener::mTimeUntilMessageOff [protected]
 

Timeout for the message line.

Vector3 mainFrameListener::mTranslateVector [protected]
 

Pour les mouvements horizontaux de la camera.

ColourValue mainFrameListener::mTriplet [protected]
 

pour ajuster des couleurs en mode debug

Vector3 mainFrameListener::mUpDownVector [protected]
 

Pour les mouvements verticaux de la camera.

String mainFrameListener::mVersion_ID [protected]
 

No de la version du jeu.

RenderWindow* mainFrameListener::mWindow [protected]
 

int mainFrameListener::mWPnumber [protected]
 

pour la creation de Waypoints (touche R)

Sphere* mainFrameListener::test_sphere [protected]
 

pour le Picker


The documentation for this class was generated from the following files:
Generated on Mon Mar 27 21:33:15 2006 for Long Forgotten Earth by  doxygen 1.4.6-NO