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

模拟服务器

开发平台:

C/C++

  1. // PlayerTrack.h: interface for the CPlayerTrack class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_PLAYERTRACK_H__2E58B67D_CA53_47CA_979E_22BE551A1131__INCLUDED_)
  5. #define AFX_PLAYERTRACK_H__2E58B67D_CA53_47CA_979E_22BE551A1131__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <map>
  10. #include <set>
  11. #include "KThread.h"
  12. class CPlayerTrack : K_CS 
  13. {
  14. public:
  15. CPlayerTrack();
  16. virtual ~CPlayerTrack();
  17. private:
  18. BOOL Clearup();
  19. public:
  20. BOOL Initialize();
  21. BOOL Uninitialize();
  22. private:
  23. struct ACCVALUE
  24. {
  25. std::_tstring role;
  26. DWORD nameid;
  27. unsigned long conn;
  28. int index;
  29. };
  30. typedef std::map<std::_tstring, ACCVALUE> ACCMAP;
  31. ACCMAP m_mapAcc;
  32. /*
  33. struct ROLEVALUE
  34. {
  35. std::_tstring acc;
  36. DWORD nameid;
  37. unsigned long conn;
  38. int index;
  39. };
  40. typedef std::map<std::_tstring, ROLEVALUE> ROLEMAP;
  41. ROLEMAP m_mapRole;
  42. */
  43. struct PLAYERVALUE
  44. {
  45. std::_tstring acc;
  46. std::_tstring role;
  47. DWORD nameid;
  48. int index;
  49. bool operator <(const PLAYERVALUE& src) const
  50. { return index < src.index && nameid < src.nameid && role < src.role && acc < src.acc; }
  51. };
  52. typedef std::set<PLAYERVALUE> PLAYERSET;
  53. typedef std::map<unsigned long, PLAYERSET> CONNMAP;
  54. CONNMAP m_mapConn;
  55. K_CS m_csAccess;
  56. public:
  57. BOOL Login(const std::_tstring& acc, const std::_tstring& role, DWORD nameid, unsigned long conn, int idx);
  58. BOOL Logout(const std::_tstring& acc);
  59. BOOL ClearOnSvr(unsigned long conn);
  60. };
  61. #endif // !defined(AFX_PLAYERTRACK_H__2E58B67D_CA53_47CA_979E_22BE551A1131__INCLUDED_)