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

模拟服务器

开发平台:

C/C++

  1. #include "KCore.h"
  2. #include "KPlayerFaction.h"
  3. #include "KLadder.h"
  4. KLadder Ladder;
  5. KLadder::KLadder()
  6. {
  7. ZeroMemory(&GameStatData, sizeof(TGAME_STAT_DATA));
  8. }
  9. KLadder::~KLadder()
  10. {
  11. ZeroMemory(&GameStatData, sizeof(TGAME_STAT_DATA));
  12. }
  13. BOOL KLadder::Init(void* pData, size_t uSize)
  14. {
  15. if (uSize != sizeof(TGAME_STAT_DATA))
  16. return FALSE;
  17. memcpy(&GameStatData, pData, uSize);
  18. return TRUE;
  19. }
  20. const TRoleList* KLadder::TopTenFacMasterHand(int nFac)
  21. {
  22. if (nFac < - 1 || nFac >= series_num * FACTIONS_PRR_SERIES)
  23. return NULL;
  24. return GameStatData.LevelStatBySect[nFac + 1];
  25. }
  26. const TRoleList* KLadder::TopTenFacRich(int nFac)
  27. {
  28. if (nFac < - 1 || nFac >= series_num * FACTIONS_PRR_SERIES)
  29. return NULL;
  30. return GameStatData.MoneyStatBySect[nFac + 1];
  31. }
  32. const TRoleList* KLadder::TopTenKiller()
  33. {
  34. return GameStatData.KillerStat;
  35. }
  36. const TRoleList* KLadder::TopTenMasterHand()
  37. {
  38. return GameStatData.LevelStat;
  39. }
  40. const TRoleList* KLadder::TopTenRich()
  41. {
  42. return GameStatData.MoneyStat;
  43. }
  44. int KLadder::GetFacMasterHandPercent(int nFac)
  45. {
  46. if (nFac < - 1 || nFac >= series_num * FACTIONS_PRR_SERIES)
  47. return 0;
  48. return GameStatData.SectLevelMost[nFac + 1];
  49. }
  50. int KLadder::GetFacMoneyPercent(int nFac)
  51. {
  52. if (nFac < - 1 || nFac >= series_num * FACTIONS_PRR_SERIES)
  53. return NULL;
  54. return GameStatData.SectMoneyMost[nFac + 1];
  55. }
  56. int KLadder::GetFacMemberCount(int nFac)
  57. {
  58. if (nFac < - 1 || nFac >= series_num * FACTIONS_PRR_SERIES)
  59. return NULL;
  60. return GameStatData.SectPlayerNum[nFac + 1];
  61. }
  62. const TRoleList* KLadder::GetTopTen(DWORD dwLadderID)
  63. {
  64. if (dwLadderID <= enumLadderBegin || dwLadderID >= enumLadderEnd)
  65. {
  66. return NULL;
  67. }
  68. if (dwLadderID == enumTopTenMasterHand)
  69. {
  70. return GameStatData.LevelStat;
  71. }
  72. else if (dwLadderID == enumTopTenRicher)
  73. {
  74. return GameStatData.MoneyStat;
  75. }
  76. else if (dwLadderID == enumTopTenKiller)
  77. {
  78. return GameStatData.KillerStat;
  79. }
  80. else if (dwLadderID < enumFacTopTenRicher)
  81. {
  82. return TopTenFacMasterHand(dwLadderID - enumFacTopTenMasterHand - 1);
  83. }
  84. else
  85. {
  86. return TopTenFacRich(dwLadderID - enumFacTopTenRicher - 1);
  87. }
  88. }