8766830959
EN: 1.8.0.95 CN: 1.8.0.96 JP: 1.8.0.97 KR: 1.8.0.100
211 lines
6.7 KiB
Lua
211 lines
6.7 KiB
Lua
local TrekkerVersusQuestCtrl = class("TrekkerVersusQuestCtrl", BaseCtrl)
|
|
TrekkerVersusQuestCtrl._mapNodeConfig = {
|
|
snapshot = {},
|
|
snapshotBtn = {
|
|
sNodeName = "snapshot",
|
|
sComponentName = "Button",
|
|
callback = "ClosePanel"
|
|
},
|
|
btn_Close = {sComponentName = "Button", callback = "ClosePanel"},
|
|
btnClose_quest = {sComponentName = "UIButton", callback = "ClosePanel"},
|
|
aniWindow = {sNodeName = "rtWindow", sComponentName = "Animator"},
|
|
TMPReceiveAll = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Quest_Btn_ReceiveAll"
|
|
},
|
|
rtWindow = {},
|
|
btnHeatQuestReceiveAll = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Receive"
|
|
},
|
|
txtWindowTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "TD_QusetTitle"
|
|
},
|
|
btnRewardTab = {
|
|
nCount = 3,
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_RewardTab"
|
|
},
|
|
txtTabHeat = {
|
|
nCount = 2,
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "TD_HeatQuestTab"
|
|
},
|
|
txtTabDuel = {
|
|
nCount = 2,
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "TD_DuelQuestTab"
|
|
},
|
|
txtTabGift = {
|
|
nCount = 2,
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "TD_GiftQuestTab"
|
|
},
|
|
rtHeatQuest = {},
|
|
lsvHeatQuest = {
|
|
sComponentName = "LoopScrollView"
|
|
},
|
|
txtCurHeatTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "TD_HeatQuestTitle"
|
|
},
|
|
txtCurHeatNum = {sComponentName = "TMP_Text"},
|
|
rtDuelHistory = {},
|
|
txtDuelHistoryTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "TD_DuelHistoryTitle"
|
|
},
|
|
lsvDuelHistory = {
|
|
sComponentName = "LoopScrollView"
|
|
},
|
|
goGridMain = {
|
|
sCtrlName = "Game.UI.TrekkerVersus_600002.TrekkerVersusDuelHistoryGridCtrl"
|
|
},
|
|
rtGiftQuest = {},
|
|
lsvGiftQuest = {
|
|
sComponentName = "LoopScrollView"
|
|
}
|
|
}
|
|
TrekkerVersusQuestCtrl._mapEventConfig = {
|
|
TrekkerVersusAffixJump = "OnEvent_TrekkerVersusAffixJump"
|
|
}
|
|
TrekkerVersusQuestCtrl._mapRedDotConfig = {}
|
|
function TrekkerVersusQuestCtrl:RefreshHeatQuestTab()
|
|
self._mapNode.lsvHeatQuest:SetAnim(0.05)
|
|
self._mapNode.lsvHeatQuest:Init(#self._tbAllQuestData, self, self.OnGridRefresh, self.OnBtnClickGrid)
|
|
NovaAPI.SetText(self._mapNode.txtCurHeatTitle, self._mapActData:GetCurHeatValue().nSelfHotValue)
|
|
end
|
|
function TrekkerVersusQuestCtrl:RefreshDuelHistoryTab()
|
|
self._mapNode.lsvDuelHistory:SetAnim(0.05)
|
|
local mapCurDuelData = self._mapActData:GetCurHeatValue()
|
|
local mapInfo = {
|
|
SelfHotValue = mapCurDuelData.nSelfHotValue,
|
|
RivalHotValue = mapCurDuelData.nRivalHotValue
|
|
}
|
|
self._mapNode.goGridMain:Refresh(mapInfo, self._mapActData:GetCurDayNum(), true)
|
|
self._mapNode.lsvDuelHistory:Init(#self.tbDuelHistory, self, self.OnDuelHistoryGridRefresh)
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnDuelHistoryGridRefresh(goGrid, nIdx)
|
|
local nIndex = nIdx + 1
|
|
if self._mapGridCtrl[goGrid] == nil then
|
|
local gridCtrl = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus_600002.TrekkerVersusDuelHistoryGridCtrl")
|
|
self._mapGridCtrl[goGrid] = gridCtrl
|
|
end
|
|
local mapDuelHistoryData = self.tbDuelHistory[nIndex]
|
|
self._mapGridCtrl[goGrid]:Refresh(mapDuelHistoryData, nIndex, false)
|
|
end
|
|
function TrekkerVersusQuestCtrl:RefreshGiftQuestTab()
|
|
self._mapNode.lsvGiftQuest:SetAnim(0.05)
|
|
self._mapNode.lsvGiftQuest:Init(#self._tbAllQuestData, self, self.OnGiftQuestGridRefresh, self.OnBtnClickGrid)
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnGiftQuestGridRefresh(goGrid, nIdx)
|
|
local nIndex = nIdx + 1
|
|
if self._mapGridCtrl[goGrid] == nil then
|
|
local gridCtrl = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus_600002.TrekkerVersusGiftQuestGridCtrl")
|
|
self._mapGridCtrl[goGrid] = gridCtrl
|
|
end
|
|
local mapGiftQuestData = self._tbAllQuestData[nIndex]
|
|
self._mapGridCtrl[goGrid]:Refresh(mapGiftQuestData)
|
|
end
|
|
function TrekkerVersusQuestCtrl:Awake()
|
|
self._mapGridCtrl = {}
|
|
end
|
|
function TrekkerVersusQuestCtrl:FadeIn()
|
|
end
|
|
function TrekkerVersusQuestCtrl:FadeOut()
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnEnable()
|
|
self._mapAllQuestCfgData = {}
|
|
self._mapNode.rtWindow.gameObject:SetActive(false)
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnDisable()
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnDestroy()
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnRelease()
|
|
end
|
|
function TrekkerVersusQuestCtrl:ClosePanel()
|
|
self._mapNode.aniWindow:Play("t_window_04_t_out")
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
|
|
self:AddTimer(1, 0.3, function()
|
|
self.gameObject:SetActive(false)
|
|
self._mapNode.rtWindow.gameObject:SetActive(false)
|
|
self:UnbindAllGrids()
|
|
end, true, true, true, nil)
|
|
end
|
|
function TrekkerVersusQuestCtrl:UnbindAllGrids()
|
|
for go, ctrl in pairs(self._mapGridCtrl) do
|
|
self:UnbindCtrlByNode(ctrl)
|
|
end
|
|
self._mapGridCtrl = {}
|
|
end
|
|
function TrekkerVersusQuestCtrl:OpenPanel(mapActData)
|
|
self.gameObject:SetActive(true)
|
|
self._mapActData = mapActData
|
|
self._tbAllQuestData = self._mapActData:GetAllQuestData()
|
|
self.tbDuelHistory = self._mapActData:GetDuelHistory()
|
|
local wait = function()
|
|
NovaAPI.UIEffectSnapShotCapture(self._mapNode.snapshot)
|
|
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
|
self._mapNode.rtWindow.gameObject:SetActive(true)
|
|
self._mapNode.aniWindow:Play("t_window_04_t_in")
|
|
self:OnBtnClick_RewardTab(nil, 1)
|
|
end
|
|
cs_coroutine.start(wait)
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnGridRefresh(goGrid, nIdx)
|
|
local nIdx = nIdx + 1
|
|
if self._mapGridCtrl[goGrid] == nil then
|
|
local gridCtrl = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus.TrekkerVersusQuestGridCtrl")
|
|
self._mapGridCtrl[goGrid] = gridCtrl
|
|
end
|
|
local mapQuestData
|
|
mapQuestData = self._tbAllQuestData[nIdx]
|
|
self._mapGridCtrl[goGrid]:Refresh(mapQuestData)
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnBtnClick_RewardTab(btn, index)
|
|
if self.nRewardTabIndex == index then
|
|
return
|
|
end
|
|
self.nRewardTabIndex = index
|
|
for i = 1, #self._mapNode.btnRewardTab do
|
|
local objBtn = self._mapNode.btnRewardTab[i]
|
|
local imgOn = objBtn.transform:Find("imgTabOnBg")
|
|
local imgOff = objBtn.transform:Find("imgTabOffBg")
|
|
imgOn:SetActive(i == index)
|
|
imgOff:SetActive(i ~= index)
|
|
end
|
|
self._mapNode.rtHeatQuest:SetActive(index == 1)
|
|
self._mapNode.rtDuelHistory:SetActive(index == 2)
|
|
self._mapNode.rtGiftQuest:SetActive(index == 3)
|
|
if index == 1 then
|
|
self:RefreshHeatQuestTab()
|
|
elseif index == 2 then
|
|
self:RefreshDuelHistoryTab()
|
|
elseif index == 3 then
|
|
self:RefreshGiftQuestTab()
|
|
end
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnBtnClickGrid()
|
|
self:OnBtnClick_Receive()
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnBtnClick_Receive()
|
|
local refershList = function()
|
|
self._tbAllQuestData = self._mapActData:GetAllQuestData()
|
|
self:UnbindAllGrids()
|
|
self._mapNode.lsvQuest:SetAnim(0.05)
|
|
self._mapNode.lsvQuest:Init(#self._tbAllQuestData, self, self.OnGridRefresh, self.OnBtnClickGrid)
|
|
end
|
|
local callback = function(msgData)
|
|
UTILS.OpenReceiveByChangeInfo(msgData.Change, function()
|
|
refershList()
|
|
end)
|
|
end
|
|
self._mapActData:ReceiveQuestReward(callback)
|
|
end
|
|
function TrekkerVersusQuestCtrl:OnEvent_TrekkerVersusAffixJump()
|
|
self:ClosePanel()
|
|
end
|
|
return TrekkerVersusQuestCtrl
|