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

模拟服务器

开发平台:

C/C++

  1. // KRoleInfomation.cpp: implementation of the KRoleInfomation class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "RoleDBServer.h"
  6. #include "KRoleInfomation.h"
  7. #include <objbase.h>
  8. #include <initguid.h>
  9. #include <list>
  10. #include <map>
  11. #ifdef _DEBUG
  12. #undef THIS_FILE
  13. static char THIS_FILE[]=__FILE__;
  14. #define new DEBUG_NEW
  15. #endif
  16. using namespace std;
  17. //按照角色登入的顺序存入的玩家列表,用于自动保存的顺序
  18. list<KRoleInfomation * > g_RoleInfoList;
  19. //以角色姓名作为关键名,存放玩家的列表,用于在客户端读取档快速检索
  20. map<std::string , KRoleInfomation * > g_RoleInfoMap;
  21. //////////////////////////////////////////////////////////////////////
  22. // Construction/Destruction
  23. //////////////////////////////////////////////////////////////////////
  24. KRoleInfomation::KRoleInfomation()
  25. {
  26. Clear();
  27. }
  28. KRoleInfomation::~KRoleInfomation()
  29. {
  30. }
  31. void KRoleInfomation::Clear()
  32. {
  33. m_RoleInfoBuffer[0] = 0;
  34. m_nRoleInfoSize = 0;
  35. m_nSaveCmdCount = m_nLoadCmdCount = m_nSaveDBCount = m_bModify = 0;
  36. m_nLastSaveTime = 0;
  37. m_nUnModifyTime = 0;
  38. }
  39. BYTE * KRoleInfomation::GetRoleInfoBuffer(size_t & nRoleInfoSize)
  40. {
  41. nRoleInfoSize = 0;
  42. if (m_RoleInfoBuffer[0] == 0) return NULL;
  43. nRoleInfoSize = m_nRoleInfoSize;
  44. return m_RoleInfoBuffer ;
  45. }
  46. BOOL KRoleInfomation::SetRoleInfoBuffer(BYTE * pRoleInfoBuffer, size_t nRoleInfoSize)
  47. {
  48. if (pRoleInfoBuffer == NULL || nRoleInfoSize == 0 ) return FALSE;
  49. memcpy(&m_RoleInfoBuffer, pRoleInfoBuffer, nRoleInfoSize);
  50. m_nRoleInfoSize = nRoleInfoSize;
  51. return TRUE;
  52. }
  53. BOOL KRoleInfomation::CheckRoleInfoValid(const char * szRoleName) //验证Buffer数据是否为RoleName的数据
  54. {
  55. return TRUE;
  56. }
  57. BOOL KRoleInfomation::CheckRoleInfoValid() //验证Buffer数据是否为RoleName的数据
  58. {
  59. if (m_nRoleInfoSize <= 0) return FALSE;
  60. return TRUE;
  61. }