【山河每日奖励】完善奖励领取逻辑

dev_chengFeng
gaoxin 2021-10-19 16:36:49 +08:00
parent 47d6de27ff
commit 3c371623d7
6 changed files with 577 additions and 493 deletions

File diff suppressed because one or more lines are too long

View File

@ -74,6 +74,7 @@ GETPLAYERINFORESPONSE_DRAWTIMES_FIELD = protobuf.FieldDescriptor();
GETPLAYERINFORESPONSE_HELPFIGHTLIST_FIELD = protobuf.FieldDescriptor();
GETPLAYERINFORESPONSE_SIXIANGINFOS_FIELD = protobuf.FieldDescriptor();
GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD = protobuf.FieldDescriptor();
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD = protobuf.FieldDescriptor();
GETITEMINFOREQUEST = protobuf.Descriptor();
GETITEMINFOREQUEST_INDEX_FIELD = protobuf.FieldDescriptor();
GETITEMINFORESPONSE = protobuf.Descriptor();
@ -551,6 +552,7 @@ WELFAREREDPACKETSENDRESPONSE_REDPACKET_FIELD = protobuf.FieldDescriptor();
HARDSTAGEREQUEST = protobuf.Descriptor();
HARDSTAGERESPONSE = protobuf.Descriptor();
HARDSTAGERESPONSE_INFO_FIELD = protobuf.FieldDescriptor();
HARDSTAGERESPONSE_ISTAKE_FIELD = protobuf.FieldDescriptor();
HARDSTAGEFIGHTREQUEST = protobuf.Descriptor();
HARDSTAGEFIGHTREQUEST_NODEID_FIELD = protobuf.FieldDescriptor();
HARDSTAGEFIGHTREQUEST_TEAMID_FIELD = protobuf.FieldDescriptor();
@ -568,6 +570,8 @@ HARDSTAGEREPORTREQUSET = protobuf.Descriptor();
HARDSTAGEREPORTREQUSET_HARDSTAGEID_FIELD = protobuf.FieldDescriptor();
HARDSTAGEREPORTRESPONSE = protobuf.Descriptor();
HARDSTAGEREPORTRESPONSE_PLAYER_FIELD = protobuf.FieldDescriptor();
HARDSTAGEDAILYREWARDRESPONSE = protobuf.Descriptor();
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD = protobuf.FieldDescriptor();
VIPLEVELSTATEREQUSET = protobuf.Descriptor();
VIPLEVELSTATERESPONSE = protobuf.Descriptor();
VIPLEVELSTATERESPONSE_VIPSTATE_FIELD = protobuf.FieldDescriptor();
@ -1317,11 +1321,21 @@ GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD.default_value = 0
GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD.type = 5
GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD.cpp_type = 1
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.name = "xiuweiLevel"
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.full_name = ".rpc.protocols.GetPlayerInfoResponse.xiuweiLevel"
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.number = 48
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.index = 46
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.label = 1
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.has_default_value = false
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.default_value = 0
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.type = 5
GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD.cpp_type = 1
GETPLAYERINFORESPONSE.name = "GetPlayerInfoResponse"
GETPLAYERINFORESPONSE.full_name = ".rpc.protocols.GetPlayerInfoResponse"
GETPLAYERINFORESPONSE.nested_types = {}
GETPLAYERINFORESPONSE.enum_types = {}
GETPLAYERINFORESPONSE.fields = {GETPLAYERINFORESPONSE_PLAYER_FIELD, GETPLAYERINFORESPONSE_NEWPLAYERGUIDEPOINT_FIELD, GETPLAYERINFORESPONSE_PRIVILEGE_FIELD, GETPLAYERINFORESPONSE_GIFTGOODSINFO_FIELD, GETPLAYERINFORESPONSE_BUYGOODSID_FIELD, GETPLAYERINFORESPONSE_SUDDENLYBOSSINFO_FIELD, GETPLAYERINFORESPONSE_VIPLEVETAKE_FIELD, GETPLAYERINFORESPONSE_USERCREATETIME_FIELD, GETPLAYERINFORESPONSE_REDTYPE_FIELD, GETPLAYERINFORESPONSE_RANDCOUNT_FIELD, GETPLAYERINFORESPONSE_HEROHANDBOOK_FIELD, GETPLAYERINFORESPONSE_EQUIPHANDBOOK_FIELD, GETPLAYERINFORESPONSE_TOWERRECEIVEDREWARD_FIELD, GETPLAYERINFORESPONSE_GOODSTYPEDURATION_FIELD, GETPLAYERINFORESPONSE_TREASURELEVEL_FIELD, GETPLAYERINFORESPONSE_HADBUYTREASURE_FIELD, GETPLAYERINFORESPONSE_SIGNININFO_FIELD, GETPLAYERINFORESPONSE_FIRSTTENTH_FIELD, GETPLAYERINFORESPONSE_MONSTERATTACKTIME_FIELD, GETPLAYERINFORESPONSE_ISDAYFIRST_FIELD, GETPLAYERINFORESPONSE_PLAYERBINDPHONE_FIELD, GETPLAYERINFORESPONSE_QUESTIONSTATE_FIELD, GETPLAYERINFORESPONSE_SOULEQUIPPOOL_FIELD, GETPLAYERINFORESPONSE_PLAYEDMAPTYPES_FIELD, GETPLAYERINFORESPONSE_AMOUNT_FIELD, GETPLAYERINFORESPONSE_VIPDAILY_FIELD, GETPLAYERINFORESPONSE_MISSINGREFRESHCOUNT_FIELD, GETPLAYERINFORESPONSE_MONTHINFOS_FIELD, GETPLAYERINFORESPONSE_DAILYCHALLENGEINFO_FIELD, GETPLAYERINFORESPONSE_EXPEDITIONLEVE_FIELD, GETPLAYERINFORESPONSE_HADLUCKTIME_FIELD, GETPLAYERINFORESPONSE_HADADVANCELUCKTIME_FIELD, GETPLAYERINFORESPONSE_WORLDLEVE_FIELD, GETPLAYERINFORESPONSE_DEMONSTRIALREWARDINFO_FIELD, GETPLAYERINFORESPONSE_HEADFRAMEBAG_FIELD, GETPLAYERINFORESPONSE_USERSKINLIST_FIELD, GETPLAYERINFORESPONSE_USERTITLELIST_FIELD, GETPLAYERINFORESPONSE_USERMOUNTLIST_FIELD, GETPLAYERINFORESPONSE_DAILYREDPACK_FIELD, GETPLAYERINFORESPONSE_PRACTICELEVEL_FIELD, GETPLAYERINFORESPONSE_SEALLIST_FIELD, GETPLAYERINFORESPONSE_RANDOMCOUNT_FIELD, GETPLAYERINFORESPONSE_DRAWTIMES_FIELD, GETPLAYERINFORESPONSE_HELPFIGHTLIST_FIELD, GETPLAYERINFORESPONSE_SIXIANGINFOS_FIELD, GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD}
GETPLAYERINFORESPONSE.fields = {GETPLAYERINFORESPONSE_PLAYER_FIELD, GETPLAYERINFORESPONSE_NEWPLAYERGUIDEPOINT_FIELD, GETPLAYERINFORESPONSE_PRIVILEGE_FIELD, GETPLAYERINFORESPONSE_GIFTGOODSINFO_FIELD, GETPLAYERINFORESPONSE_BUYGOODSID_FIELD, GETPLAYERINFORESPONSE_SUDDENLYBOSSINFO_FIELD, GETPLAYERINFORESPONSE_VIPLEVETAKE_FIELD, GETPLAYERINFORESPONSE_USERCREATETIME_FIELD, GETPLAYERINFORESPONSE_REDTYPE_FIELD, GETPLAYERINFORESPONSE_RANDCOUNT_FIELD, GETPLAYERINFORESPONSE_HEROHANDBOOK_FIELD, GETPLAYERINFORESPONSE_EQUIPHANDBOOK_FIELD, GETPLAYERINFORESPONSE_TOWERRECEIVEDREWARD_FIELD, GETPLAYERINFORESPONSE_GOODSTYPEDURATION_FIELD, GETPLAYERINFORESPONSE_TREASURELEVEL_FIELD, GETPLAYERINFORESPONSE_HADBUYTREASURE_FIELD, GETPLAYERINFORESPONSE_SIGNININFO_FIELD, GETPLAYERINFORESPONSE_FIRSTTENTH_FIELD, GETPLAYERINFORESPONSE_MONSTERATTACKTIME_FIELD, GETPLAYERINFORESPONSE_ISDAYFIRST_FIELD, GETPLAYERINFORESPONSE_PLAYERBINDPHONE_FIELD, GETPLAYERINFORESPONSE_QUESTIONSTATE_FIELD, GETPLAYERINFORESPONSE_SOULEQUIPPOOL_FIELD, GETPLAYERINFORESPONSE_PLAYEDMAPTYPES_FIELD, GETPLAYERINFORESPONSE_AMOUNT_FIELD, GETPLAYERINFORESPONSE_VIPDAILY_FIELD, GETPLAYERINFORESPONSE_MISSINGREFRESHCOUNT_FIELD, GETPLAYERINFORESPONSE_MONTHINFOS_FIELD, GETPLAYERINFORESPONSE_DAILYCHALLENGEINFO_FIELD, GETPLAYERINFORESPONSE_EXPEDITIONLEVE_FIELD, GETPLAYERINFORESPONSE_HADLUCKTIME_FIELD, GETPLAYERINFORESPONSE_HADADVANCELUCKTIME_FIELD, GETPLAYERINFORESPONSE_WORLDLEVE_FIELD, GETPLAYERINFORESPONSE_DEMONSTRIALREWARDINFO_FIELD, GETPLAYERINFORESPONSE_HEADFRAMEBAG_FIELD, GETPLAYERINFORESPONSE_USERSKINLIST_FIELD, GETPLAYERINFORESPONSE_USERTITLELIST_FIELD, GETPLAYERINFORESPONSE_USERMOUNTLIST_FIELD, GETPLAYERINFORESPONSE_DAILYREDPACK_FIELD, GETPLAYERINFORESPONSE_PRACTICELEVEL_FIELD, GETPLAYERINFORESPONSE_SEALLIST_FIELD, GETPLAYERINFORESPONSE_RANDOMCOUNT_FIELD, GETPLAYERINFORESPONSE_DRAWTIMES_FIELD, GETPLAYERINFORESPONSE_HELPFIGHTLIST_FIELD, GETPLAYERINFORESPONSE_SIXIANGINFOS_FIELD, GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD, GETPLAYERINFORESPONSE_XIUWEILEVEL_FIELD}
GETPLAYERINFORESPONSE.is_extendable = false
GETPLAYERINFORESPONSE.extensions = {}
GETITEMINFOREQUEST_INDEX_FIELD.name = "index"
@ -5650,11 +5664,21 @@ HARDSTAGERESPONSE_INFO_FIELD.message_type = CommonProto_pb.HARDSTAGEINFO
HARDSTAGERESPONSE_INFO_FIELD.type = 11
HARDSTAGERESPONSE_INFO_FIELD.cpp_type = 10
HARDSTAGERESPONSE_ISTAKE_FIELD.name = "isTake"
HARDSTAGERESPONSE_ISTAKE_FIELD.full_name = ".rpc.protocols.HardStageResponse.isTake"
HARDSTAGERESPONSE_ISTAKE_FIELD.number = 2
HARDSTAGERESPONSE_ISTAKE_FIELD.index = 1
HARDSTAGERESPONSE_ISTAKE_FIELD.label = 1
HARDSTAGERESPONSE_ISTAKE_FIELD.has_default_value = false
HARDSTAGERESPONSE_ISTAKE_FIELD.default_value = false
HARDSTAGERESPONSE_ISTAKE_FIELD.type = 8
HARDSTAGERESPONSE_ISTAKE_FIELD.cpp_type = 7
HARDSTAGERESPONSE.name = "HardStageResponse"
HARDSTAGERESPONSE.full_name = ".rpc.protocols.HardStageResponse"
HARDSTAGERESPONSE.nested_types = {}
HARDSTAGERESPONSE.enum_types = {}
HARDSTAGERESPONSE.fields = {HARDSTAGERESPONSE_INFO_FIELD}
HARDSTAGERESPONSE.fields = {HARDSTAGERESPONSE_INFO_FIELD, HARDSTAGERESPONSE_ISTAKE_FIELD}
HARDSTAGERESPONSE.is_extendable = false
HARDSTAGERESPONSE.extensions = {}
HARDSTAGEFIGHTREQUEST_NODEID_FIELD.name = "nodeId"
@ -5813,6 +5837,24 @@ HARDSTAGEREPORTRESPONSE.enum_types = {}
HARDSTAGEREPORTRESPONSE.fields = {HARDSTAGEREPORTRESPONSE_PLAYER_FIELD}
HARDSTAGEREPORTRESPONSE.is_extendable = false
HARDSTAGEREPORTRESPONSE.extensions = {}
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.name = "drop"
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.full_name = ".rpc.protocols.HardStageDailyRewardResponse.drop"
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.number = 1
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.index = 0
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.label = 1
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.has_default_value = false
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.default_value = nil
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.message_type = CommonProto_pb.DROP
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.type = 11
HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD.cpp_type = 10
HARDSTAGEDAILYREWARDRESPONSE.name = "HardStageDailyRewardResponse"
HARDSTAGEDAILYREWARDRESPONSE.full_name = ".rpc.protocols.HardStageDailyRewardResponse"
HARDSTAGEDAILYREWARDRESPONSE.nested_types = {}
HARDSTAGEDAILYREWARDRESPONSE.enum_types = {}
HARDSTAGEDAILYREWARDRESPONSE.fields = {HARDSTAGEDAILYREWARDRESPONSE_DROP_FIELD}
HARDSTAGEDAILYREWARDRESPONSE.is_extendable = false
HARDSTAGEDAILYREWARDRESPONSE.extensions = {}
VIPLEVELSTATEREQUSET.name = "VipLevelStateRequset"
VIPLEVELSTATEREQUSET.full_name = ".rpc.protocols.VipLevelStateRequset"
VIPLEVELSTATEREQUSET.nested_types = {}
@ -6347,6 +6389,7 @@ GetSomeActitityInfoRespone = protobuf.Message(GETSOMEACTITITYINFORESPONE)
GetSomeActivityInfoRequest = protobuf.Message(GETSOMEACTIVITYINFOREQUEST)
GetStoreInfosResponse = protobuf.Message(GETSTOREINFOSRESPONSE)
GetWorkShopInfoResponse = protobuf.Message(GETWORKSHOPINFORESPONSE)
HardStageDailyRewardResponse = protobuf.Message(HARDSTAGEDAILYREWARDRESPONSE)
HardStageFightRequest = protobuf.Message(HARDSTAGEFIGHTREQUEST)
HardStageFightResponse = protobuf.Message(HARDSTAGEFIGHTRESPONSE)
HardStageReportRequset = protobuf.Message(HARDSTAGEREPORTREQUSET)

