Commit 9cede2e2bfdcc5685bb167c6bcde5ad3a9a755f3

Authored by zhouhaihai
1 parent 6198b5d8

主推红点 和冒险次数

src/GlobalVar.lua
... ... @@ -76,7 +76,13 @@ FuncOpenType = {
76 76 AdvWS = 6, -- 工坊解锁
77 77 AdvWheelSurf = 7, -- 抽奖解锁
78 78 TimeBoxSlot = 8, -- 时钟箱槽
  79 + AdvCount = 9, -- 冒险 次数上限
  80 + AdvCountEL = 10, -- 无尽冒险 次数上限
79 81 }
  82 +TypeIsFunc = {}
  83 +for _, v in pairs(FuncOpenType) do
  84 + TypeIsFunc[v] = true
  85 +end
80 86  
81 87 -- 关卡通关相关的 功能开放 对应 guide_unlock
82 88 FuncUnlock = {
... ... @@ -90,10 +96,6 @@ FuncUnlock = {
90 96 Adv = 8, -- 冒险
91 97 }
92 98  
93   -TypeIsFunc = {}
94   -for _, v in pairs(FuncOpenType) do
95   - TypeIsFunc[v] = true
96   -end
97 99  
98 100 -- 物品起始id
99 101 ItemStartId = {
... ... @@ -252,3 +254,8 @@ SettingStatus = {
252 254 }
253 255  
254 256 EMAIL_LIMIT = 20 --邮件最大数量
  257 +
  258 +RedPointTags = {
  259 + PvpCR = 1,
  260 + PvpHR = 2,
  261 +}
... ...
src/actions/PvpAction.lua
... ... @@ -381,6 +381,8 @@ function _M.endBattleRpc(agent, data)
381 381 sdelta = matchScore - oldMatchScore,
382 382 }))
383 383 red:ltrim(dbKey, 0, 9)
  384 +
  385 + rpcRole(match.id, "redPTag", RedPointTags.PvpCR, now)
384 386 end
385 387 end)
386 388  
... ... @@ -670,6 +672,7 @@ function _M.endBattleHRpc(agent, data)
670 672 record = recordBattle,
671 673 }))
672 674 red:ltrim(dbKey, 0, 9)
  675 + rpcRole(match.id, "redPTag", RedPointTags.PvpHR, now)
673 676 end
674 677 end)
675 678  
... ... @@ -786,7 +789,7 @@ function _M.recordListRpc(agent, data)
786 789 info.video = temp.video
787 790 info.sdelta = temp.sdelta
788 791 end
789   -
  792 + role:clearRedPTag(RedPointTags.PvpCR)
790 793 elseif ptype == 2 then -- 高级pvp
791 794 local rlist = redisproxy:lrange(string.format(RECORD_PVP_HIGH, roleId), 0 , 9)
792 795 local tempList = {}
... ... @@ -806,6 +809,8 @@ function _M.recordListRpc(agent, data)
806 809 info.sdelta = temp.sdelta
807 810 info.record = temp.record
808 811 end
  812 + role:clearRedPTag(RedPointTags.PvpHR)
  813 +
809 814 else
810 815 return
811 816 end
... ...
src/models/Role.lua
... ... @@ -150,6 +150,8 @@ Role.schema = {
150 150  
151 151 sudoku = {"table", {}}, -- 九宫格 {[-1] = 1, task = {[1] = {}, [2] = {}}}} -- [-1] 阶段 如果为 -1 关闭(都做完了), task 当前阶段任务进度, reward 连串奖励领取情况
152 152 sign = {"table", {}}, -- 签到记录 {[1] = 20181029}
  153 +
  154 + redp = {"table", {}}, -- 待消除红点 -- 通常打开对应界面就消除的红点 红点消除的方法 在对应的协议中使用 {tag = pms }
153 155 }
154 156  
155 157  
... ... @@ -359,6 +361,8 @@ function Role:data()
359 361  
360 362 sudoku = self:getProperty("sudoku"),
361 363 sign = self:getProperty("sign"),
  364 +
  365 + redp = self:getProperty("redp"),
362 366 }
363 367 end
364 368  
... ...
src/models/RoleCross.lua
... ... @@ -67,6 +67,15 @@ RoleCross.bind = function (Role)
67 67 return info
68 68 end
69 69  
  70 + function Role:redPTag(tag, pms)
  71 + pms = pms or 1
  72 + local redp = self:getProperty("redp")
  73 + if not redp[tag] or redp[tag] ~= pms then
  74 + redp[tag] = pms
  75 + self:updateProperty({field = "redp", value = redp})
  76 + end
  77 + end
  78 +
70 79 function Role:accountInit(initData)
71 80 -- 道具
72 81 local reward = {}
... ... @@ -318,6 +327,16 @@ function CMD.pvpHRankInfo(roleId)
318 327 return info
319 328 end
320 329  
  330 +-- 记录红点
  331 +function CMD.redPTag(roleId, tag, pms)
  332 + pms = pms or 1
  333 + local redp = CMD.getProperty(roleId, "redp")
  334 + if not redp[tag] or redp[tag] ~= pms then
  335 + redp[tag] = pms
  336 + CMD.setProperty(roleId, "redp", redp)
  337 + end
  338 +end
  339 +
321 340 RoleCross.handle = function(cmd, roleId, ...)
322 341 SRole = SRole or require("models.Role")
323 342 if CMD[cmd] then
... ...
src/models/RolePlugin.lua
... ... @@ -830,13 +830,11 @@ function RolePlugin.bind(Role)
830 830 end
831 831  
832 832 function Role:getAdvHangLimit()
833   - -- todo
834   - return globalCsv.adv_daily_cross_count
  833 + return globalCsv.adv_daily_cross_count + self:getFuncLv(FuncOpenType.AdvCount)
835 834 end
836 835  
837 836 function Role:getAdvElLimit()
838   - -- todo
839   - return globalCsv.adv_endless_daily_cross_count
  837 + return globalCsv.adv_endless_daily_cross_count + self:getFuncLv(FuncOpenType.AdvCountEL)
840 838 end
841 839  
842 840 -- 走 guide_unlock 表的 被动解锁
... ... @@ -1392,6 +1390,13 @@ function RolePlugin.bind(Role)
1392 1390 return false
1393 1391 end
1394 1392  
  1393 + -- 消除指定tag 红点
  1394 + function Role:clearRedPTag(tag)
  1395 + local redp = self:getProperty("redp")
  1396 + redp[tag] = nil
  1397 + self:updateProperty({field = "redp", value = redp})
  1398 + end
  1399 +
1395 1400 end
1396 1401  
1397 1402 return RolePlugin
1398 1403 \ No newline at end of file
... ...