【寻宝】 优化 加锁 1
parent
35f211a2a4
commit
1227e93456
File diff suppressed because it is too large
Load Diff
|
@ -45,6 +45,7 @@ this.hadTakeBox = {}--竞技场宝箱数据
|
|||
function this.ReceiveBaseArenaData(msg)
|
||||
this.ArenaInfo = msg.arenaInfo
|
||||
this.EnemyList = msg.arenaInfo.arenaEnemys
|
||||
-- this.hadTakeBox = {}
|
||||
for i = 1, #msg.arenaInfo.hadTakeBox do
|
||||
this.hadTakeBox[msg.arenaInfo.hadTakeBox[i]] = msg.arenaInfo.hadTakeBox[i]
|
||||
end
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require("Base/BasePanel")
|
||||
FindTreasureMainPanel = Inherit(BasePanel)
|
||||
local findTreasureGrid = {}
|
||||
-- local findTreasureGrid = {}
|
||||
local findTreasureItemsGrid = {}
|
||||
local timer = Timer.New()
|
||||
local missionInfo = {}
|
||||
|
@ -19,16 +19,26 @@ function FindTreasureMainPanel:InitComponent()
|
|||
self.findTreasureVipBtn = Util.GetGameObject(self.gameObject, "FindTreasureVipBtn")
|
||||
self.findTreasureVipBtnRedPoint = Util.GetGameObject(self.gameObject, "FindTreasureVipBtn/redPoint")
|
||||
self.allGetBtn = Util.GetGameObject(self.gameObject, "allGetBtn")
|
||||
self.findTreasureGridGo = Util.GetGameObject(self.gameObject, "rect/rect (1)/grid")
|
||||
-- self.findTreasureGridGo = Util.GetGameObject(self.gameObject, "rect/rect (1)/grid")
|
||||
self.rewardPre = Util.GetGameObject(self.gameObject, "rewardPre")
|
||||
for i = 1, 2 do
|
||||
findTreasureGrid[i] = Util.GetGameObject(self.gameObject, "rect/rect (1)/grid/rewardPre ("..i..")")
|
||||
local curexpertRewardItemsGri = {}
|
||||
for j = 1, 4 do
|
||||
curexpertRewardItemsGri[j] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(findTreasureGrid[i], "content").transform)
|
||||
end
|
||||
findTreasureItemsGrid[i] = curexpertRewardItemsGri
|
||||
end
|
||||
-- for i = 1, 2 do
|
||||
-- findTreasureGrid[i] = Util.GetGameObject(self.gameObject, "rect/rect (1)/grid/rewardPre ("..i..")")
|
||||
-- local curexpertRewardItemsGri = {}
|
||||
-- for j = 1, 4 do
|
||||
-- curexpertRewardItemsGri[j] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(findTreasureGrid[i], "content").transform)
|
||||
-- end
|
||||
-- findTreasureItemsGrid[i] = curexpertRewardItemsGri
|
||||
-- end
|
||||
local v = Util.GetGameObject(self.gameObject, "rect/rect (1)"):GetComponent("RectTransform").rect
|
||||
self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(self.gameObject, "rect/rect (1)").transform,
|
||||
self.rewardPre, nil, Vector2.New(v.width, v.height), 1, 1, Vector2.New(0,-5))
|
||||
self.ScrollView.moveTween.MomentumAmount = 1
|
||||
self.ScrollView.moveTween.Strength = 1
|
||||
self.NoviceItemList={}--存储itemview 重复利用
|
||||
self.goAndDataList={}--存储goAndData 倒计时用
|
||||
|
||||
|
||||
|
||||
self.FindTreasureVipIcon = Util.GetGameObject(self.gameObject, "FindTreasureVipBtn/icon"):GetComponent("Image")
|
||||
self.FindTreasureVipTextIcon = Util.GetGameObject(self.gameObject, "FindTreasureVipBtn/icon/icon (1)"):GetComponent("Image")
|
||||
self.FindTreasureVipText = Util.GetGameObject(self.gameObject, "FindTreasureVipBtn/Text"):GetComponent("Text")
|
||||
|
@ -153,11 +163,18 @@ function FindTreasureMainPanel:OnShow()
|
|||
end
|
||||
function FindTreasureMainPanel:OnSortingOrderChange()
|
||||
--特效穿透签到
|
||||
for i = 1, #findTreasureItemsGrid do
|
||||
for j = 1, #findTreasureItemsGrid[i] do
|
||||
findTreasureItemsGrid[i][j]:SetEffectLayer(self.sortingOrder)
|
||||
-- for i = 1, #findTreasureItemsGrid do
|
||||
-- for j = 1, #findTreasureItemsGrid[i] do
|
||||
-- findTreasureItemsGrid[i][j]:SetEffectLayer(self.sortingOrder)
|
||||
-- end
|
||||
-- end
|
||||
for i, v in pairs(self.NoviceItemList) do
|
||||
for j = 1, #self.NoviceItemList[i] do
|
||||
if self.NoviceItemList[i][j] and self.NoviceItemList[i][j].gameObject then
|
||||
self.NoviceItemList[i][j]:SetEffectLayer(self.sortingOrder)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Util.AddParticleSortLayer(self.FindTreasureVipEffect, self.sortingOrder - orginLayer)
|
||||
orginLayer = self.sortingOrder
|
||||
end
|
||||
|
@ -171,25 +188,29 @@ function FindTreasureMainPanel:OnShowPanelData(isSort)
|
|||
if isSort then
|
||||
self:MissionInfoSort(missionInfo)
|
||||
end
|
||||
for i = 1, math.max(#missionInfo, #findTreasureGrid) do
|
||||
local go = findTreasureGrid[i]
|
||||
if not go then
|
||||
go = newObject(self.rewardPre)
|
||||
go.transform:SetParent(self.findTreasureGridGo.transform)
|
||||
go.transform.localScale = Vector3.one
|
||||
go.transform.localPosition = Vector3.zero
|
||||
go.name = "rewardPre ("..i..")"
|
||||
findTreasureGrid[i] = go
|
||||
findTreasureItemsGrid[i] = {}
|
||||
end
|
||||
go.gameObject:SetActive(false)
|
||||
end
|
||||
for i = 1, #missionInfo do
|
||||
self:ActivityRewardSingleShow(i,missionInfo[i])
|
||||
end
|
||||
-- for i = 1, math.max(#missionInfo, #findTreasureGrid) do
|
||||
-- local go = findTreasureGrid[i]
|
||||
-- if not go then
|
||||
-- go = newObject(self.rewardPre)
|
||||
-- go.transform:SetParent(self.findTreasureGridGo.transform)
|
||||
-- go.transform.localScale = Vector3.one
|
||||
-- go.transform.localPosition = Vector3.zero
|
||||
-- go.name = "rewardPre ("..i..")"
|
||||
-- findTreasureGrid[i] = go
|
||||
-- findTreasureItemsGrid[i] = {}
|
||||
-- end
|
||||
-- go.gameObject:SetActive(false)
|
||||
-- end
|
||||
-- for i = 1, #missionInfo do
|
||||
-- self:ActivityRewardSingleShow(i,missionInfo[i])
|
||||
-- end
|
||||
self.ScrollView:SetData(missionInfo, function (index, go)
|
||||
self:ActivityRewardSingleShow(go,missionInfo[index])
|
||||
end)
|
||||
|
||||
if isFirstOpen then
|
||||
isFirstOpen = false
|
||||
self.findTreasureGridGo:GetComponent("RectTransform").anchoredPosition = Vector2.New(0, 0)
|
||||
-- self.findTreasureGridGo:GetComponent("RectTransform").anchoredPosition = Vector2.New(0, 0)
|
||||
end
|
||||
self:RemainTimeDown()
|
||||
|
||||
|
@ -258,15 +279,18 @@ function FindTreasureMainPanel:OnShowPanelData(isSort)
|
|||
end
|
||||
|
||||
--活动奖励2
|
||||
function FindTreasureMainPanel:ActivityRewardSingleShow(index,rewardData)
|
||||
local activityRewardGo = findTreasureGrid[index]
|
||||
function FindTreasureMainPanel:ActivityRewardSingleShow(_activityRewardGo,rewardData)
|
||||
rewardData.lockState = 1
|
||||
local activityRewardGo = _activityRewardGo--findTreasureGrid[index]
|
||||
activityRewardGo:SetActive(true)
|
||||
local sConFigData = ConfigManager.GetConfigData(ConfigName.MazeTreasure,math.floor(rewardData.missionId%10000))
|
||||
local titleText = Util.GetGameObject(activityRewardGo, "titleImage/titleText"):GetComponent("Text")
|
||||
local titleImage = Util.GetGameObject(activityRewardGo, "titleImage"):GetComponent("Image")
|
||||
titleText.text = sConFigData.Desc.." 【"..FindTreasureMissionTitleTypeStr[sConFigData.TaskType].."】"
|
||||
titleImage.sprite = Util.LoadSprite(FindTreasureMissionTitleTypeSprite[sConFigData.TaskType])
|
||||
local content = Util.GetGameObject(activityRewardGo, "content")
|
||||
local lockBtn = Util.GetGameObject(activityRewardGo, "lockBtn").gameObject
|
||||
local lockOpenImage = Util.GetGameObject(lockBtn, "lockOpen")
|
||||
local lockLockImage = Util.GetGameObject(lockBtn, "lockLock")
|
||||
|
||||
--星星数量
|
||||
for n = 1, 6 do
|
||||
|
@ -276,17 +300,32 @@ function FindTreasureMainPanel:ActivityRewardSingleShow(index,rewardData)
|
|||
Util.GetGameObject(activityRewardGo,"star/Image"..m):GetComponent("Image").sprite=Util.LoadSprite(starImage[2])
|
||||
end
|
||||
|
||||
for i = 1, math.max(#sConFigData.Reward, #findTreasureItemsGrid[index]) do
|
||||
local go = findTreasureItemsGrid[index][i]
|
||||
if not go then
|
||||
go = SubUIManager.Open(SubUIConfig.ItemView, content.transform)
|
||||
findTreasureItemsGrid[index][i] = go
|
||||
-- for i = 1, math.max(#sConFigData.Reward, #findTreasureItemsGrid[index]) do
|
||||
-- local go = findTreasureItemsGrid[index][i]
|
||||
-- if not go then
|
||||
-- go = SubUIManager.Open(SubUIConfig.ItemView, content.transform)
|
||||
-- findTreasureItemsGrid[index][i] = go
|
||||
-- end
|
||||
-- go.gameObject:SetActive(false)
|
||||
-- end
|
||||
local itemGroup = Util.GetGameObject(activityRewardGo, "content")
|
||||
self.goAndDataList[activityRewardGo] = {go = activityRewardGo,data = rewardData}
|
||||
--滚动条复用重设itemview
|
||||
if not self.NoviceItemList[activityRewardGo] then
|
||||
self.NoviceItemList[activityRewardGo] = {}
|
||||
end
|
||||
for i = 1, #sConFigData.Reward do
|
||||
if not self.NoviceItemList[activityRewardGo][i] then
|
||||
self.NoviceItemList[activityRewardGo][i] = SubUIManager.Open(SubUIConfig.ItemView, itemGroup.transform)
|
||||
end
|
||||
go.gameObject:SetActive(false)
|
||||
self.NoviceItemList[activityRewardGo][i].gameObject:SetActive(false)
|
||||
|
||||
end
|
||||
for i = 1, #sConFigData.Reward do
|
||||
findTreasureItemsGrid[index][i].gameObject:SetActive(true)
|
||||
findTreasureItemsGrid[index][i]:OnOpen(false,sConFigData.Reward[i],0.77,false,false,false,self.sortingOrder)
|
||||
self.NoviceItemList[activityRewardGo][i]:OnOpen(false, sConFigData.Reward[i], 0.77,false,false,false,self.sortingOrder)
|
||||
self.NoviceItemList[activityRewardGo][i].gameObject:SetActive(true)
|
||||
-- findTreasureItemsGrid[index][i].gameObject:SetActive(true)
|
||||
-- findTreasureItemsGrid[index][i]:OnOpen(false,sConFigData.Reward[i],0.77,false,false,false,self.sortingOrder)
|
||||
end
|
||||
local grtButton = Util.GetGameObject(activityRewardGo.gameObject, "grtButton")
|
||||
local jumpButton = Util.GetGameObject(activityRewardGo.gameObject, "jumpButton")
|
||||
|
@ -298,13 +337,16 @@ function FindTreasureMainPanel:ActivityRewardSingleShow(index,rewardData)
|
|||
local consumeObjImage = Util.GetGameObject(activityRewardGo.gameObject, "consumeObj/Image"):GetComponent("Image")
|
||||
local consumeObjNumText = Util.GetGameObject(activityRewardGo.gameObject, "consumeObj/numText"):GetComponent("Text")
|
||||
local timeTextGo = Util.GetGameObject(activityRewardGo.gameObject, "timeObject")
|
||||
--Log("rewardData "..rewardData.missionId.." "..rewardData.state.." "..sConFigData.Desc)
|
||||
LogGreen("rewardData "..rewardData.missionId.." "..rewardData.state.." "..sConFigData.Desc)
|
||||
timeTextGo:SetActive(rewardData.state == 0 and rewardData.heroId and #rewardData.heroId > 0 )
|
||||
grtButton:SetActive(rewardData.state == 1)
|
||||
jumpButton:SetActive(rewardData.state == 0 and rewardData.heroId and #rewardData.heroId <= 0)
|
||||
getFinishText:SetActive(rewardData.state == 2)
|
||||
consumeObj:SetActive(rewardData.state == 0 and rewardData.heroId and #rewardData.heroId <= 0)
|
||||
quickGetButton:SetActive(rewardData.state == 0 and rewardData.heroId and #rewardData.heroId > 0 )
|
||||
lockBtn:SetActive(rewardData.state == 0 and rewardData.heroId and #rewardData.heroId <= 0)
|
||||
lockLockImage:SetActive(rewardData.lockState == 1)
|
||||
lockOpenImage:SetActive(rewardData.lockState == 0)
|
||||
consumeObjImage.sprite = Util.LoadSprite(GetResourcePath(ConfigManager.GetConfigData(ConfigName.ItemConfig,sConFigData.TakeItem[1]).ResourceID))
|
||||
|
||||
local isJian = PrivilegeManager.GetSerData(155) ~= nil--PrivilegeManager.GetPrivilegeRemainValue(PRIVILEGE_TYPE.FINDTREASURE_EXPERT) > 0
|
||||
|
@ -333,6 +375,20 @@ function FindTreasureMainPanel:ActivityRewardSingleShow(index,rewardData)
|
|||
self:OnShowPanelData(false)
|
||||
end)
|
||||
end)
|
||||
|
||||
Util.AddOnceClick(lockBtn, function()
|
||||
-- NetManager.FindTreasureMissingRoomAccelerateRequest(rewardData.missionId, function()
|
||||
--刷新界面
|
||||
-- TaskManager.RefreshFindTreasureStatrData(rewardData.missionId,1)
|
||||
if rewardData.lockState == 0 then
|
||||
rewardData.lockState = 1
|
||||
else
|
||||
rewardData.lockState = 0
|
||||
end
|
||||
LogPink("rewardData.lockState "..rewardData.lockState)
|
||||
self:ActivityRewardSingleShow(activityRewardGo,rewardData)
|
||||
-- end)
|
||||
end)
|
||||
end
|
||||
--刷新倒计时显示
|
||||
function FindTreasureMainPanel:RemainTimeDown()
|
||||
|
@ -347,21 +403,39 @@ function FindTreasureMainPanel:RemainTimeDown()
|
|||
timer:Start()
|
||||
end
|
||||
function FindTreasureMainPanel:RemainTimeDown2()
|
||||
for i = 1, #missionInfo do
|
||||
if missionInfo[i].state == 0 and #missionInfo[i].heroId > 0 then--未完成 已派遣
|
||||
local timeTextGo = Util.GetGameObject(findTreasureGrid[i], "timeObject/timeText")
|
||||
local timeDown = missionInfo[i].progress - GetTimeStamp()
|
||||
-- for i = 1, #missionInfo do
|
||||
-- if missionInfo[i].state == 0 and #missionInfo[i].heroId > 0 then--未完成 已派遣
|
||||
-- local timeTextGo = Util.GetGameObject(findTreasureGrid[i], "timeObject/timeText")
|
||||
-- local timeDown = missionInfo[i].progress - GetTimeStamp()
|
||||
-- if timeDown > 0 then
|
||||
-- timeTextGo:SetActive(true)
|
||||
-- local cursConFigData = ConfigManager.GetConfigData(ConfigName.MazeTreasure,math.floor(missionInfo[i].missionId%10000))
|
||||
-- local timeText = Util.GetGameObject(findTreasureGrid[i], "timeObject/timeText"):GetComponent("Text")
|
||||
-- local timeExp = Util.GetGameObject(findTreasureGrid[i], "timeObject/exp"):GetComponent("Slider")
|
||||
-- timeExp.value = (1- (timeDown / cursConFigData.WasteTime ))
|
||||
-- timeText.text = self:TimeStampToDateString(timeDown)
|
||||
-- else
|
||||
-- missionInfo[i].state = 1
|
||||
-- timeTextGo:SetActive(false)
|
||||
-- self:ActivityRewardSingleShow(i,missionInfo[i])
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
for key, value in pairs(self.goAndDataList) do
|
||||
if value and value.data and value.data.state == 0 and #value.data.heroId > 0 then--未完成 已派遣
|
||||
local timeTextGo = Util.GetGameObject(value.go, "timeObject/timeText")
|
||||
local timeDown = value.data.progress - GetTimeStamp()
|
||||
if timeDown > 0 then
|
||||
timeTextGo:SetActive(true)
|
||||
local cursConFigData = ConfigManager.GetConfigData(ConfigName.MazeTreasure,math.floor(missionInfo[i].missionId%10000))
|
||||
local timeText = Util.GetGameObject(findTreasureGrid[i], "timeObject/timeText"):GetComponent("Text")
|
||||
local timeExp = Util.GetGameObject(findTreasureGrid[i], "timeObject/exp"):GetComponent("Slider")
|
||||
local cursConFigData = ConfigManager.GetConfigData(ConfigName.MazeTreasure,math.floor(value.data.missionId%10000))
|
||||
local timeText = Util.GetGameObject(value.go, "timeObject/timeText"):GetComponent("Text")
|
||||
local timeExp = Util.GetGameObject(value.go, "timeObject/exp"):GetComponent("Slider")
|
||||
timeExp.value = (1- (timeDown / cursConFigData.WasteTime ))
|
||||
timeText.text = self:TimeStampToDateString(timeDown)
|
||||
else
|
||||
missionInfo[i].state = 1
|
||||
value.data.state = 1
|
||||
timeTextGo:SetActive(false)
|
||||
self:ActivityRewardSingleShow(i,missionInfo[i])
|
||||
self:ActivityRewardSingleShow(value.go,value.data)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue