Clock Class Reference

Gestion d'une horloge pour le jeu. C'est un singleton. More...

#include <Clock.h>

List of all members.

Public Member Functions

 Clock (RenderWindow *win)
 Constructor. Démarrage de l'horloge.
 ~Clock ()
 Destructeur.
long getCurrentDate ()
 Renvoie la date courante (en nombre de jours).
long getFutureDate (int dateToAdd)
 Renvoie la date courante (incrémentée de la valeur fournie).
int getSpeed ()
 Renvoie le facteur d'accélération du temps.
void setSpeed (int speed)
 Accelere ou ralenti le déroulement du temps.
void setSpeedHalf ()
 Ralenti le déroulement du temps d'un facteur 2.
void setSpeedDouble ()
 Accelere le déroulement du temps d'un facteur 2.
void shrinkTime (long TargetDate=0)
 Accélère (puis ralentit) le temps à chaque appel, de façon à s'approcher de TargetTime de la manière la plus rapide et la plus lisse possible.
void showMessageOverlay (String texte)
 Affichage de l'overlay "MESSAGES".
void hideMessageOverlay ()
 Masque l'overlay "MESSAGES".
void updateMessageOverlay ()
 Mise a jour de l'overlay "MESSAGES".
RenderWindow * getOgreWindow ()
 Renvoie un pointeur sur la fenetre principale de Ogre.

Static Public Member Functions

static ClockgetSingleton (void)
static ClockgetSingletonPtr (void)
 Override the Singleton Class method.

Protected Member Functions

bool frameStarted (const FrameEvent &evt)

Protected Attributes

long mCurrentDate
Real mCurrentHour
 Date courante: valeur max = 2.000.000.000.
int mSpeed
 Heure courante: reel de précision = 7 chiffres.
long mTargetDate
RenderWindow * mWindow
Real mTimeUntilMessageOff
 Fenetre où afficher le message.
bool mTimeOutRunning
 Timeout (en secondes) avant effacement du message.
long mPreviousDate
 VRAI si un timeout est en cours.
int mPreviousHour


Detailed Description

Gestion d'une horloge pour le jeu. C'est un singleton.


Constructor & Destructor Documentation

Clock::Clock RenderWindow *  win  ) 
 

Constructor. Démarrage de l'horloge.

Clock::~Clock  ) 
 

Destructeur.


Member Function Documentation

bool Clock::frameStarted const FrameEvent &  evt  )  [protected]
 

TODO : à faire en fonction du temps et de l'accélération

RealElapsedTime est le temps qui s'est réellement écoulé depuis la frame précédente (en secondes) CompressedElapsedTime est le temps de jeu qui s'est écoulé depuis la frame précédente (en heures) facteur est l'accélération normale (inverse en 1/N) du temps pour le jeu mSpeed est l'accélération exceptionnelle du temps (quand on hiberne, par exemple)

TODO: est sa place ici ou dans TheShip ?(avec facteur de compression temporelle ?)

long Clock::getCurrentDate  ) 
 

Renvoie la date courante (en nombre de jours).

long Clock::getFutureDate int  dateToAdd  ) 
 

Renvoie la date courante (incrémentée de la valeur fournie).

RenderWindow * Clock::getOgreWindow  ) 
 

Renvoie un pointeur sur la fenetre principale de Ogre.

Cela peut servir à differents endroits du programme

static Clock& Clock::getSingleton void   )  [static]
 

Clock * Clock::getSingletonPtr void   )  [static]
 

Override the Singleton Class method.

int Clock::getSpeed  ) 
 

Renvoie le facteur d'accélération du temps.

void Clock::hideMessageOverlay  ) 
 

Masque l'overlay "MESSAGES".

void Clock::setSpeed int  speed  ) 
 

Accelere ou ralenti le déroulement du temps.

void Clock::setSpeedDouble  ) 
 

Accelere le déroulement du temps d'un facteur 2.

void Clock::setSpeedHalf  ) 
 

Ralenti le déroulement du temps d'un facteur 2.

void Clock::showMessageOverlay String  texte  ) 
 

Affichage de l'overlay "MESSAGES".

void Clock::shrinkTime long  TargetDate = 0  ) 
 

Accélère (puis ralentit) le temps à chaque appel, de façon à s'approcher de TargetTime de la manière la plus rapide et la plus lisse possible.

void Clock::updateMessageOverlay  ) 
 

Mise a jour de l'overlay "MESSAGES".


Member Data Documentation

long Clock::mCurrentDate [protected]
 

Real Clock::mCurrentHour [protected]
 

Date courante: valeur max = 2.000.000.000.

long Clock::mPreviousDate [protected]
 

VRAI si un timeout est en cours.

int Clock::mPreviousHour [protected]
 

int Clock::mSpeed [protected]
 

Heure courante: reel de précision = 7 chiffres.

long Clock::mTargetDate [protected]
 

bool Clock::mTimeOutRunning [protected]
 

Timeout (en secondes) avant effacement du message.

Real Clock::mTimeUntilMessageOff [protected]
 

Fenetre où afficher le message.

RenderWindow* Clock::mWindow [protected]
 


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