KScriptCache.cpp
Upload User: dzyhzl
Upload Date: 2019-04-29
Package Size: 56270k
Code Size: 1k
Development Platform:

C/C++

  1. /*******************************************************************************
  2. // FileName : KScriptCache.cpp
  3. // FileAuthor : RomanDou
  4. // FileCreateDate : 2002-7-23 10:25:56
  5. // FileDescription :
  6. // Revision Count :
  7. // Questions :   脚本的Cache,网络版时是否采用Cache机制了?Cache通过检索字符串操作效率会降低一些,有优化的余地
  8. *******************************************************************************/
  9. #include "KWin32.h"
  10. #include "KScriptCache.h"
  11. KScriptCache::KScriptCache()
  12. {
  13. }
  14. KScriptCache::~KScriptCache()
  15. {
  16.     Release();      // 调用基类中的函数,释放所有节点
  17. }
  18. BOOL KScriptCache::LoadNode(KCacheNode* lpNode)
  19. {
  20. KLuaScript* pScript = new KLuaScript;
  21. pScript->Init();
  22. if (pScript->Load(lpNode->GetName()))
  23. lpNode->m_lpData = pScript;
  24. else
  25. lpNode->m_lpData = NULL;
  26. return lpNode->m_lpData != NULL;
  27. }
  28. //---------------------------------------------------------------------------
  29. // 函数: FreeNode
  30. // 功能:
  31. // 参数:
  32. // 返回: void
  33. //---------------------------------------------------------------------------
  34. void KScriptCache::FreeNode(KCacheNode* lpNode)
  35. {
  36. KLuaScript* pLuaScript = (KLuaScript*)lpNode->m_lpData;
  37. if (pLuaScript)
  38. {
  39. pLuaScript->Exit();
  40. delete pLuaScript;
  41. }
  42. lpNode->m_lpData = NULL;
  43. }