#pragma once #include "Caldron.h" #include "../Scene/MaterialShader.h" namespace Caldron { namespace Scene { class CConsoleMaterialShder : public CMaterialShader { public: CConsoleMaterialShder(){} ~CConsoleMaterialShder(){} virtual void Apply(); }; } namespace Base { const int CONSOLE_MAXLINE = 512; const int CONSOLE_LINE = 30; const int CONSOLE_COL = 40; const int CONSOLE_INPUTLOCK_KEY = 10; enum CONSOLE_VIEWSTATE { CONSOLEVIEW_HIDE = 0, CONSOLEVIEW_HIDEANI, CONSOLEVIEW_DISPLAY, CONSOLEVIEW_DISPLAYANI, }; class CConsole { public: class CConsoleVertex { public: D3DXVECTOR4 m_vecPos; }; int m_iEnable; float m_fAniTime; char *m_pBuffer[CONSOLE_MAXLINE]; int m_iUseLines; int m_iWindowLines; char m_strInputLine[1024]; // ÀÔ·Â ¹öÆÛ int m_iCurrentPos; int m_iCursorX,m_iCursorY; DWORD m_dwScreenWidth,m_dwScreenHeight; float m_fCurrentHeight; float m_fUnitAniHeight; float m_fTargetHeight; float m_fUnitUv; float m_fTargetUv; float m_fCurrentUv; int m_iCurrentPage; int m_iMaterialShaderIndex; CConsoleVertex m_pVertex[4]; DWORD m_dwConsoleDecl; CConsole(void); ~CConsole(void); void Init(); void Display(); // Console DisPlay void Hide(); // Console Display Hide void Render(LPDIRECT3DDEVICE9 lpDevice); // Console Render void Update(float fSkipFrame); void ProcessKey(); void RenderText(long iX,long iY,const char *strText); void AddText(const char *str,...); void CommandExec(); void HelpMessage(); }; }}