Update - 1.12.0.120
EN: 1.12.0.120 CN: 1.12.0.120 JP: 1.12.0.124 KR: 1.12.0.124
This commit is contained in:
@@ -1,4 +1,16 @@
|
||||
local DailyQuestCtrl = class("DailyQuestCtrl", BaseCtrl)
|
||||
local appendOrStack = function(tbDst, mapItem, sIdKey, sQtyKey, sExtraKey)
|
||||
if mapItem == nil then
|
||||
return
|
||||
end
|
||||
for _, v in ipairs(tbDst) do
|
||||
if v[sIdKey] == mapItem[sIdKey] and v[sExtraKey] == mapItem[sExtraKey] then
|
||||
v[sQtyKey] = (v[sQtyKey] or 0) + (mapItem[sQtyKey] or 0)
|
||||
return
|
||||
end
|
||||
end
|
||||
table.insert(tbDst, mapItem)
|
||||
end
|
||||
DailyQuestCtrl._mapNodeConfig = {
|
||||
txtActValue = {sComponentName = "TMP_Text"},
|
||||
imgActive = {sComponentName = "Image"},
|
||||
@@ -125,13 +137,15 @@ function DailyQuestCtrl:Refresh(tbDailyQuest)
|
||||
self:SetPngSprite(self._mapNode.imgActive, mapItemCfg.Icon)
|
||||
end
|
||||
self:RefreshActivityNode()
|
||||
local bFastReceive = false
|
||||
local bListCanReceive = false
|
||||
for _, mapData in ipairs(self.tbDailyQuest) do
|
||||
if mapData.nStatus == 1 then
|
||||
bFastReceive = true
|
||||
bListCanReceive = true
|
||||
break
|
||||
end
|
||||
end
|
||||
local bActCanReceive = self.tbCanReceiveAct ~= nil and 0 < #self.tbCanReceiveAct
|
||||
local bFastReceive = bListCanReceive or bActCanReceive
|
||||
self._mapNode.dailyQuestLSV.gameObject:SetActive(true)
|
||||
self._mapNode.btnFastReceive.gameObject:SetActive(bFastReceive)
|
||||
self._mapNode.btnFastReceiveGray.gameObject:SetActive(not bFastReceive)
|
||||
@@ -162,16 +176,101 @@ end
|
||||
function DailyQuestCtrl:OnBtnClick_ActReceive()
|
||||
PlayerData.Quest:ReceiveDailyActiveReward()
|
||||
end
|
||||
function DailyQuestCtrl:_RecalcCanReceiveAct()
|
||||
local nActiveCount = 0
|
||||
for _, mapDailyQuest in ipairs(self.tbDailyQuest or {}) do
|
||||
if mapDailyQuest.nStatus == 2 then
|
||||
local mapQuestData = ConfigTable.GetData("DailyQuest", mapDailyQuest.nTid)
|
||||
if mapQuestData ~= nil then
|
||||
nActiveCount = nActiveCount + mapQuestData.Active
|
||||
end
|
||||
end
|
||||
end
|
||||
self.nActiveCount = nActiveCount
|
||||
self.tbCanReceiveAct = {}
|
||||
for k, mapData in ipairs(self.tbQuestActive or {}) do
|
||||
local bComplete = nActiveCount >= mapData.Active
|
||||
local bReceived = PlayerData.Quest:CheckDailyActiveReceive(mapData.Id)
|
||||
if bComplete and not bReceived then
|
||||
table.insert(self.tbCanReceiveAct, k)
|
||||
end
|
||||
end
|
||||
end
|
||||
function DailyQuestCtrl:OnBtnClick_FastReceive()
|
||||
PlayerData.Quest:ReceiveDailyReward(0)
|
||||
local bListCanReceive = false
|
||||
for _, mapData in ipairs(self.tbDailyQuest) do
|
||||
if mapData.nStatus == 1 then
|
||||
bListCanReceive = true
|
||||
break
|
||||
end
|
||||
end
|
||||
local bActCanReceive = self.tbCanReceiveAct ~= nil and #self.tbCanReceiveAct > 0
|
||||
local tab = {}
|
||||
table.insert(tab, {
|
||||
"role_id",
|
||||
tostring(PlayerData.Base._nPlayerId)
|
||||
})
|
||||
NovaAPI.UserEventUpload("daily_mission_complete", tab)
|
||||
if not bListCanReceive and not bActCanReceive then
|
||||
return
|
||||
end
|
||||
if bListCanReceive then
|
||||
PlayerData.Quest:ReceiveDailyReward(0)
|
||||
else
|
||||
PlayerData.Quest:ReceiveDailyActiveReward()
|
||||
end
|
||||
end
|
||||
function DailyQuestCtrl:_AccumulateListChange(mapMsgData)
|
||||
if mapMsgData == nil then
|
||||
return
|
||||
end
|
||||
local mapReward = PlayerData.Item:ProcessRewardChangeInfo(mapMsgData)
|
||||
if mapReward == nil then
|
||||
return
|
||||
end
|
||||
for _, v in ipairs(mapReward.tbReward or {}) do
|
||||
appendOrStack(self._mapMergedReward.tbReward, v, "id", "count", "rewardType")
|
||||
end
|
||||
for _, v in ipairs(mapReward.tbSpReward or {}) do
|
||||
table.insert(self._mapMergedReward.tbSpReward, v)
|
||||
end
|
||||
for _, v in ipairs(mapReward.tbSrc or {}) do
|
||||
appendOrStack(self._mapMergedReward.tbSrc, v, "Tid", "Qty")
|
||||
end
|
||||
for _, v in ipairs(mapReward.tbDst or {}) do
|
||||
appendOrStack(self._mapMergedReward.tbDst, v, "Tid", "Qty")
|
||||
end
|
||||
end
|
||||
function DailyQuestCtrl:_AccumulateDisplayReward(tbShowReward)
|
||||
if tbShowReward == nil then
|
||||
return
|
||||
end
|
||||
for _, v in ipairs(tbShowReward) do
|
||||
appendOrStack(self._mapMergedReward.tbReward, v, "id", "count", "rewardType")
|
||||
end
|
||||
end
|
||||
function DailyQuestCtrl:_FlushBatchReceive()
|
||||
PlayerData.Quest:SetBatchReceiveFlag(false)
|
||||
local mapMerged = self._mapMergedReward or {
|
||||
tbReward = {},
|
||||
tbSpReward = {},
|
||||
tbSrc = {},
|
||||
tbDst = {}
|
||||
}
|
||||
self._mapMergedReward = nil
|
||||
local refreshFunc = function()
|
||||
EventManager.Hit(EventId.QuestDataRefresh, "Daily")
|
||||
end
|
||||
local tipCallback = function()
|
||||
local bOpen = PlayerData.Base:TryOpenWorldClassUpgrade(refreshFunc)
|
||||
if not bOpen then
|
||||
refreshFunc()
|
||||
end
|
||||
end
|
||||
UTILS.OpenReceiveByReward(mapMerged, tipCallback)
|
||||
end
|
||||
function DailyQuestCtrl:OnBtnClick_FastReceiveGray()
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("DoubleDrop_Reward_Receive_Tip"))
|
||||
end
|
||||
function DailyQuestCtrl:OnBtnClick_NodeItem(btn, nIndex)
|
||||
local bCanReceive = false
|
||||
|
||||
@@ -1,4 +1,16 @@
|
||||
local GuideQuestCtrl = class("GuideQuestCtrl", BaseCtrl)
|
||||
local appendOrStack = function(tbDst, mapItem, sIdKey, sQtyKey, sExtraKey)
|
||||
if mapItem == nil then
|
||||
return
|
||||
end
|
||||
for _, v in ipairs(tbDst) do
|
||||
if v[sIdKey] == mapItem[sIdKey] and v[sExtraKey] == mapItem[sExtraKey] then
|
||||
v[sQtyKey] = (v[sQtyKey] or 0) + (mapItem[sQtyKey] or 0)
|
||||
return
|
||||
end
|
||||
end
|
||||
table.insert(tbDst, mapItem)
|
||||
end
|
||||
GuideQuestCtrl._mapNodeConfig = {
|
||||
txtChapter = {sComponentName = "TMP_Text"},
|
||||
btnRewardItem = {
|
||||
@@ -142,6 +154,9 @@ function GuideQuestCtrl:RefreshShow(nCurGroup)
|
||||
end
|
||||
local bGroupReceived = PlayerData.Quest:CheckTourGroupReward(questGroupCfg.Order)
|
||||
local bCanReceive = bAllReceive and not bGroupReceived
|
||||
self._bListCanReceive = bFastReceive
|
||||
self._bChapterCanReceive = bCanReceive
|
||||
bFastReceive = bFastReceive or bCanReceive
|
||||
self._mapNode.btnReceiveChapter.gameObject:SetActive(bCanReceive)
|
||||
self._mapNode.btnReceiveChapterGray.gameObject:SetActive(not bCanReceive and not bGroupReceived)
|
||||
self._mapNode.txtActComplete.gameObject:SetActive(bGroupReceived)
|
||||
@@ -258,9 +273,72 @@ function GuideQuestCtrl:OnBtnClick_ReceiveChapter()
|
||||
PlayerData.Quest:ReceiveTourGroupReward()
|
||||
end
|
||||
function GuideQuestCtrl:OnBtnClick_FastReceive()
|
||||
PlayerData.Quest:ReceiveTourReward(0, nil)
|
||||
local bListCanReceive = self._bListCanReceive == true
|
||||
local bChapterCanReceive = self._bChapterCanReceive == true
|
||||
if not bListCanReceive and not bChapterCanReceive then
|
||||
return
|
||||
end
|
||||
if bListCanReceive then
|
||||
PlayerData.Quest:ReceiveTourReward(0)
|
||||
else
|
||||
PlayerData.Quest:ReceiveTourGroupReward(nil)
|
||||
end
|
||||
end
|
||||
function GuideQuestCtrl:_CheckChapterUnlockedAfterList()
|
||||
if PlayerData.Quest:CheckTourGroupReward(self.nCurOrder) then
|
||||
return false
|
||||
end
|
||||
if self.mapCurQuests == nil then
|
||||
return false
|
||||
end
|
||||
for _, mapData in ipairs(self.mapCurQuests) do
|
||||
if mapData.nStatus ~= 2 then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
function GuideQuestCtrl:_AccumulateTourReward(mapMsgData)
|
||||
if mapMsgData == nil then
|
||||
return
|
||||
end
|
||||
local mapTrans = PlayerData.Item:ProcessTransChangeInfo(mapMsgData.Change)
|
||||
local tbReward, tbSpReward = PlayerData.Item:ProcessRewardDisplayItem(mapMsgData.Rewards, mapTrans)
|
||||
if tbReward ~= nil then
|
||||
for _, v in ipairs(tbReward) do
|
||||
appendOrStack(self._mapMergedReward.tbReward, v, "id", "count", "rewardType")
|
||||
end
|
||||
end
|
||||
if tbSpReward ~= nil then
|
||||
for _, v in ipairs(tbSpReward) do
|
||||
table.insert(self._mapMergedReward.tbSpReward, v)
|
||||
end
|
||||
end
|
||||
if mapTrans ~= nil then
|
||||
for _, v in ipairs(mapTrans.tbSrc or {}) do
|
||||
appendOrStack(self._mapMergedReward.tbSrc, v, "Tid", "Qty")
|
||||
end
|
||||
for _, v in ipairs(mapTrans.tbDst or {}) do
|
||||
appendOrStack(self._mapMergedReward.tbDst, v, "Tid", "Qty")
|
||||
end
|
||||
end
|
||||
end
|
||||
function GuideQuestCtrl:_FlushBatchReceive()
|
||||
PlayerData.Quest:SetBatchReceiveFlag(false)
|
||||
local mapMerged = self._mapMergedReward or {
|
||||
tbReward = {},
|
||||
tbSpReward = {},
|
||||
tbSrc = {},
|
||||
tbDst = {}
|
||||
}
|
||||
self._mapMergedReward = nil
|
||||
local refreshFunc = function()
|
||||
EventManager.Hit(EventId.QuestDataRefresh, "TourGuide")
|
||||
end
|
||||
UTILS.OpenReceiveByReward(mapMerged, refreshFunc)
|
||||
end
|
||||
function GuideQuestCtrl:OnBtnClick_FastReceiveGray()
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("DoubleDrop_Reward_Receive_Tip"))
|
||||
end
|
||||
function GuideQuestCtrl:OnBtnClick_RewardItem(btn, nIndex)
|
||||
if self.tbChapterReward[nIndex] ~= nil then
|
||||
|
||||
@@ -344,8 +344,24 @@ function QuestCtrl:OnEnable()
|
||||
end
|
||||
end
|
||||
if self._panel.nCurTab == nil then
|
||||
if PlayerData.Base:CheckFunctionUnlock(GameEnum.OpenFuncType.DailyQuest) then
|
||||
local bDailyUnlock = PlayerData.Base:CheckFunctionUnlock(GameEnum.OpenFuncType.DailyQuest)
|
||||
local bWeeklyUnlock = PlayerData.Base:CheckFunctionUnlock(GameEnum.OpenFuncType.WeeklyQuest)
|
||||
local bDaily = RedDotManager.GetValid(RedDotDefine.Task_Daily) and bDailyUnlock
|
||||
local bWeekly = RedDotManager.GetValid(RedDotDefine.Task_Weekly) and bWeeklyUnlock
|
||||
local bTourGuide = RedDotManager.GetValid(RedDotDefine.Task_Guide)
|
||||
local bWorldClass = RedDotManager.GetValid(RedDotDefine.WorldClass)
|
||||
if bDaily then
|
||||
self._panel.nCurTab = AllEnum.QuestPanelTab.DailyQuest
|
||||
elseif bWeekly then
|
||||
self._panel.nCurTab = AllEnum.QuestPanelTab.WeeklyQuest
|
||||
elseif bTourGuide then
|
||||
self._panel.nCurTab = AllEnum.QuestPanelTab.GuideQuest
|
||||
elseif bWorldClass then
|
||||
self._panel.nCurTab = AllEnum.QuestPanelTab.WorldClass
|
||||
elseif bDailyUnlock then
|
||||
self._panel.nCurTab = AllEnum.QuestPanelTab.DailyQuest
|
||||
elseif bWeeklyUnlock then
|
||||
self._panel.nCurTab = AllEnum.QuestPanelTab.WeeklyQuest
|
||||
else
|
||||
self._panel.nCurTab = AllEnum.QuestPanelTab.GuideQuest
|
||||
end
|
||||
@@ -501,7 +517,7 @@ function QuestCtrl:OnEvent_UpdateWorldClass()
|
||||
self:RefreshTabUnlock()
|
||||
end
|
||||
function QuestCtrl:OnEvent_QuestDataRefresh(questType)
|
||||
if questType == "TourGuide" or questType == "Daily" then
|
||||
if questType == "TourGuide" or questType == "Daily" or questType == "Weekly" then
|
||||
self:RefreshQuestList()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,4 +1,16 @@
|
||||
local WeeklyQuestCtrl = class("WeeklyQuestCtrl", BaseCtrl)
|
||||
local appendOrStack = function(tbDst, mapItem, sIdKey, sQtyKey, sExtraKey)
|
||||
if mapItem == nil then
|
||||
return
|
||||
end
|
||||
for _, v in ipairs(tbDst) do
|
||||
if v[sIdKey] == mapItem[sIdKey] and v[sExtraKey] == mapItem[sExtraKey] then
|
||||
v[sQtyKey] = (v[sQtyKey] or 0) + (mapItem[sQtyKey] or 0)
|
||||
return
|
||||
end
|
||||
end
|
||||
table.insert(tbDst, mapItem)
|
||||
end
|
||||
WeeklyQuestCtrl._mapNodeConfig = {
|
||||
txtActValue = {sComponentName = "TMP_Text"},
|
||||
imgActive = {sComponentName = "Image"},
|
||||
@@ -127,13 +139,15 @@ function WeeklyQuestCtrl:Refresh(tbWeeklyQuest)
|
||||
self:SetPngSprite(self._mapNode.imgActive, mapItemCfg.Icon)
|
||||
end
|
||||
self:RefreshActivityNode()
|
||||
local bFastReceive = false
|
||||
local bListCanReceive = false
|
||||
for _, mapData in ipairs(self.tbWeeklyQuest) do
|
||||
if mapData.nStatus == 1 then
|
||||
bFastReceive = true
|
||||
bListCanReceive = true
|
||||
break
|
||||
end
|
||||
end
|
||||
local bActCanReceive = self.tbCanReceiveAct ~= nil and 0 < #self.tbCanReceiveAct
|
||||
local bFastReceive = bListCanReceive or bActCanReceive
|
||||
for _, mapData in ipairs(self.tbWeeklyQuest) do
|
||||
local questConfig = ConfigTable.GetData("WeeklyQuest", mapData.nTid)
|
||||
if questConfig ~= nil then
|
||||
@@ -223,10 +237,95 @@ end
|
||||
function WeeklyQuestCtrl:OnBtnClick_ActReceive()
|
||||
PlayerData.Quest:ReceiveWeeklyActiveReward()
|
||||
end
|
||||
function WeeklyQuestCtrl:_RecalcCanReceiveAct()
|
||||
local nActiveCount = 0
|
||||
for _, mapWeeklyQuest in ipairs(self.tbWeeklyQuest or {}) do
|
||||
if mapWeeklyQuest.nStatus == 2 then
|
||||
local mapQuestData = ConfigTable.GetData("WeeklyQuest", mapWeeklyQuest.nTid)
|
||||
if mapQuestData ~= nil then
|
||||
nActiveCount = nActiveCount + mapQuestData.Active
|
||||
end
|
||||
end
|
||||
end
|
||||
self.nActiveCount = nActiveCount
|
||||
self.tbCanReceiveAct = {}
|
||||
for k, mapData in ipairs(self.tbQuestActive or {}) do
|
||||
local bComplete = nActiveCount >= mapData.Active
|
||||
local bReceived = PlayerData.Quest:CheckWeeklyActiveReceive(mapData.Id)
|
||||
if bComplete and not bReceived then
|
||||
table.insert(self.tbCanReceiveAct, k)
|
||||
end
|
||||
end
|
||||
end
|
||||
function WeeklyQuestCtrl:OnBtnClick_FastReceive()
|
||||
PlayerData.Quest:ReceiveWeeklyReward(0)
|
||||
local bListCanReceive = false
|
||||
for _, mapData in ipairs(self.tbWeeklyQuest) do
|
||||
if mapData.nStatus == 1 then
|
||||
bListCanReceive = true
|
||||
break
|
||||
end
|
||||
end
|
||||
local bActCanReceive = self.tbCanReceiveAct ~= nil and #self.tbCanReceiveAct > 0
|
||||
if not bListCanReceive and not bActCanReceive then
|
||||
return
|
||||
end
|
||||
if bListCanReceive then
|
||||
PlayerData.Quest:ReceiveWeeklyReward(0)
|
||||
else
|
||||
PlayerData.Quest:ReceiveWeeklyActiveReward()
|
||||
end
|
||||
end
|
||||
function WeeklyQuestCtrl:_AccumulateListChange(mapMsgData)
|
||||
if mapMsgData == nil then
|
||||
return
|
||||
end
|
||||
local mapReward = PlayerData.Item:ProcessRewardChangeInfo(mapMsgData)
|
||||
if mapReward == nil then
|
||||
return
|
||||
end
|
||||
for _, v in ipairs(mapReward.tbReward or {}) do
|
||||
appendOrStack(self._mapMergedReward.tbReward, v, "id", "count", "rewardType")
|
||||
end
|
||||
for _, v in ipairs(mapReward.tbSpReward or {}) do
|
||||
table.insert(self._mapMergedReward.tbSpReward, v)
|
||||
end
|
||||
for _, v in ipairs(mapReward.tbSrc or {}) do
|
||||
appendOrStack(self._mapMergedReward.tbSrc, v, "Tid", "Qty")
|
||||
end
|
||||
for _, v in ipairs(mapReward.tbDst or {}) do
|
||||
appendOrStack(self._mapMergedReward.tbDst, v, "Tid", "Qty")
|
||||
end
|
||||
end
|
||||
function WeeklyQuestCtrl:_AccumulateDisplayReward(tbShowReward)
|
||||
if tbShowReward == nil then
|
||||
return
|
||||
end
|
||||
for _, v in ipairs(tbShowReward) do
|
||||
appendOrStack(self._mapMergedReward.tbReward, v, "id", "count", "rewardType")
|
||||
end
|
||||
end
|
||||
function WeeklyQuestCtrl:_FlushBatchReceive()
|
||||
PlayerData.Quest:SetBatchReceiveFlag(false)
|
||||
local mapMerged = self._mapMergedReward or {
|
||||
tbReward = {},
|
||||
tbSpReward = {},
|
||||
tbSrc = {},
|
||||
tbDst = {}
|
||||
}
|
||||
self._mapMergedReward = nil
|
||||
local refreshFunc = function()
|
||||
EventManager.Hit(EventId.QuestDataRefresh, "Weekly")
|
||||
end
|
||||
local tipCallback = function()
|
||||
local bOpen = PlayerData.Base:TryOpenWorldClassUpgrade(refreshFunc)
|
||||
if not bOpen then
|
||||
refreshFunc()
|
||||
end
|
||||
end
|
||||
UTILS.OpenReceiveByReward(mapMerged, tipCallback)
|
||||
end
|
||||
function WeeklyQuestCtrl:OnBtnClick_FastReceiveGray()
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("DoubleDrop_Reward_Receive_Tip"))
|
||||
end
|
||||
function WeeklyQuestCtrl:OnBtnClick_NodeItem(btn, nIndex)
|
||||
local bCanReceive = false
|
||||
|
||||
@@ -46,7 +46,9 @@ QuestWorldClassCtrl._mapNodeConfig = {
|
||||
goLevelItem = {
|
||||
sCtrlName = "Game.UI.Quest.WorldClass.WorldClassItemCtrl"
|
||||
},
|
||||
rtLevelLsv = {},
|
||||
rtLevelLsv = {
|
||||
sComponentName = "RectTransform"
|
||||
},
|
||||
levelLsv = {
|
||||
sComponentName = "LoopScrollView"
|
||||
},
|
||||
@@ -58,6 +60,16 @@ QuestWorldClassCtrl._mapNodeConfig = {
|
||||
rectContentSize = {
|
||||
sNodeName = "txtContentSize",
|
||||
sComponentName = "RectTransform"
|
||||
},
|
||||
btnFastReceive = {sComponentName = "UIButton"},
|
||||
txtBtnFastReceive = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Quest_Fast_Receive_Btn_Text"
|
||||
},
|
||||
btnFastReceiveGray = {sComponentName = "UIButton"},
|
||||
txtBtnFastReceiveGray = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Quest_Fast_Receive_Btn_Text"
|
||||
}
|
||||
}
|
||||
QuestWorldClassCtrl._mapEventConfig = {
|
||||
@@ -129,6 +141,28 @@ function QuestWorldClassCtrl:RefreshDemonList()
|
||||
local posX = self._mapNode.rtWorldClassLsv.anchoredPosition.x
|
||||
local posY = bMax and worldClassLsvPosY_1 or worldClassLsvPosY_2
|
||||
self._mapNode.rtWorldClassLsv.anchoredPosition = Vector2(posX, posY)
|
||||
self:RefreshFastReceiveBtn()
|
||||
end
|
||||
function QuestWorldClassCtrl:RefreshFastReceiveBtn()
|
||||
self.tbWorldClassFastReceive = {}
|
||||
for _, mapData in ipairs(self.tbWorldClass or {}) do
|
||||
if mapData.nType == AllEnum.WorldClassType.LevelUp then
|
||||
local nMin = mapData.nMinLevel or 1
|
||||
local nMax = math.min(mapData.nMaxLevel or self.nCurWorldClass, self.nCurWorldClass)
|
||||
for nLv = nMin, nMax do
|
||||
if PlayerData.Base:GetWorldClassState(nLv) then
|
||||
table.insert(self.tbWorldClassFastReceive, nLv)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
local bCanReceive = #self.tbWorldClassFastReceive > 0
|
||||
if self._mapNode.btnFastReceive ~= nil then
|
||||
self._mapNode.btnFastReceive.gameObject:SetActive(bCanReceive)
|
||||
end
|
||||
if self._mapNode.btnFastReceiveGray ~= nil then
|
||||
self._mapNode.btnFastReceiveGray.gameObject:SetActive(not bCanReceive)
|
||||
end
|
||||
end
|
||||
function QuestWorldClassCtrl:OnWorldClassGridRefresh(goGrid, nGridIndex)
|
||||
local nIndex = nGridIndex + 1
|
||||
@@ -152,7 +186,10 @@ function QuestWorldClassCtrl:RefreshLevelInfo(nIndex)
|
||||
self._mapNode.rtWorldClassList.gameObject:SetActive(false)
|
||||
local data = self.tbWorldClass[nIndex]
|
||||
if data ~= nil then
|
||||
self._mapNode.goLevelItem:SetItem(data)
|
||||
local goBtnFastReceive = self._mapNode.btnFastReceive
|
||||
local goBtnFastReceiveGray = self._mapNode.btnFastReceiveGray
|
||||
local rtLevelLsv = self._mapNode.rtLevelLsv
|
||||
self._mapNode.goLevelItem:SetItem(data, goBtnFastReceive, goBtnFastReceiveGray, rtLevelLsv)
|
||||
if data.nType == AllEnum.WorldClassType.LevelUp then
|
||||
self._mapNode.rtLevelLsv.gameObject:SetActive(true)
|
||||
self._mapNode.rtQuestLsv.gameObject:SetActive(false)
|
||||
@@ -215,7 +252,7 @@ function QuestWorldClassCtrl:RefreshLevelUpInfo(data)
|
||||
end
|
||||
self._mapNode.levelLsv:InitEx(self.tbLevelGridHeight, self, self.OnLevelGridRefresh)
|
||||
if 1 < nIndex then
|
||||
self:AddTimer(1, 0.1, function()
|
||||
self:AddTimer(1, 0.15, function()
|
||||
if PlayerData.Guide:CheckInGuideGroup(9) then
|
||||
nIndex = 2
|
||||
end
|
||||
@@ -344,4 +381,15 @@ end
|
||||
function QuestWorldClassCtrl:OnEvent_DisableScrollView(bDisable)
|
||||
NovaAPI.SetScrollRectVertical(self._mapNode.levelLsv, not bDisable)
|
||||
end
|
||||
function QuestWorldClassCtrl:OnBtnClick_FastReceive()
|
||||
if self.tbWorldClassFastReceive == nil or #self.tbWorldClassFastReceive == 0 then
|
||||
return
|
||||
end
|
||||
PlayerData.Base:SendPlayerWorldClassRewardReceiveReq(nil, nil, function()
|
||||
self:RefreshFastReceiveBtn()
|
||||
end, 1)
|
||||
end
|
||||
function QuestWorldClassCtrl:OnBtnClick_FastReceiveGray()
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("DoubleDrop_Reward_Receive_Tip"))
|
||||
end
|
||||
return QuestWorldClassCtrl
|
||||
|
||||
@@ -63,8 +63,14 @@ local worldClass_CanReceive = 3
|
||||
local worldClass_Received = 4
|
||||
local totalLength = 674
|
||||
local totalHeight = 37
|
||||
function WorldClassItemCtrl:SetItem(itemData)
|
||||
function WorldClassItemCtrl:SetItem(itemData, goBtnFastReceive, goBtnFastReceiveGray, rtLevelLsv)
|
||||
self.itemData = itemData
|
||||
self.goBtnFastReceive = goBtnFastReceive or nil
|
||||
self.goBtnFastReceiveGray = goBtnFastReceiveGray or nil
|
||||
self.rtLevelLsv = rtLevelLsv or nil
|
||||
if self.nLsvDefaultHeight == nil and rtLevelLsv ~= nil then
|
||||
self.nLsvDefaultHeight = rtLevelLsv.offsetMin
|
||||
end
|
||||
self.nCurWorldClass = PlayerData.Base:GetWorldClass()
|
||||
if itemData.nType == AllEnum.WorldClassType.LevelUp then
|
||||
self:SetLevelUpItem()
|
||||
@@ -185,16 +191,44 @@ function WorldClassItemCtrl:SetAdvanceItem()
|
||||
RedDotManager.RegisterNode(RedDotDefine.WorldClass_Advance, self.itemData.nId, self._mapNode.redDot, nil, nil, true)
|
||||
end
|
||||
function WorldClassItemCtrl:RefreshRewardState()
|
||||
self._mapNode.goingTip.gameObject:SetActive(self.nState == worldClass_Going)
|
||||
self._mapNode.goingTip.gameObject:SetActive(self.nState == worldClass_Going or self.nState == worldClass_CanReceive)
|
||||
self._mapNode.imgComplete.gameObject:SetActive(self.nState == worldClass_Received)
|
||||
self._mapNode.txtLock.gameObject:SetActive(self.nState == worldClass_Lock)
|
||||
self._mapNode.btnReceive.gameObject:SetActive(self.nState == worldClass_CanReceive)
|
||||
if self.goBtnFastReceive == nil then
|
||||
return
|
||||
end
|
||||
if self.handlerBtn == nil then
|
||||
self.handlerBtn = {}
|
||||
end
|
||||
self.goBtnFastReceive.gameObject:SetActive(self.nState == worldClass_CanReceive)
|
||||
self.goBtnFastReceive.onClick:RemoveAllListeners()
|
||||
self.handlerBtn[1] = ui_handler(self, self.OnBtnClick_Receive)
|
||||
self.goBtnFastReceive.onClick:AddListener(self.handlerBtn[1])
|
||||
self.goBtnFastReceiveGray.gameObject:SetActive(self.nState ~= worldClass_CanReceive)
|
||||
self.goBtnFastReceiveGray.onClick:RemoveAllListeners()
|
||||
self.handlerBtn[2] = ui_handler(self, self.OnBtnClick_ReceiveGray)
|
||||
self.goBtnFastReceiveGray.onClick:AddListener(self.handlerBtn[2])
|
||||
if self.nState == worldClass_Received then
|
||||
self.rtLevelLsv.offsetMin = self.nLsvDefaultHeight
|
||||
self.goBtnFastReceive.gameObject:SetActive(false)
|
||||
self.goBtnFastReceiveGray.gameObject:SetActive(false)
|
||||
else
|
||||
local v2 = Vector2(self.nLsvDefaultHeight.x, self.nLsvDefaultHeight.y + 100)
|
||||
self.rtLevelLsv.offsetMin = v2
|
||||
end
|
||||
end
|
||||
function WorldClassItemCtrl:Awake()
|
||||
end
|
||||
function WorldClassItemCtrl:OnEnable()
|
||||
end
|
||||
function WorldClassItemCtrl:OnDisable()
|
||||
if self.goBtnFastReceive ~= nil then
|
||||
self.goBtnFastReceive.onClick:RemoveListener(self.handlerBtn[1])
|
||||
self.handlerBtn[1] = nil
|
||||
self.goBtnFastReceiveGray.onClick:RemoveListener(self.handlerBtn[2])
|
||||
self.handlerBtn[2] = nil
|
||||
self.handlerBtn = {}
|
||||
end
|
||||
end
|
||||
function WorldClassItemCtrl:OnDestroy()
|
||||
end
|
||||
@@ -210,6 +244,9 @@ function WorldClassItemCtrl:OnBtnClick_Receive()
|
||||
PlayerData.Base:SendPlayerWorldClassAdvanceReq(self.itemData.nId)
|
||||
end
|
||||
end
|
||||
function WorldClassItemCtrl:OnBtnClick_ReceiveGray()
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("DoubleDrop_Reward_Receive_Tip"))
|
||||
end
|
||||
function WorldClassItemCtrl:OnBtnClick_RewardItem(btn, nIndex)
|
||||
local nTid = self.tbReward[nIndex].nId
|
||||
UTILS.ClickItemGridWithTips(nTid, btn.gameObject.transform, false, true, false)
|
||||
|
||||
Reference in New Issue
Block a user