Files
SL1900 eafd8f4088 Update - 1.9.0.107
EN: 1.9.0.107
CN: 1.9.0.108
JP: 1.9.0.112
KR: 1.9.0.112
2026-05-14 16:00:00 +09:00

110 lines
3.4 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"
},
lsvQuest = {
sComponentName = "LoopScrollView"
},
rtWindow = {},
btnConfirm2 = {
sComponentName = "UIButton",
callback = "OnBtnClick_Receive"
},
txtWindowTitle = {
sComponentName = "TMP_Text",
sLanguageId = "TD_QusetTitle"
}
}
TrekkerVersusQuestCtrl._mapEventConfig = {
TrekkerVersusAffixJump = "OnEvent_TrekkerVersusAffixJump"
}
TrekkerVersusQuestCtrl._mapRedDotConfig = {}
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()
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._mapNode.lsvQuest:SetAnim(0.05)
self._mapNode.lsvQuest:Init(#self._tbAllQuestData, self, self.OnGridRefresh, self.OnBtnClickGrid)
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: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(self.nActId, callback)
end
function TrekkerVersusQuestCtrl:OnEvent_TrekkerVersusAffixJump()
self:ClosePanel()
end
return TrekkerVersusQuestCtrl