View File

@ -84,6 +84,9 @@ function this.OnShowPanel()
end,true,true)
local curIndex = FightLevelManager.GetCurChapterId()
this.ScrollView:SetShow(curIndex)
-- 设置每日奖励显示
this:SetDailyRewardShow()
end
function this.SingleChapterDataShow(go, data)

View File

@ -54,7 +54,7 @@ function this.UpdataChapterData(msg,_isShowChapterOpenPopup)
if msg then
for i = 1, #msg.chapter do
local singleHardStageChapter = allChapterData[msg.chapter[i].chapterId]
-- Log("chapterId:"..msg.chapter[i].chapterId.." stars"..msg.chapter[i].stars.." node"..#msg.chapter[i].node.."reward:"..#msg.chapter[i].reward.." needStars:"..singleHardStageChapter.stars)
Log("chapterId:"..msg.chapter[i].chapterId)--.." stars"..msg.chapter[i].stars.." node"..#msg.chapter[i].node.."reward:"..#msg.chapter[i].reward.." needStars:"..singleHardStageChapter.stars)
singleHardStageChapter.chapterId = msg.chapter[i].chapterId
if singleHardStageChapter.chapterId > oldChapterId and _isShowChapterOpenPopup then
this.SetisShowChapterOpenPopup(true)
@ -86,9 +86,6 @@ function this.UpdataChapterData(msg,_isShowChapterOpenPopup)
end
CheckRedPointStatus(RedPointType.FightLevelBoxReward)
PracticeManager.StarNum = FightLevelManager.GetAllChapterStars()
-- 设置每日奖励数据
this.SetDailyRewardData({state = 0})
end
end
--获取整个章节信息
@ -354,11 +351,15 @@ end
-- 设置山河社稷图每日奖励数据
local _DailyRewardData = {}
function this.SetDailyRewardData(data)
function this.SetDailyRewardData(msg)
Log("山河每日奖励:"..tostring(msg.isTake))
_DailyRewardData = {}
_DailyRewardData.state = data.state -- 0 未领取 1 已领取
_DailyRewardData.state = msg.isTake and 1 or 0 -- 0 未领取 1 已领取
-- 刷新红点状态
CheckRedPointStatus(RedPointType.FightLevelDailyReward)
-- 触发状态改变
Game.GlobalEvent:DispatchEvent(GameEvent.FightLevel.DailyRewardStateChange)
end
function this.GetDailyRewardData()
return _DailyRewardData
@ -370,11 +371,15 @@ function this.RequestGetDailyReward()
PopupTipPanel.ShowTip("今日已领取,请明日再来!")
return
end
_DailyRewardData.state = 1
-- 刷新红点状态
CheckRedPointStatus(RedPointType.FightLevelDailyReward)
-- 触发状态改变
Game.GlobalEvent:DispatchEvent(GameEvent.FightLevel.DailyRewardStateChange)
NetManager.GetHardStageDailyReward(function(msg)
_DailyRewardData.state = 1
-- 刷新红点状态
CheckRedPointStatus(RedPointType.FightLevelDailyReward)
-- 触发状态改变
Game.GlobalEvent:DispatchEvent(GameEvent.FightLevel.DailyRewardStateChange)
-- 显示掉落
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1)
end)
end

