VipChangeMgr.lua 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. local VipChangeMgr = class('VipChangeMgr')
  2. function VipChangeMgr:ctor()
  3. self.changeLv = nil
  4. self.changeExp = nil
  5. self:RegisterEvent()
  6. end
  7. function VipChangeMgr:Clear()
  8. self.changeLv = nil
  9. self.changeExp = nil
  10. end
  11. function VipChangeMgr:Destroy()
  12. self.changeLv = nil
  13. self.changeExp = nil
  14. self:UnRegisterEvent()
  15. end
  16. function VipChangeMgr:RegisterEvent()
  17. ManagerContainer.LuaEventMgr:RegisterEvent(UIEventNames.VIP_LV_CHANGED, self, self.OnVipLvChanged)
  18. ManagerContainer.LuaEventMgr:RegisterEvent(UIEventNames.VIP_EXP_CHANGED, self, self.OnVipExpChanged)
  19. end
  20. function VipChangeMgr:UnRegisterEvent()
  21. ManagerContainer.LuaEventMgr:UnregisterEvent(UIEventNames.VIP_LV_CHANGED, self, self.OnVipLvChanged)
  22. ManagerContainer.LuaEventMgr:UnregisterEvent(UIEventNames.VIP_EXP_CHANGED, self, self.OnVipExpChanged)
  23. end
  24. function VipChangeMgr:OnVipLvChanged(lv, newLv)
  25. if ManagerContainer.LuaUIMgr:HasOpenPage(Enum.UIPageName.UIVipLvUp) then
  26. if not self.changeLv then
  27. self.changeLv = {lv, newLv}
  28. else
  29. if self.changeLv[1] > lv then
  30. self.changeLv[1] = lv
  31. end
  32. if self.changeLv[2] < newLv then
  33. self.changeLv[2] = newLv
  34. end
  35. end
  36. else
  37. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIVipLvUp, {lv, newLv})
  38. end
  39. end
  40. function VipChangeMgr:OnVipExpChanged(newLv, exp, newExp)
  41. if ManagerContainer.LuaUIMgr:HasOpenPage(Enum.UIPageName.UIVipExpTips) then
  42. if not self.changeExp then
  43. self.changeExp = {newLv, exp, newExp}
  44. else
  45. if self.changeExp[1] < newLv then
  46. self.changeExp[1] = newLv
  47. end
  48. if self.changeExp[2] > exp then
  49. self.changeExp[2] = exp
  50. end
  51. if self.changeExp[3] < newExp then
  52. self.changeExp[3] = newExp
  53. end
  54. end
  55. else
  56. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIVipExpTips, {newLv, exp, newExp})
  57. end
  58. end
  59. function VipChangeMgr:GetNextChangeLv()
  60. local lvData = self.changeLv
  61. self.changeLv = nil
  62. return lvData
  63. end
  64. function VipChangeMgr:GetNextChangeExp()
  65. local expData = self.changeExp
  66. self.changeExp = nil
  67. return expData
  68. end
  69. return VipChangeMgr