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

模拟服务器

开发平台:

C/C++

  1. // S3PRole.cpp: implementation of the S3PRole class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "S3PRole.h"
  5. #include "S3PDBConnection.h"
  6. #include "S3PDBConnector.h"
  7. #include "S3PRoleInfoDAO.h"
  8. #include "S3PTaskList.h"
  9. //////////////////////////////////////////////////////////////////////
  10. // Construction/Destruction
  11. //////////////////////////////////////////////////////////////////////
  12. S3PRole::S3PRole()
  13. {
  14. m_pTaskList = NULL;
  15. m_pFriendList = NULL;
  16. m_pFightSkillList = NULL;
  17. m_pLifeSkillList = NULL;
  18. m_pEquipmentList = NULL;
  19. Init();
  20. }
  21. S3PRole::S3PRole(std::string userCode)
  22. {
  23. m_pTaskList = NULL;
  24. m_pFriendList = NULL;
  25. m_pFightSkillList = NULL;
  26. m_pLifeSkillList = NULL;
  27. m_pEquipmentList = NULL;
  28. m_primaryFields["cUserCode"] = userCode;
  29. Init();
  30. Load();
  31. }
  32. S3PRole::S3PRole(int iid)
  33. {
  34. m_pTaskList = NULL;
  35. m_pFriendList = NULL;
  36. m_pFightSkillList = NULL;
  37. m_pLifeSkillList = NULL;
  38. m_pEquipmentList = NULL;
  39. char buf[255];
  40. sprintf(buf, "%d", iid);
  41. m_primaryFields["iid"] = buf;
  42. Init();
  43. Load();
  44. }
  45. S3PRole::~S3PRole()
  46. {
  47. Clear();
  48. if (m_pTaskList)
  49. {
  50. delete m_pTaskList;
  51. }
  52. if (m_pFriendList)
  53. {
  54. delete m_pFriendList;
  55. }
  56. if (m_pFightSkillList)
  57. {
  58. delete m_pFightSkillList;
  59. }
  60. if (m_pLifeSkillList)
  61. {
  62. delete m_pLifeSkillList;
  63. }
  64. if (m_pEquipmentList)
  65. {
  66. delete m_pEquipmentList;
  67. }
  68. }
  69. S3PDBConnection * S3PRole::GetConn()
  70. {
  71. return S3PDBConnector::Instance()->ApplyDBConnection(def_ROLEDB);
  72. }
  73. S3PTableDAO * S3PRole::GetTableDAO()
  74. {
  75. return new S3PRoleInfoDAO(m_pConn);
  76. }
  77. std::string S3PRole::GetAutoIncrementField()
  78. {
  79. return "iid";
  80. }
  81. std::string S3PRole::GetMandatoryField()
  82. {
  83. return "cusercode";
  84. }
  85. S3PTableObjList<S3PTask>* S3PRole::GetTaskList()
  86. {
  87. if (!m_bInit)
  88. return NULL;
  89. if (m_pTaskList==NULL)
  90. {
  91. m_pTaskList = new S3PTableObjList<S3PTask>("Task_List", "iid", "cusercode", m_properties["cusercode"]);
  92. }
  93. return m_pTaskList;
  94. }
  95. S3PTableObjList<S3PFriend>* S3PRole::GetFriendList()
  96. {
  97. if (!m_bInit)
  98. return NULL;
  99. if (m_pFriendList == NULL)
  100. {
  101. m_pFriendList = new S3PTableObjList<S3PFriend>("Friend_List","iid", "cusercode", m_properties["cusercode"]);
  102. }
  103. return m_pFriendList;
  104. }
  105. S3PTableObjList<S3PFightSkill>* S3PRole::GetFightSkillList()
  106. {
  107. if (!m_bInit)
  108. return NULL;
  109. if (m_pFightSkillList == NULL)
  110. {
  111. m_pFightSkillList = new S3PTableObjList<S3PFightSkill>("FightSkill","iid", "cusercode", m_properties["cusercode"]);
  112. }
  113. return m_pFightSkillList;
  114. }
  115. S3PTableObjList<S3PLifeSkill>* S3PRole::GetLifeSkillList()
  116. {
  117. if (!m_bInit)
  118. return NULL;
  119. if (m_pLifeSkillList == NULL)
  120. {
  121. m_pLifeSkillList = new S3PTableObjList<S3PLifeSkill>("LifeSkill","iid", "cusercode", m_properties["cusercode"]);
  122. }
  123. return m_pLifeSkillList;
  124. }
  125. S3PTableObjList<S3PEquipment> * S3PRole::GetEquipmentList()
  126. {
  127. if (!m_bInit)
  128. return NULL;
  129. if (m_pEquipmentList == NULL)
  130. {
  131. m_pEquipmentList = new S3PTableObjList<S3PEquipment>("Equipments","iid", "cusercode", m_properties["cusercode"]);
  132. }
  133. return m_pEquipmentList;
  134. }