Commit 9cede2e2bfdcc5685bb167c6bcde5ad3a9a755f3

Authored by zhouhaihai
1 parent 6198b5d8

主推红点 和冒险次数

@@ -76,7 +76,13 @@ FuncOpenType = { @@ -76,7 +76,13 @@ FuncOpenType = {
76 AdvWS = 6, -- 工坊解锁 76 AdvWS = 6, -- 工坊解锁
77 AdvWheelSurf = 7, -- 抽奖解锁 77 AdvWheelSurf = 7, -- 抽奖解锁
78 TimeBoxSlot = 8, -- 时钟箱槽 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 -- 关卡通关相关的 功能开放 对应 guide_unlock 87 -- 关卡通关相关的 功能开放 对应 guide_unlock
82 FuncUnlock = { 88 FuncUnlock = {
@@ -90,10 +96,6 @@ FuncUnlock = { @@ -90,10 +96,6 @@ FuncUnlock = {
90 Adv = 8, -- 冒险 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 -- 物品起始id 100 -- 物品起始id
99 ItemStartId = { 101 ItemStartId = {
@@ -252,3 +254,8 @@ SettingStatus = { @@ -252,3 +254,8 @@ SettingStatus = {
252 } 254 }
253 255
254 EMAIL_LIMIT = 20 --邮件最大数量 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,6 +381,8 @@ function _M.endBattleRpc(agent, data)
381 sdelta = matchScore - oldMatchScore, 381 sdelta = matchScore - oldMatchScore,
382 })) 382 }))
383 red:ltrim(dbKey, 0, 9) 383 red:ltrim(dbKey, 0, 9)
  384 +
  385 + rpcRole(match.id, "redPTag", RedPointTags.PvpCR, now)
384 end 386 end
385 end) 387 end)
386 388
@@ -670,6 +672,7 @@ function _M.endBattleHRpc(agent, data) @@ -670,6 +672,7 @@ function _M.endBattleHRpc(agent, data)
670 record = recordBattle, 672 record = recordBattle,
671 })) 673 }))
672 red:ltrim(dbKey, 0, 9) 674 red:ltrim(dbKey, 0, 9)
  675 + rpcRole(match.id, "redPTag", RedPointTags.PvpHR, now)
673 end 676 end
674 end) 677 end)
675 678
@@ -786,7 +789,7 @@ function _M.recordListRpc(agent, data) @@ -786,7 +789,7 @@ function _M.recordListRpc(agent, data)
786 info.video = temp.video 789 info.video = temp.video
787 info.sdelta = temp.sdelta 790 info.sdelta = temp.sdelta
788 end 791 end
789 - 792 + role:clearRedPTag(RedPointTags.PvpCR)
790 elseif ptype == 2 then -- 高级pvp 793 elseif ptype == 2 then -- 高级pvp
791 local rlist = redisproxy:lrange(string.format(RECORD_PVP_HIGH, roleId), 0 , 9) 794 local rlist = redisproxy:lrange(string.format(RECORD_PVP_HIGH, roleId), 0 , 9)
792 local tempList = {} 795 local tempList = {}
@@ -806,6 +809,8 @@ function _M.recordListRpc(agent, data) @@ -806,6 +809,8 @@ function _M.recordListRpc(agent, data)
806 info.sdelta = temp.sdelta 809 info.sdelta = temp.sdelta
807 info.record = temp.record 810 info.record = temp.record
808 end 811 end
  812 + role:clearRedPTag(RedPointTags.PvpHR)
  813 +
809 else 814 else
810 return 815 return
811 end 816 end
src/models/Role.lua
@@ -150,6 +150,8 @@ Role.schema = { @@ -150,6 +150,8 @@ Role.schema = {
150 150
151 sudoku = {"table", {}}, -- 九宫格 {[-1] = 1, task = {[1] = {}, [2] = {}}}} -- [-1] 阶段 如果为 -1 关闭(都做完了), task 当前阶段任务进度, reward 连串奖励领取情况 151 sudoku = {"table", {}}, -- 九宫格 {[-1] = 1, task = {[1] = {}, [2] = {}}}} -- [-1] 阶段 如果为 -1 关闭(都做完了), task 当前阶段任务进度, reward 连串奖励领取情况
152 sign = {"table", {}}, -- 签到记录 {[1] = 20181029} 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,6 +361,8 @@ function Role:data()
359 361
360 sudoku = self:getProperty("sudoku"), 362 sudoku = self:getProperty("sudoku"),
361 sign = self:getProperty("sign"), 363 sign = self:getProperty("sign"),
  364 +
  365 + redp = self:getProperty("redp"),
362 } 366 }
363 end 367 end
364 368
src/models/RoleCross.lua
@@ -67,6 +67,15 @@ RoleCross.bind = function (Role) @@ -67,6 +67,15 @@ RoleCross.bind = function (Role)
67 return info 67 return info
68 end 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 function Role:accountInit(initData) 79 function Role:accountInit(initData)
71 -- 道具 80 -- 道具
72 local reward = {} 81 local reward = {}
@@ -318,6 +327,16 @@ function CMD.pvpHRankInfo(roleId) @@ -318,6 +327,16 @@ function CMD.pvpHRankInfo(roleId)
318 return info 327 return info
319 end 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 RoleCross.handle = function(cmd, roleId, ...) 340 RoleCross.handle = function(cmd, roleId, ...)
322 SRole = SRole or require("models.Role") 341 SRole = SRole or require("models.Role")
323 if CMD[cmd] then 342 if CMD[cmd] then
src/models/RolePlugin.lua
@@ -830,13 +830,11 @@ function RolePlugin.bind(Role) @@ -830,13 +830,11 @@ function RolePlugin.bind(Role)
830 end 830 end
831 831
832 function Role:getAdvHangLimit() 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 end 834 end
836 835
837 function Role:getAdvElLimit() 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 end 838 end
841 839
842 -- 走 guide_unlock 表的 被动解锁 840 -- 走 guide_unlock 表的 被动解锁
@@ -1392,6 +1390,13 @@ function RolePlugin.bind(Role) @@ -1392,6 +1390,13 @@ function RolePlugin.bind(Role)
1392 return false 1390 return false
1393 end 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 end 1400 end
1396 1401
1397 return RolePlugin 1402 return RolePlugin
1398 \ No newline at end of file 1403 \ No newline at end of file