KSortScript.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef KSORTSCRIPT_H
  2. #define KSORTSCRIPT_H
  3. #include "KCore.h"
  4. #include "KLuaScript.h"
  5. //排序二叉树,保存经过文件名转数字的脚本的id,并实现快速查找对应脚本
  6. #include "KBinTreeNode.h"
  7. #include "KBinsTree.h"
  8. extern char g_szCurScriptDir[MAX_PATH];
  9. #ifdef _SERVER 
  10. #define MAX_SCRIPT_IN_SET 10000
  11. #else
  12. #define MAX_SCRIPT_IN_SET 5
  13. #endif
  14. extern KLuaScript g_ScriptSet[MAX_SCRIPT_IN_SET];
  15. class KSortScriptNode
  16. {
  17. DWORD m_dwScriptIndex;
  18. DWORD m_dwScriptID;
  19. public:
  20. #ifdef _DEBUG
  21. char m_szScriptName[100];
  22. #endif
  23. DWORD GetScriptIndex(){return m_dwScriptIndex;};
  24. DWORD GetScriptID(){return m_dwScriptID;};
  25. void SetScriptIndex(DWORD dwScriptIndex){m_dwScriptIndex = dwScriptIndex;};
  26. void SetScriptID(DWORD dwScriptID){m_dwScriptID = dwScriptID;};
  27. const KScript * GetScript()
  28. {
  29. if (m_dwScriptIndex >= 0 && m_dwScriptIndex <MAX_SCRIPT_IN_SET) 
  30. return &g_ScriptSet[m_dwScriptIndex];
  31. else
  32. return NULL;
  33. }
  34. ;
  35. };
  36. typedef BinSTree<KSortScriptNode> KScriptBinTree;
  37. extern KScriptBinTree g_ScriptBinTree;
  38. extern unsigned long g_IniScriptEngine();
  39. extern const KScript * g_GetScript(DWORD dwScriptId);
  40. extern const KScript * g_GetScript(const char * szRelativeScriptFile);
  41. extern BOOL ReLoadScript(const char * szRelativePathScript);
  42. extern unsigned long  ReLoadAllScript();
  43. #endif