roleMgr.lua 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --[[
  2. Descripttion:角色管理
  3. version:
  4. Author: Neo,Huang
  5. Date: 2023-11-08 22:38:51
  6. LastEditors: Neo,Huang
  7. LastEditTime: 2023-11-23 23:31:37
  8. --]]
  9. local role = require "role"
  10. local root = class("roleMgr")
  11. function root:ctor()
  12. self.roleList = {}
  13. self.amount = 0
  14. end
  15. function root:login_role(uid, gSession)
  16. local roleObj = role.new(uid, gSession)
  17. roleObj:login(gSession)
  18. log.print("login_role %s", uid)
  19. self.roleList[uid] = roleObj
  20. self.amount = self.amount + 1
  21. end
  22. function root:logout_role(uid)
  23. local roleObj = self:get_role_obj(uid)
  24. if not roleObj then
  25. return
  26. end
  27. log.print("logout_role %s", uid)
  28. roleObj:logout()
  29. self.roleList[uid] = nil
  30. self.amount = self.amount - 1
  31. end
  32. function root:get_role_obj(uid)
  33. return self.roleList[uid]
  34. end
  35. function root:get_role_obj_list()
  36. return self.roleList
  37. end
  38. -- 派发游戏事件
  39. function root:dispath_game_event(uid, eventId, eventParams)
  40. local roleObj = self:get_role_obj(uid)
  41. if not roleObj then
  42. return
  43. end
  44. roleObj:dispath_game_event(eventId, eventParams)
  45. end
  46. return root