Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Membres des namespaces | Composants | Déclarations

ExManagerConsole.h

Aller à la documentation de ce fichier.
00001 /************************************************************************/
00002 /* Ex Nihlo Engine by Hermanns Christophe                                                               */
00003 /************************************************************************/
00004 /* This program is free software; you can redistribute it and/or                */
00005 /* modify it under the terms of the GNU General Public License                  */
00006 /* as published by the Free Software Foundation; either version 2               */
00007 /* of the License, or (at your option) any later version.                               */
00008 /*                                                                                                                                              */
00009 /* This program is distributed in the hope that it will be useful,              */
00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of               */
00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                                 */
00012 /*                                                                                                                                              */
00013 /* See the GNU General Public License for more details.                                 */
00014 /*                                                                                                                                              */
00015 /* You should have received a copy of the GNU General Public License    */
00016 /* along with this program; if not, write to the Free Software                  */
00017 /* Foundation, Inc., 59 Temple Place - Suite 330,                                               */
00018 /* Boston, MA  02111-1307, USA.                                                                                 */
00019 /*                                                                                                                                              */
00020 /* If you use a important part of this code please send me a mail               */
00021 /* I just want to see where my code go thks :)                                                  */
00022 /************************************************************************/
00023 
00024 /************************************************************************/
00025 /* Contact                                                              */  
00026 /************************************************************************/
00027 /* ExNihilo Website :www.ploksoftware.org                               */
00028 /*                                                                      */
00029 /* Hermanns Christophe ExNihilo creator and main programmer             */
00030 /*                                                                      */
00031 /* Mail             : Data@ploksoftware.org                                                             */
00032 /* ICQ              : 8030901                                                                                   */
00033 /* MSN Messenger    : Data_7@hotmail.com                                                                */
00034 /*                                                                      */
00035 /*                                                                      */
00036 /************************************************************************/
00037 
00038 /************************************************************************/
00039 /* File Description                                                                                             */
00040 /************************************************************************/
00041 /* File Name   :ExManagerConsole.h                                                                              */
00042 /*                                                                                                                                              */
00043 /* Start Date   :03/15/2002                                                                                             */
00044 /*                                                                                                                                              */
00045 /* Last Update :06/20/2003                                              */
00046 /*                                                                                                                                              */
00047 /* File Description :                                                                                                   */
00048 /*                                                                      */
00049 /* For update of this file check : www.ploksoftware.org                 */
00050 /************************************************************************/
00051 
00052 #ifndef __EXMANAGERCONSOLE_H__
00053 #define __EXMANAGERCONSOLE_H__
00054 //------------------------------------------------------------------------
00055 //Includes
00056 //------------------------------------------------------------------------
00057 #include "ExDefine.h"
00058 #include "ExNihiloNameSpace.h"
00059 #include "ExCCommand.h"
00060 #include "ExCAction.h"
00061 //#include <stdarg.h>
00062 //------------------------------------------------------------------------
00063 #include "Math/ExMath.h"
00064 //------------------------------------------------------------------------
00065 #include "Manager/ExManager.h"
00066 #include "Manager/ExManagerWindow.h"
00067 //------------------------------------------------------------------------
00068 #include "Manager/ManagerObject/ExManagerTexture.h"
00069 //------------------------------------------------------------------------
00070 //Define
00071 //------------------------------------------------------------------------
00072 #define HIDE            0
00073 #define HALF            1
00074 #define FULL            2
00075 #define HIDETOHALF      3
00076 #define HIDETOFULL  4
00077 #define HALFTOFULL      5
00078 #define FULLTOHALF      6
00079 #define FULLTOHIDE      7
00080 #define HALFTOHIDE      8
00081 #define PREDIFINEDCOMMAND 10
00082 //------------------------------------------------------------------------
00083 class ExManagerConsole   : public ExManager
00084 {
00085 private:
00086 //------------------------------------------------------------------------
00087 // Variable
00088 //------------------------------------------------------------------------
00089         ExManagerWindow                 *ManagerWindow;
00090         ExManagerTexture                *ManagerTexture;
00091         int                                             m_ConsoleState; //HIDE,HALF,FULL
00092         int                                             m_LineCounter;
00093         int                                             m_ConsoleTrans;
00094         int                                             m_NextConsoleState;
00095         int                                             m_ConsoleTransPalier;
00096         bool                                    console_move;
00097         int                                             m_Move;
00098         bool                                    LogConsol;
00099         bool                                    m_BackGroundTextureState;
00100         bool                                    m_Blending;
00101         float                   m_fBlending;
00102         float                   m_fBackGroundBlue;
00103         float                   m_fBackGroundRed;
00104         float                   m_fBackGroundGreen;
00105         int                                             m_LineToStar;
00106         int                                             m_LineInConsol;
00107         std::ofstream                           logfilecsl;
00108         int                                             PosIntoBuffOldCommand;
00109         
00110         std::string                                     m_BackGroundTexture;
00111         std::string                                     m_BuffCommand;
00112         std::vector<std::string>        m_BuffOldCommand;
00113 
00114         typedef std::pair<std::string,int>                      StringAction;
00115     std::vector<StringAction>                                   m_VecStringAction;
00116         std::vector<StringAction>::iterator                     m_ItVecStringAction;
00117 
00118         std::vector<std::string>                                                m_BufferConsol;
00119         std::vector<std::string>::reverse_iterator              m_RItBufferConsol;
00120         std::vector<std::string>::iterator                              m_ItBufferConsol;
00121         
00122         float TabTextures[8],TabVertices[8];
00123 //------------------------------------------------------------------------
00124 // Methode
00125 //------------------------------------------------------------------------
00126         void AddStringAction(std::string String,int Action);
00127         void AddStringAction(StringAction StrAction);
00128         ExCAction ApplyBuffCommand(void);
00129         void WriteInDaFile (std::string str);
00130 
00131         void UpdateConsolBuffer(void);
00132 //------------------------------------------------------------------------
00133 // Singleton creation
00134 //------------------------------------------------------------------------
00135         static bool m_flag; 
00136         static ExManagerConsole *m_instance;
00137         ExManagerConsole(void);
00138         ~ExManagerConsole(void);
00139 public:
00140         static ExManagerConsole*  CreateSingleton(void);
00141 //------------------------------------------------------------------------
00142 // Methode
00143 //------------------------------------------------------------------------
00144         inline void SetManagerWindow(ExManagerWindow *Window){ManagerWindow = Window;}
00145         inline void SetManagerTexture(ExManagerTexture *Texture){ManagerTexture = Texture;}
00146 
00147         void ClearConsol(void);
00148         void Reset(void);
00149         void Write (const char *);
00150         void Draw(void);
00151         
00152         void Init(void);
00153         int NextAviableState(void);
00154         void SetConsoleState(int state);
00155         int GetConsoleState (void) { return m_ConsoleState; }
00156         void ConsoleMove (bool);
00157         bool isConsoleMove (void) { return console_move; }
00158         void SetConsoleBackGroudTexture(std::string     FileName);
00159         inline void SetConsoleBackGroudTextureState(bool state){m_BackGroundTextureState=state;}
00160         inline void SetConsoleBackGroudBlendingState(bool state){m_Blending=state;}
00161         inline void SetConsoleBackGroudBlending(float blending){m_fBlending=blending;}
00162         inline void SetConsoleBackGroudColorRed(float value){m_fBackGroundRed=value;}
00163         inline void SetConsoleBackGroudColorGreen(float value){m_fBackGroundGreen=value;}
00164         inline void SetConsoleBackGroudColorBlue(float value){m_fBackGroundBlue=value;}
00165         inline void SetConsoleBackGroudColor(float R,float G,float B ){m_fBackGroundBlue=B;m_fBackGroundGreen=G;m_fBackGroundRed=R;}
00166 
00167         void LoadStringActionFile(const char *FileName);
00168         
00169         ExCAction InputCommand(ExCCommand Command);
00170         void ListConsoleCommand(void);
00171 
00172         void LineUp(void);
00173         void LineDown(void);
00174 
00175         ExCAction InputAction(ExCAction Action);
00176 };
00177 //------------------------------------------------------------------------
00178 #endif //__EXMANAGERCONSOLE_H__

Généré le Tue Oct 28 12:43:35 2003 pour ExNihilo par doxygen 1.3.4