RemindUpgradeProxy.lua 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. local RemoteProxy = requireProxy("remote/RemoteProxy")
  2. local RemindUpgradeProxy = class("RemindUpgradeProxy", RemoteProxy)
  3. RemindUpgradeProxy.NAME = global.ProxyTable.RemindUpgradeProxy
  4. local cjson = require("cjson")
  5. function RemindUpgradeProxy:ctor()
  6. RemindUpgradeProxy.super.ctor(self)
  7. self.m_btns = {}--用键值对吧 防id重复
  8. end
  9. function RemindUpgradeProxy:handle_MSG_SC_BESTRONG_TIPS(msg)
  10. local msgLen = msg:GetDataLength()
  11. local msgHdr = msg:GetHeader()
  12. local str = ""
  13. if msgLen ~= 0 then
  14. str = msg:GetData():ReadString(msgLen)
  15. end
  16. if msgHdr.recog == 0 then
  17. -- id name link
  18. local strs = string.split(str,",")
  19. local id = tonumber(strs[1])
  20. local name = strs[2]
  21. for i = 1,2 do
  22. if #strs>0 then
  23. table.remove(strs,1)
  24. end
  25. end
  26. local link = table.concat( strs, ",")
  27. local data = {id = id,name = name,link = link}
  28. self:refData(id,true,data)
  29. else
  30. local id = msgHdr.param1 or 0
  31. self:refData(id,false)
  32. end
  33. global.Facade:sendNotification(global.NoticeTable.Layer_BeStrong_refButton)
  34. end
  35. --data {id = id,name = name,link = link}
  36. function RemindUpgradeProxy:refData(id,status,data)
  37. if status then
  38. self.m_btns[id] = data
  39. else
  40. if self.m_btns[id] then
  41. self.m_btns[id] = nil
  42. end
  43. end
  44. global.Facade:sendNotification(global.NoticeTable.Layer_BeStrong_refButton)
  45. end
  46. function RemindUpgradeProxy:getButtonData()
  47. return self.m_btns
  48. end
  49. function RemindUpgradeProxy:RegisterMsgHandler()
  50. RemindUpgradeProxy.super.RegisterMsgHandler(self)
  51. local msgType = global.MsgType
  52. LuaRegisterMsgHandler(global.MsgType.MSG_SC_BESTRONG_TIPS, handler(self, self.handle_MSG_SC_BESTRONG_TIPS) )
  53. end
  54. return RemindUpgradeProxy