View File

@ -982,6 +982,7 @@ function this.HardStageResponse(buffer)
local msg = PlayerInfoProto_pb.HardStageResponse()
msg:ParseFromString(data)
FightLevelManager.UpdataChapterData(msg.info,true)
FightLevelManager.SetDailyRewardData(msg)
end
--神印信息推送

View File

@ -5409,15 +5409,16 @@ end
function NetManager.HardStageRequest(func)
local data = PlayerInfoProto_pb.HardStageRequest()
local msg = data:SerializeToString()
Network:SendMessageWithCallBack(MessageTypeProto_pb.HARD_STAGE_INFO_REQUEST, MessageTypeProto_pb.HARD_STAGE_INFO_RESPONSE, msg, function(buffer)
Network:SendMessageWithCallBack(MessageTypeProto_pb.HARD_STAGE_INFO_REQUEST, MessageTypeProto_pb.HARD_STAGE_INFO_RESPONSE, msg, function(buffer)
local data = buffer:DataByte()
local msg = PlayerInfoProto_pb.HardStageResponse()
msg:ParseFromString(data)
FightLevelManager.UpdataChapterData(msg.info)
FightLevelManager.SetDailyRewardData(msg)
if func then
func(msg)
end
end)
end)
end
--山河社稷图领取宝箱奖励
function NetManager.GetHardStageChapterReward(_chapterId,_rewradId,func)
@ -5434,6 +5435,17 @@ function NetManager.GetHardStageChapterReward(_chapterId,_rewradId,func)
end
end)
end
--山河社稷图领取每日奖励
function NetManager.GetHardStageDailyReward(func)
Network:SendMessageWithCallBack(MessageTypeProto_pb.HARD_STAGE_TAKE_DAILY_REWAR_REQUEST, MessageTypeProto_pb.HARD_STAGE_TAKE_DAILY_REWAR_RESPONSE, nil, function(buffer)
local data = buffer:DataByte()
local msg = PlayerInfoProto_pb.HardStageDailyRewardResponse()
msg:ParseFromString(data)
if func then
func(msg)
end
end)
end
--vip特权奖励初始化
function NetManager.VipLevelStateRequset(func)
local data = PlayerInfoProto_pb.VipLevelStateRequset()