www.pudn.com > GameEngine_src.rar > CES_CmdPool.h
// CES_CmdPool.h: interface for the CES_CmdPool class. // ////////////////////////////////////////////////////////////////////// #ifndef CES_CmdPool_h #define CES_CmdPool_h #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "EasyScript.h" #include "CDynamicArray.h" #include/////////////////////////////////////////////////////////////////////// //脚本的命令池,他的大小是动态的 /////////////////////////////////////////////////////////////////////// class CES_CmdPool { public: CES_CmdPool(); ~CES_CmdPool(); void Free(); void SetObj( void *obj ); int LoadESFromMemory( char *pData, int offset ); //从内存中载入脚本 int LoadESFromFile( FILE *fp, int offset ); void LoadCmdFromFile( FILE *fp, int cmdNum ); void RunCmd( int offset, int num ); void RunCmd( int offset ); void RunCmdAll(); void AddCmd( const ES_CMD &cmd ); //增加一条指令,注意不能带CHAR_PTR void AddCmd( ES_CMD *CmdBuf, int CmdNum ); //增加一个缓冲的指令,不能带CHAR_PTR ES_CMD *GetCmdBuf() { return m_CmdArray.GetPointer(); } int GetCmdNum() { return m_CmdArray.GetLength(); } static bool LoadCmdBufFromFile( FILE *fp, int offset, ES_CMD *&pCmdBuf, int &CmdNum ); static bool LoadCmdBufFromMemory( unsigned char *pData, int offset, ES_CMD *&pCmdBuf, int &CmdNum ); private: void LoadCmdHelp(); private: CDynamicArray m_CmdArray; //命令数组 char *m_szBuf; //字符缓冲,用于装载脚本中的字符 //int m_BufSize; //字符缓冲区的大小 }; #endif