Main Page   Namespace List   Class Hierarchy   Alphabetical List   Data Structures   File List   Namespace Members   Data Fields   Globals  

ExManagerConsole.h

Go to the documentation of this file.
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 /* Benjamin Michotte Linux port, webmaster                              */
00036 /*                                                                      */
00037 /* Mail             :binny@ploksoftware.org                             */
00038 /*                                                                      */
00039 /************************************************************************/
00040 
00041 /************************************************************************/
00042 /* File Description                                                                                             */
00043 /************************************************************************/
00044 /* File Name   :InputActionList.h                                                                               */
00045 /*                                                                                                                                              */
00046 /* Star Date   :03/15/2002                                                                                              */
00047 /*                                                                                                                                              */
00048 /* Last Update :
00049  * $Id: ExManagerConsole.h,v 1.20 2002/10/15 09:17:13 data Exp $
00050  *
00051  */
00052 
00053 #ifndef __EXMANAGERCONSOLE_H__
00054 #define __EXMANAGERCONSOLE_H__
00055 //--------------------------------
00056 // File to include
00057 //--------------------------------
00058 #include "ExDefine.h"
00059 #include "ExMath.h"
00060 #include "ExNihiloNameSpace.h"
00061 #include "ExCFile.h"
00062 //--------------------------------
00063 #include "ExCCommand.h"
00064 #include "ExCAction.h"
00065 //--------------------------------
00066 #include "ExManager.h"
00067 #include "ExManagerWindow.h"
00068 #include "ExManagerTexture.h"
00069 #include <stdarg.h>
00070 //--------------------------------
00071 #define HIDE            0
00072 #define HALF            1
00073 #define FULL            2
00074 #define HIDETOHALF      3
00075 #define HIDETOFULL  4
00076 #define HALFTOFULL      5
00077 #define FULLTOHALF      6
00078 #define FULLTOHIDE      7
00079 #define HALFTOHIDE      8
00080 
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 
00099         std::string                                     m_BackGroundTexture;
00100         
00101         std::string                                                                     m_BuffCommand;
00102         std::vector<std::string>                                        m_BuffOldCommand;
00103 
00104         int PosIntoBuffOldCommand;
00105 
00106         typedef std::pair<std::string,int>                      StringAction;
00107     std::vector<StringAction>                                   m_VecStringAction;
00108         std::vector<StringAction>::iterator                     m_ItVecStringAction;
00109 
00110         std::vector<std::string>                                                m_BufferConsol;
00111         std::vector<std::string>::reverse_iterator              m_RItBufferConsol;
00112         std::vector<std::string>::iterator                              m_ItBufferConsol;
00113 
00114         ofstream logfilecsl;
00115         
00116         bool                                    LogConsol;
00117         bool                                    m_BackGroundTextureState;
00118         bool                                    m_Blending;
00119         float                   m_fBlending;
00120         float                   m_fBackGroundBlue;
00121         float                   m_fBackGroundRed;
00122         float                   m_fBackGroundGreen;
00123         int                                             m_LineToStar;
00124         int                                             m_LineInConsol;
00125 //--------------------------------
00126 // Methode
00127 //--------------------------------      
00128         void AddStringAction(std::string String,int Action);
00129         void AddStringAction(StringAction StrAction);
00130         void AddStringAction(ExCFileDataAction);
00131         ExCAction ApplyBuffCommand(void);
00132         void WriteInDaFile (std::string str);
00133 //--------------------------------
00134 // Singleton creation
00135 //--------------------------------
00136         static bool m_flag; 
00137         static ExManagerConsole *m_instance;
00138         ExManagerConsole(void);
00139         ~ExManagerConsole(void);
00140 //--------------------------------
00141 public:
00142 //--------------------------------
00143 // Methode
00144 //--------------------------------
00145         static ExManagerConsole*  CreateSingleton(void);
00146 
00147         inline void SetManagerWindow(ExManagerWindow *Window){ManagerWindow = Window;}
00148         inline void SetManagerTexture(ExManagerTexture *Texture){ManagerTexture = Texture;}
00149 
00150         void ClearConsol(void);
00151         void Reset(void);
00152         void Write (const char *);
00153         void Draw(void);
00154         
00155         void Init(void);
00156         int NextAviableState(void);
00157         void SetConsoleState(int state);
00158         int GetConsoleState (void) { return m_ConsoleState; }
00159         void ConsoleMove (bool);
00160         bool isConsoleMove (void) { return console_move; }
00161         void SetConsoleBackGroudTexture(std::string     FileName);
00162         inline void SetConsoleBackGroudTextureState(bool state){m_BackGroundTextureState=state;}
00163         inline void SetConsoleBackGroudBlendingState(bool state){m_Blending=state;}
00164         inline void SetConsoleBackGroudBlending(float blending){m_fBlending=blending;}
00165         inline void SetConsoleBackGroudColorRed(float value){m_fBackGroundRed=value;}
00166         inline void SetConsoleBackGroudColorGreen(float value){m_fBackGroundGreen=value;}
00167         inline void SetConsoleBackGroudColorBlue(float value){m_fBackGroundBlue=value;}
00168         inline void SetConsoleBackGroudColor(float R,float G,float B ){m_fBackGroundBlue=B;m_fBackGroundGreen=G;m_fBackGroundRed=R;}
00169 
00170         void LoadStringActionFile(const char *FileName);
00171 
00172         
00173         ExCAction InputCommand(ExCCommand Command);
00174         void ListConsoleCommand(void);
00175 
00176         void LineUp(void);
00177         void LineDown(void);
00178 
00179 
00180         ExCAction InputAction(ExCAction Action);
00181 };
00182 #endif //__EXMANAGERCONSOLE_H__

Generated on Tue Dec 10 18:20:06 2002 for ExNihilo by doxygen1.3-rc1