天宫秘宝报错修改
parent
51abf7d496
commit
4a452addd1
|
@ -189,8 +189,8 @@ end
|
|||
|
||||
--大闹天宫入口是否开启
|
||||
function ExpeditionMainPanel:IsTreasureOpen()
|
||||
self.Btn4:SetActive(TreasureOfHeavenManger.GetLimitTime() ~= -1)
|
||||
Util.GetGameObject(self.parent, "upLeftGo/Image"):SetActive(TreasureOfHeavenManger.GetLimitTime() ~= -1)
|
||||
self.Btn4:SetActive(TreasureOfHeavenManger.resetTime ~= -1)
|
||||
Util.GetGameObject(self.parent, "upLeftGo/Image"):SetActive(TreasureOfHeavenManger.resetTime ~= -1)
|
||||
end
|
||||
|
||||
--实例化层数信息
|
||||
|
|
|
@ -765,11 +765,9 @@ function this.TreasureStateIndicaion(buffer)
|
|||
local msg = Expedition_pb.TreasureStateIndicaion()--ExpeditionResetIndication()
|
||||
msg:ParseFromString(data)
|
||||
-- LogGreen("msg.score :"..msg.score.." msg.resetTime:"..msg.resetTime)
|
||||
TreasureOfHeavenManger.SetScore(msg.score)
|
||||
TreasureOfHeavenManger.SetLimitTime(msg.resetTime)
|
||||
for i = 1, #msg.treasureRewardState do
|
||||
TreasureOfHeavenManger. SetSingleRewardState(msg.treasureRewardState[i].id,msg.treasureRewardState[i].state)
|
||||
end
|
||||
TreasureOfHeavenManger.UpdateData(msg)
|
||||
LogPink("推回来的数据长度"..#msg.treasureRewardState)
|
||||
|
||||
end
|
||||
function this.GuildTranscriptIndication(buffer)
|
||||
local data = buffer:DataByte()
|
||||
|
|
|
@ -4189,9 +4189,7 @@ function NetManager.TreasureOfHeavenScoreRequest(func)
|
|||
local data = buffer:DataByte()
|
||||
local msg = Expedition_pb.ExpeditionTreasureInfoResponse()
|
||||
msg:ParseFromString(data)
|
||||
TreasureOfHeavenManger.SetScore(msg.score)
|
||||
TreasureOfHeavenManger.SetLimitTime(msg.resetTime)
|
||||
TreasureOfHeavenManger.SetState(msg.treasureRewardState)
|
||||
TreasureOfHeavenManger.UpdateData(msg)
|
||||
if func then
|
||||
func(msg)
|
||||
end
|
||||
|
|
|
@ -54,7 +54,7 @@ function this:OnShow(_parent,...)
|
|||
local temp = {...}
|
||||
curType = temp[1]
|
||||
if curType == 1 then
|
||||
rewardStateData = TreasureOfHeavenManger.GetState()
|
||||
rewardStateData = TreasureOfHeavenManger.rewardStateData
|
||||
rewardData = TreasureOfHeavenManger.GetAllRewardData()
|
||||
this:showRewardTianGong()
|
||||
this.tip.text = Language[12366]
|
||||
|
@ -84,8 +84,10 @@ function this:showRewardTianGong()
|
|||
|
||||
local direct = {}
|
||||
local indirect ={}
|
||||
local curScore = TreasureOfHeavenManger.GetScore()--当前分数
|
||||
local curScore = TreasureOfHeavenManger.curScore--当前分数
|
||||
|
||||
LogPink("sssss"..#rewardData)
|
||||
LogBlue("aaaaaa"..#rewardStateData)
|
||||
for i = 1, #rewardData do
|
||||
if curScore >= rewardData[i].Integral then
|
||||
if rewardStateData[i].state == 1 or rewardStateData[i].state == 0 then--已达成但不能领取的
|
||||
|
|
|
@ -1,23 +1,36 @@
|
|||
TreasureOfHeavenManger = {}
|
||||
local this = TreasureOfHeavenManger
|
||||
local WorldBossTreasureConfig = ConfigManager.GetConfig(ConfigName.WorldBossTreasureConfig)
|
||||
local ConfigData = ConfigManager.GetConfig(ConfigName.WorldBossTreasureConfig)
|
||||
|
||||
local curScore--当前分数
|
||||
local limitTime--倒计时
|
||||
local rewardStateData = {}--各个任务状态数据
|
||||
local rewardData = {}--表内活动任务数据
|
||||
this.curScore = 0--当前分数
|
||||
this.resetTime = 0--倒计时
|
||||
this.rewardStateData = {}--各个任务状态数据
|
||||
-- local rewardData = {}--表内活动任务数据
|
||||
this.TreasrueState = nil--礼包购买状态
|
||||
|
||||
function this.Initialize()
|
||||
rewardData = {}
|
||||
for i, v in ConfigPairs(WorldBossTreasureConfig) do
|
||||
table.insert(rewardData, v)
|
||||
function this.UpdateData(msg)
|
||||
-- rewardData = {}
|
||||
-- for i, v in ConfigPairs(ConfigData) do
|
||||
-- table.insert(rewardData, v)
|
||||
-- end
|
||||
if msg.score then
|
||||
this.curScore = msg.score
|
||||
end
|
||||
if msg.resetTime then
|
||||
this.resetTime = msg.resetTime
|
||||
end
|
||||
if msg.treasureRewardState then
|
||||
if #msg.treasureRewardState == 1 then
|
||||
for i = 1, #this.rewardStateData do
|
||||
if this.rewardStateData[i].id == msg.treasureRewardState.id then
|
||||
this.rewardStateData[i].state = msg.treasureRewardState.state
|
||||
end
|
||||
end
|
||||
elseif #msg.treasureRewardState > 1 then
|
||||
this.rewardStateData = msg.treasureRewardState
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function this.GetTreasureState()
|
||||
this.TreasrueState = OperatingManager.GetGoodsBuyTime(GoodsTypeDef.TreasureOfHeaven,106)
|
||||
return this.TreasrueState
|
||||
end
|
||||
|
||||
function this.SetTreasureState()
|
||||
|
@ -25,45 +38,29 @@ function this.SetTreasureState()
|
|||
return this.TreasrueState
|
||||
end
|
||||
|
||||
function this.SetScore(score)
|
||||
curScore = score
|
||||
end
|
||||
function this.GetScore()
|
||||
return curScore
|
||||
end
|
||||
|
||||
function this.SetLimitTime(time)
|
||||
limitTime = time
|
||||
end
|
||||
function this.GetLimitTime()
|
||||
return limitTime
|
||||
end
|
||||
|
||||
function this.SetState(treasureRewardState)
|
||||
rewardStateData = {}
|
||||
for i, v in ipairs(treasureRewardState) do
|
||||
table.insert(rewardStateData, v)
|
||||
end
|
||||
end
|
||||
function this.GetState()
|
||||
return rewardStateData
|
||||
end
|
||||
|
||||
function this.SetSingleRewardState(id,state)
|
||||
for i = 1, #rewardStateData do
|
||||
if(rewardStateData[i].id == id)then
|
||||
rewardStateData[i].state = state
|
||||
for i = 1, #this.rewardStateData do
|
||||
if(this.rewardStateData[i].id == id)then
|
||||
this.rewardStateData[i].state = state
|
||||
end
|
||||
end
|
||||
CheckRedPointStatus(RedPointType.Expedition_Treasure)
|
||||
end
|
||||
|
||||
function this.GetAllRewardData()
|
||||
return rewardData
|
||||
local data={}
|
||||
for i = 1, #this.rewardStateData do
|
||||
for k, v in ConfigPairs(ConfigData) do
|
||||
if this.rewardStateData[i].id == v.Id then
|
||||
table.insert(data, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
return data
|
||||
end
|
||||
--红点检测
|
||||
function this.RedPointState(singleRewardData,TreasrueState)
|
||||
if curScore >= rewardData[singleRewardData.id].Integral then
|
||||
if this.curScore >= ConfigData[singleRewardData.id].Integral then
|
||||
if singleRewardData.state==0 and this.TreasrueState==1 or
|
||||
singleRewardData.state==1 and this.TreasrueState==1 or
|
||||
singleRewardData.state==0 and this.TreasrueState==0 then
|
||||
|
@ -75,12 +72,16 @@ function this.RedPointState(singleRewardData,TreasrueState)
|
|||
end
|
||||
|
||||
function this.RedPoint()
|
||||
for i =1, #rewardStateData do
|
||||
local data={}
|
||||
for i, v in ConfigPairs(ConfigData) do
|
||||
table.insert(data, v)
|
||||
end
|
||||
for i =1, #this.rewardStateData do
|
||||
local curTreasrueState = OperatingManager.GetGoodsBuyTime(GoodsTypeDef.TreasureOfHeaven,106)
|
||||
if curScore >= rewardData[rewardStateData[i].id].Integral then
|
||||
if rewardStateData[i].state==0 and curTreasrueState==1 or
|
||||
rewardStateData[i].state==1 and curTreasrueState==1 or
|
||||
rewardStateData[i].state==0 and curTreasrueState==0 then
|
||||
if this.curScore >= ConfigData[this.rewardStateData[i].id].Integral then
|
||||
if this.rewardStateData[i].state==0 and curTreasrueState==1 or
|
||||
this.rewardStateData[i].state==1 and curTreasrueState==1 or
|
||||
this.rewardStateData[i].state==0 and curTreasrueState==0 then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
require("Base/BasePanel")
|
||||
local TreasureOfHeavenPanel = Inherit(BasePanel)
|
||||
local this = TreasureOfHeavenPanel
|
||||
local curScore = 0--当前分数
|
||||
local rewardStateData = {}
|
||||
-- local curScore = 0--当前分数
|
||||
-- local rewardStateData = {}
|
||||
local treasureState = nil
|
||||
local rewardData--表内活动数据
|
||||
local rewardData--后端活动数据
|
||||
local ConfigData = ConfigManager.GetConfig(ConfigName.WorldBossTreasureConfig)
|
||||
|
||||
--初始化组件(用于子类重写)
|
||||
function TreasureOfHeavenPanel:InitComponent()
|
||||
|
@ -67,23 +68,19 @@ end
|
|||
-- 打开,重新打开时回调
|
||||
function TreasureOfHeavenPanel:OnShow()
|
||||
this.tips.text = Language[11988]
|
||||
this.time.text=TimeToDHMS(TreasureOfHeavenManger.GetLimitTime()-GetTimeStamp())
|
||||
this.time.text=TimeToDHMS(TreasureOfHeavenManger.resetTime - GetTimeStamp())
|
||||
TreasureOfHeavenPanel:ShowTime()
|
||||
TreasureOfHeavenPanel:refresh()
|
||||
end
|
||||
|
||||
function TreasureOfHeavenPanel:refresh()
|
||||
rewardData = TreasureOfHeavenManger.GetAllRewardData()
|
||||
treasureState = TreasureOfHeavenManger.GetTreasureState()--秘宝礼包状态 0:可购买 1:已购买
|
||||
rewardStateData = TreasureOfHeavenManger.GetState()--任务状态
|
||||
if #rewardStateData <= 0 then
|
||||
curScore = TreasureOfHeavenManger.GetScore()--当前分数
|
||||
rewardStateData = TreasureOfHeavenManger.GetState()--任务状态
|
||||
|
||||
treasureState = TreasureOfHeavenManger.TreasrueState
|
||||
rewardData = TreasureOfHeavenManger.rewardStateData
|
||||
LogGreen("#rewardData长度:"..#rewardData)
|
||||
if #TreasureOfHeavenManger.rewardStateData <= 0 then
|
||||
TreasureOfHeavenPanel:topBar()
|
||||
TreasureOfHeavenPanel:showTaskList()
|
||||
else
|
||||
curScore = TreasureOfHeavenManger.GetScore()--当前分数
|
||||
TreasureOfHeavenPanel:topBar()
|
||||
TreasureOfHeavenPanel:showTaskList()
|
||||
end
|
||||
|
@ -101,8 +98,7 @@ function TreasureOfHeavenPanel:topBar()
|
|||
UIManager.OpenPanel(UIName.GeneralPopup,GENERAL_POPUP_TYPE.HeavenUnlockExtraRewardPanel,1)
|
||||
end)
|
||||
end
|
||||
|
||||
this.scoreText.text = curScore
|
||||
this.scoreText.text = TreasureOfHeavenManger.curScore
|
||||
end
|
||||
|
||||
|
||||
|
@ -114,16 +110,16 @@ function TreasureOfHeavenPanel:showTaskList()
|
|||
|
||||
--定位打开界面时位置
|
||||
local t = 0
|
||||
if treasureState == 0 then
|
||||
for i = 1, #rewardStateData do
|
||||
if rewardStateData[i].state == 0 then
|
||||
if TreasureOfHeavenManger.TreasrueState == 0 then
|
||||
for i = 1, #rewardData do
|
||||
if rewardData[i].state == 0 then
|
||||
t = i
|
||||
break
|
||||
end
|
||||
end
|
||||
elseif treasureState == 1 then
|
||||
for i = 1, #rewardStateData do
|
||||
if rewardStateData[i].state == 1 or rewardStateData[i].state == 0 then
|
||||
elseif TreasureOfHeavenManger.TreasrueState == 1 then
|
||||
for i = 1, #rewardData do
|
||||
if rewardData[i].state == 1 or rewardData[i].state == 0 then
|
||||
t = i
|
||||
break
|
||||
end
|
||||
|
@ -134,7 +130,7 @@ end
|
|||
|
||||
local itemsList={}
|
||||
--单个任务
|
||||
function TreasureOfHeavenPanel:SingleTask(rewardItem, rewardSingleData)
|
||||
function TreasureOfHeavenPanel:SingleTask(rewardItem, singleData)
|
||||
local scoreLevel = Util.GetGameObject(rewardItem, "scoreLevel"):GetComponent("Text")
|
||||
local pos1 = Util.GetGameObject(rewardItem, "itemPos_1")
|
||||
local pos3 = Util.GetGameObject(rewardItem, "itemPos_3")
|
||||
|
@ -147,16 +143,16 @@ function TreasureOfHeavenPanel:SingleTask(rewardItem, rewardSingleData)
|
|||
itemsList[rewardItem] ={item1,item3,item4}
|
||||
end
|
||||
|
||||
scoreLevel.text = rewardSingleData.Integral
|
||||
itemsList[rewardItem][1]:OnOpen(false, {rewardSingleData.Reward[1][1], rewardSingleData.Reward[1][2]}, 0.8, false)
|
||||
itemsList[rewardItem][2]:OnOpen(false, {rewardSingleData.TreasureReward[1][1], rewardSingleData.TreasureReward[1][2]}, 0.8, false)
|
||||
itemsList[rewardItem][3]:OnOpen(false, {rewardSingleData.TreasureReward[2][1], rewardSingleData.TreasureReward[2][2]}, 0.8, false)
|
||||
scoreLevel.text = ConfigData[singleData.id].Integral
|
||||
itemsList[rewardItem][1]:OnOpen(false, {ConfigData[singleData.id].Reward[1][1], ConfigData[singleData.id].Reward[1][2]}, 0.8, false)
|
||||
itemsList[rewardItem][2]:OnOpen(false, {ConfigData[singleData.id].TreasureReward[1][1], ConfigData[singleData.id].TreasureReward[1][2]}, 0.8, false)
|
||||
itemsList[rewardItem][3]:OnOpen(false, {ConfigData[singleData.id].TreasureReward[2][1], ConfigData[singleData.id].TreasureReward[2][2]}, 0.8, false)
|
||||
|
||||
--初始化按钮状态
|
||||
TreasureOfHeavenPanel:InitButtonState(rewardItem, rewardSingleData)
|
||||
TreasureOfHeavenPanel:InitButtonState(rewardItem, singleData)
|
||||
end
|
||||
--初始化按钮状态
|
||||
function TreasureOfHeavenPanel:InitButtonState(rewardItem, rewardSingleData)
|
||||
function TreasureOfHeavenPanel:InitButtonState(rewardItem, singleData)
|
||||
|
||||
local btnDeal = Util.GetGameObject(rewardItem, "btnDeal")
|
||||
local get = Util.GetGameObject(rewardItem, "btnDeal/get")
|
||||
|
@ -165,9 +161,9 @@ function TreasureOfHeavenPanel:InitButtonState(rewardItem, rewardSingleData)
|
|||
local finished = Util.GetGameObject(rewardItem, "finished")
|
||||
local redPoint = Util.GetGameObject(rewardItem, "btnDeal/redPoint")
|
||||
--当前任务领取情况
|
||||
local state = rewardStateData[rewardSingleData.Id].state
|
||||
local state = singleData.state
|
||||
--判断
|
||||
if curScore >= rewardSingleData.Integral then
|
||||
if TreasureOfHeavenManger.curScore >= ConfigData[singleData.id].Integral then
|
||||
if (state == -1) then
|
||||
btnDeal.gameObject:SetActive(false)
|
||||
get.gameObject:SetActive(false)
|
||||
|
@ -196,17 +192,17 @@ function TreasureOfHeavenPanel:InitButtonState(rewardItem, rewardSingleData)
|
|||
end
|
||||
--添加点击事件
|
||||
Util.AddOnceClick(btnDeal,function()
|
||||
TreasureOfHeavenPanel:OnBtnDealClicked(rewardItem,rewardSingleData)
|
||||
TreasureOfHeavenPanel:OnBtnDealClicked(rewardItem,singleData)
|
||||
end)
|
||||
|
||||
--红点状态
|
||||
redPoint:SetActive(TreasureOfHeavenManger.RedPointState(rewardStateData[rewardSingleData.Id],treasureState))
|
||||
redPoint:SetActive(TreasureOfHeavenManger.RedPointState(singleData,treasureState))
|
||||
|
||||
end
|
||||
|
||||
|
||||
--按钮事件
|
||||
function TreasureOfHeavenPanel:OnBtnDealClicked(rewardItem,rewardSingleData)
|
||||
function TreasureOfHeavenPanel:OnBtnDealClicked(rewardItem,singleData)
|
||||
|
||||
local btnDeal = Util.GetGameObject(rewardItem, "btnDeal")
|
||||
local get = Util.GetGameObject(rewardItem, "btnDeal/get")
|
||||
|
@ -214,21 +210,21 @@ function TreasureOfHeavenPanel:OnBtnDealClicked(rewardItem,rewardSingleData)
|
|||
local unfinished = Util.GetGameObject(rewardItem, "btnDeal/unfinished")
|
||||
local finished = Util.GetGameObject(rewardItem, "btnDeal/finished")
|
||||
|
||||
if curScore >= rewardSingleData.Integral then--分数达到要求
|
||||
if (rewardStateData[rewardSingleData.Id].state == 0 and treasureState == 0) or--任务未领取+礼包未购买
|
||||
(rewardStateData[rewardSingleData.Id].state == 1 and treasureState == 1) or--任务已领取+礼包已购买
|
||||
(rewardStateData[rewardSingleData.Id].state == 0 and treasureState == 1)then--任务未领取+礼包已购买
|
||||
NetManager.GetTreasureOfHeavenRewardRequest(rewardStateData[rewardSingleData.Id].id,function(msg)
|
||||
if TreasureOfHeavenManger.curScore >= ConfigData[singleData.id].Integral then--分数达到要求
|
||||
if (singleData.state == 0 and treasureState == 0) or--任务未领取+礼包未购买
|
||||
(singleData.state == 1 and treasureState == 1) or--任务已领取+礼包已购买
|
||||
(singleData.state == 0 and treasureState == 1)then--任务未领取+礼包已购买
|
||||
NetManager.GetTreasureOfHeavenRewardRequest(singleData.id,function(msg)
|
||||
UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop,1)
|
||||
--需要刷新界面
|
||||
if treasureState == 0 then--判断是否已经购买了礼包
|
||||
TreasureOfHeavenManger.SetSingleRewardState(rewardStateData[rewardSingleData.Id].id,1)
|
||||
TreasureOfHeavenManger.SetSingleRewardState(singleData.id,1)
|
||||
else
|
||||
TreasureOfHeavenManger.SetSingleRewardState(rewardStateData[rewardSingleData.Id].id,-1)
|
||||
TreasureOfHeavenManger.SetSingleRewardState(singleData.id,-1)
|
||||
end
|
||||
TreasureOfHeavenPanel:refresh()--刷新界面
|
||||
end)
|
||||
elseif rewardStateData[rewardSingleData.Id].state == 1 and treasureState == 0 then----任务已领取+礼包未购买(弹出购买界面)
|
||||
elseif singleData.state == 1 and treasureState == 0 then----任务已领取+礼包未购买(弹出购买界面)
|
||||
UIManager.OpenPanel(UIName.GeneralPopup,GENERAL_POPUP_TYPE.HeavenUnlockExtraRewardPanel,1)
|
||||
end
|
||||
else--分数未达到要求
|
||||
|
@ -241,13 +237,13 @@ function TreasureOfHeavenPanel:ShowTime()
|
|||
self.localTimer:Stop()
|
||||
self.localTimer = nil
|
||||
end
|
||||
local t = TreasureOfHeavenManger.GetLimitTime()
|
||||
local t = TreasureOfHeavenManger.resetTime
|
||||
local time
|
||||
self.localTimer = Timer.New(function()
|
||||
time = t-GetTimeStamp()
|
||||
if t-GetTimeStamp() <= 0 then
|
||||
time = t - GetTimeStamp()
|
||||
if t - GetTimeStamp() <= 0 then
|
||||
time = 0
|
||||
t = TreasureOfHeavenManger.GetLimitTime()
|
||||
t = TreasureOfHeavenManger.resetTime
|
||||
treasureState = nil
|
||||
TreasureOfHeavenPanel:refresh()
|
||||
end
|
||||
|
@ -266,7 +262,7 @@ end
|
|||
|
||||
--界面销毁时调用(用于子类重写)
|
||||
function TreasureOfHeavenPanel:OnDestroy()
|
||||
rewardStateData = {}
|
||||
rewardData = {}
|
||||
end
|
||||
|
||||
return TreasureOfHeavenPanel
|
Loading…
Reference in New Issue