- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# src/Core/Core.hpp

Go to the documentation of this file.

    00001 #ifndef CORE_HPP
    00002 #define CORE_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 #ifdef TARGET_SYSTEM_PSP
    00008 #elif defined TARGET_SYSTEM_WIN32
    00009     #include <windows.h>
    00010 #endif
    00011
    00012 #include "Core/CoreTypes.hpp"
    00013
    00014 // Standard
    00015 #include <time.h>
    00016
    00017 // C++
    00018 #include <string>
    00019
    00020 namespace USpeedGameEngine
    00021 {
    00022
    00023 class Core
    00024 {
    00025     /****************
    00026     * Les attributs *
    00027     ****************/
    00028     public :
    00029         // Systèmes cibles.
    00030         static const unsigned int systemUnk;
    00031         static const unsigned int systemPSP;
    00032         static const unsigned int systemWin32;
    00033
    00034     protected :
    00035     private :
    00036
    00037     /***************
    00038     * Les méthodes *
    00039     ***************/
    00040     public :
    00041         // Destructeur par défaut
    00042         ~Core();
    00043         // Fonction principale à lancer
    00044         int run
    00045         (
    00046             int argNumber,
    00047             char *argList[],
    00048             void (*customInit)(void),
    00049             void (*customMain)(unsigned long int),
    00050             void (*customFinish)(void),
    00051             USGE_RenderEngine renderEngine
    00052         );
    00053         // Retourne l'instance unique du "Core"
    00054         static Core *getInstance();
    00055         // Retourne les informations sur le moteur de jeu
    00056         static const char *getEngineInfos();
    00057         // Mise en pause de l'application ou du thread courant.
    00058         static void doSleep(unsigned long int ms);
    00059
    00060         // Fonction permettant de quitter la boucle principale
    00061         void endMain();
    00062         // Affiche une zone de saisie pour que l'utilisateur entre du texte
    00063         std::string getUserInput(unsigned int textMaxLen, std::string const &defaultText);
    00064         std::string getUserInput(unsigned int textMaxLen, std::string const &defaultText, std::string const &comment);
    00065         std::string getUserInput(unsigned int textMaxLen, std::string const &defaultText, std::string const &comment, std::string const &okLabel, std::string const &cancelLabel);
    00066         // Permet de définir la fonction à appeler lors de la mise en veille du programme
    00067         void setSuspendFunction(void (*suspendFct)(bool));
    00068         // Affichage d'une boîte de message avec possibilitée de demander "Oui"/"Non"
    00069         bool messageBox(const char *title, const char *text, bool askYesNo);
    00070         void messageBox(const char *title, const char *text);
    00071         bool messageBox(std::string const &title, std::string const &text, bool askYesNo);
    00072         void messageBox(std::string const &title, std::string const &text);
    00073         // Retourne le nombre de paramètres passés au programme (via le main)
    00074         unsigned int getMainVarCount();
    00075         // Retourne les paramètres passés au programme (via le main) ou le pointeur nul
    00076         const char *getMainVars(unsigned int myIndex);
    00077         // Retourne le chemin complet de l'application (avec le "/" à la fin)
    00078         std::string getAppFolder();
    00079         // Retourne la plateforme puor laquelle est destinée le programme.
    00080         unsigned int getTargetSystem();
    00081         // Retourne le titre de l'application.
    00082         const char *getApplicationTitle();
    00083         // Permet de définir le titre de l'application.
    00084         void setApplicationTitle(const char *title);
    00085         // Permet de définir le nombre d'images par seconde désiré.
    00086         void setFPS(unsigned int fps);
    00087         // Permet de connaître à combien d'images par seconde le moteur est paramétré.
    00088         unsigned int getFPS();
    00089         // Passage de l'application en mode plein écran.
    00090         void toFullscreen();
    00091         // Passage de l'application en mode fenêtré.
    00092         void toWindowed();
    00093         // Demande de création d'un thread par l'utilisateur.
    00094         int createThread(bool (*functionToRun)(int));
    00095
    00096     protected :
    00097     private :
    00098         // Constructeur par défaut
    00099         Core();
    00100         // Fonction de finalisation
    00101         void finish();
    00102 };
    00103
    00104 }        // Fin "namespace USpeedGameEngine"
    00105
    00106 #endif