Update - 1.9.0.103

EN: 1.9.0.103
CN: 1.9.0.104
JP: 1.9.0.106
KR: 1.9.0.108
This commit is contained in:
SL1900
2026-04-18 00:15:00 +09:00
parent 35fe1f046d
commit e0549005e1
1150 changed files with 941124 additions and 19847 deletions
@@ -130,12 +130,10 @@ function TDBattleResultCtrl:OnEnable()
self.bAnimEnd = false
local tbParam = self:GetPanelParam()
self.nResultState = 0
if #tbParam == 2 and tbParam[1] == false then
if tbParam[1] == false then
self.nResultState = 3
elseif tbParam[1] then
self.nResultState = 1
elseif #tbParam == 3 and tbParam[1] == false then
self.nResultState = 2
end
local tbStar = tbParam[2]
local GenerRewardItems = tbParam[3]
@@ -183,7 +181,7 @@ function TDBattleResultCtrl:OnEnable()
if self.nResultState == 1 then
sTravelerDuelLevelName = self.mapTravelerDuelLevel.Name
else
sTravelerDuelLevelName = self.mapTravelerDuelLevel.Name .. orderedFormat(ConfigTable.GetUIText("TD_BattleResultDifficulty"), nHard)
sTravelerDuelLevelName = self.mapTravelerDuelLevel.Name .. "<space=9>" .. orderedFormat(ConfigTable.GetUIText("TD_BattleResultDifficulty"), nHard)
end
end
local nStar = 0
@@ -241,10 +239,6 @@ function TDBattleResultCtrl:OnEnable()
table.insert(tbRoleId, 112)
end
self.tbRoleList = tbRoleId
if bPureAvg then
self._mapNode.trActor2D_PNG.gameObject:SetActive(false)
else
end
self._mapNode.imgHardTitleBg:SetActive(true)
self._mapNode.imgHardScoreTitleBg:SetActive(false)
self._mapNode.imgTimeScoreTitleBg:SetActive(false)
@@ -292,7 +286,7 @@ function TDBattleResultCtrl:OnEnable()
self:OpenReward()
end
end
cs_coroutine.start(wait)
self._coroutine = cs_coroutine.start(wait)
nAnimTime = nAnimTime + 1.5
self:AddTimer(1, nAnimTime, "PlayAnim", true, true, true)
EventManager.Hit(EventId.TemporaryBlockInput, nAnimTime)
@@ -303,6 +297,18 @@ function TDBattleResultCtrl:OnEnable()
self.bProcessingClose = false
end
function TDBattleResultCtrl:OnDisable()
if self._sequence ~= nil then
self._sequence:Kill()
self._sequence = nil
end
if self._coroutine ~= nil then
cs_coroutine.stop(self._coroutine)
self._coroutine = nil
end
if self._coroutineOpen ~= nil then
cs_coroutine.stop(self._coroutineOpen)
self._coroutineOpen = nil
end
PlayerData.Voice:StopCharVoice()
end
function TDBattleResultCtrl:SetAffixIcon(trIcon, nAffixId)
@@ -331,9 +337,9 @@ function TDBattleResultCtrl:RefreshWorldClass(nExp)
local nWorldClass = PlayerData.Base:GetWorldClass()
local nCurExp = PlayerData.Base:GetWorldExp()
local mapCfg = ConfigTable.GetData("WorldClass", nWorldClass + 1, true)
local nFullExp = 0
local nFullExp = 1
if mapCfg then
nFullExp = mapCfg.Exp
nFullExp = mapCfg.Exp or 1
end
NovaAPI.SetTMPText(self._mapNode.txtRank, nWorldClass)
NovaAPI.SetTMPText(self._mapNode.txtWorldExp, nCurExp .. "/" .. nFullExp)
@@ -341,7 +347,6 @@ function TDBattleResultCtrl:RefreshWorldClass(nExp)
NovaAPI.SetImageFillAmount(self._mapNode.imgExp, 1 < nfillAmount and 1 or nfillAmount)
self._mapNode.imgExpBg.gameObject:SetActive(0 < nExp)
NovaAPI.SetTMPText(self._mapNode.txtGetWorldExp, "+" .. nExp)
self._mapNode.goRankArrow.gameObject:SetActive(0 < nExp)
self._mapNode.goRankArrow.gameObject:SetActive(false)
end
function TDBattleResultCtrl:ClosePanel()
@@ -354,23 +359,24 @@ function TDBattleResultCtrl:ClosePanel()
end
NovaAPI.SetCanvasGroupAlpha(self._mapNode.Mask, 0)
self._mapNode.Mask.gameObject:SetActive(true)
local sequence = DOTween.Sequence()
sequence:Append(self._mapNode.Mask:DOFade(1, 0.5):SetUpdate(true))
sequence:AppendCallback(function()
if self.bSuccess then
self._sequence = DOTween.Sequence()
self._sequence:Append(self._mapNode.Mask:DOFade(1, 0.5):SetUpdate(true))
self._sequence:AppendCallback(dotween_callback_handler(self, self.OnFadeComplete))
self._sequence:SetUpdate(true)
end
function TDBattleResultCtrl:OnFadeComplete()
if self.bSuccess then
NovaAPI.EnterModule("MainMenuModuleScene", true, 17)
self._mapNode.imgBlurredBg:SetActive(false)
else
local function levelEndCallback()
EventManager.Remove("ADVENTURE_LEVEL_UNLOAD_COMPLETE", self, levelEndCallback)
NovaAPI.EnterModule("MainMenuModuleScene", true, 17)
self._mapNode.imgBlurredBg:SetActive(false)
else
local function levelEndCallback()
EventManager.Remove("ADVENTURE_LEVEL_UNLOAD_COMPLETE", self, levelEndCallback)
NovaAPI.EnterModule("MainMenuModuleScene", true, 17)
self._mapNode.imgBlurredBg:SetActive(false)
end
EventManager.Add("ADVENTURE_LEVEL_UNLOAD_COMPLETE", self, levelEndCallback)
CS.AdventureModuleHelper.LevelStateChanged(true, 0, true)
end
end)
sequence:SetUpdate(true)
EventManager.Add("ADVENTURE_LEVEL_UNLOAD_COMPLETE", self, levelEndCallback)
CS.AdventureModuleHelper.LevelStateChanged(true, 0, true)
end
end
function TDBattleResultCtrl:RefreshGacha()
local sIconPath = "UI/big_sprites/"
@@ -403,7 +409,7 @@ function TDBattleResultCtrl:OpenReward()
end
UTILS.OpenReceiveByDisplayItem(self.mapReward, self.mapChangeInfo, callback)
end
cs_coroutine.start(wait)
self._coroutineOpen = cs_coroutine.start(wait)
else
self:ClosePanel()
end
@@ -3,7 +3,7 @@ TDBattleResultPanel._bAddToBackHistory = false
TDBattleResultPanel._tbDefine = {
{
sPrefabPath = "BattleResult/TravelerDuelBattleResultPanel.prefab",
sCtrlName = "Game.UI.TrekkerVersus.TDBattleResultCtrl"
sCtrlName = "Game.UI.TrekkerVersus_600002.TDBattleResultCtrl"
}
}
function TDBattleResultPanel:Awake()
@@ -88,6 +88,10 @@ end
function TravelerDuelChallengeInfoCtrl:OnEnable()
end
function TravelerDuelChallengeInfoCtrl:OnDisable()
if self._coroutineScroll ~= nil then
cs_coroutine.stop(self._coroutineScroll)
self._coroutineScroll = nil
end
self:ClearListGrids()
end
function TravelerDuelChallengeInfoCtrl:OnDestroy()
@@ -148,7 +152,7 @@ function TravelerDuelChallengeInfoCtrl:InitCachedSelectedGridState()
end
function TravelerDuelChallengeInfoCtrl:OnGridRefresh(goGrid, gridIndex)
if self.mapAffixGrid[goGrid] == nil then
self.mapAffixGrid[goGrid] = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus.TravelerDuelChallengeAffixGrid")
self.mapAffixGrid[goGrid] = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus_600002.TravelerDuelChallengeAffixGrid")
end
local nIdx = gridIndex + 1
local tbData = self.tbAllAffix[nIdx]
@@ -219,7 +223,7 @@ function TravelerDuelChallengeInfoCtrl:RefreshGridSelectState(goGrid, affixId, b
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
self._mapNode.srAffixList:ScrollToClick(grid)
end
cs_coroutine.start(wait)
self._coroutineScroll = cs_coroutine.start(wait)
end
else
selNode.gameObject:SetActive(false)
@@ -245,7 +249,7 @@ function TravelerDuelChallengeInfoCtrl:GetGridByDataID(dataID)
end
function TravelerDuelChallengeInfoCtrl:OnBtnClickGrid(goGrid, gridIndex)
if self.mapAffixGrid[goGrid] == nil then
self.mapAffixGrid[goGrid] = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus.TravelerDuelChallengeAffixGrid")
self.mapAffixGrid[goGrid] = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus_600002.TravelerDuelChallengeAffixGrid")
end
if not self.mapAffixGrid[goGrid].bUnlock then
EventManager.Hit(EventId.OpenMessageBox, orderedFormat(ConfigTable.GetUIText("TD_AffixCondTips" .. self.mapAffixGrid[goGrid].nType), self.mapAffixGrid[goGrid].nCond))
@@ -334,7 +338,7 @@ function TravelerDuelChallengeInfoCtrl:ClearListGrids()
end
self.tbAffixGrid = {}
if self.mapAffixGrid ~= nil then
for go, mapCtrl in ipairs(self.mapAffixGrid) do
for go, mapCtrl in pairs(self.mapAffixGrid) do
self:UnbindCtrlByNode(mapCtrl)
end
end
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,142 @@
local TrekkerVersusDifficultyCtrl = class("TrekkerVersusDifficultyCtrl", BaseCtrl)
TrekkerVersusDifficultyCtrl._mapNodeConfig = {
rtWindow = {
sComponentName = "RectTransform"
},
aniWindow = {sNodeName = "rtWindow", sComponentName = "Animator"},
lsvDifficulty = {
sComponentName = "LoopScrollView"
},
txtWindowTitleDifficulty = {
sComponentName = "TMP_Text",
sLanguageId = "TD_DifficultyPreviewTitle"
},
btn_Close = {sComponentName = "UIButton", callback = "ClosePanel"},
btnClose_difficulty = {sComponentName = "UIButton", callback = "ClosePanel"}
}
TrekkerVersusDifficultyCtrl._mapEventConfig = {}
TrekkerVersusDifficultyCtrl._mapRedDotConfig = {}
function TrekkerVersusDifficultyCtrl:RefreshDuelDifficulty()
self.nCurDifficulty = self._mapActData:GetRecordLevel()
self.tbIdleRewards = {}
local foreachIdleRewards = function(mapData)
self.tbIdleRewards[mapData.Difficulty] = mapData
end
ForEachTableLine(DataTable.TravelerDuelIdleRewards, foreachIdleRewards)
self.tbDuelDifficulty = {}
local foreachDifficulty = function(mapDifficultyData)
table.insert(self.tbDuelDifficulty, mapDifficultyData)
end
ForEachTableLine(DataTable.TravelerDuelChallengeDifficulty, foreachDifficulty)
table.sort(self.tbDuelDifficulty, function(a, b)
return a.Id < b.Id
end)
self._mapNode.lsvDifficulty:Init(#self.tbDuelDifficulty, self, self.OnDuelDifficultyGridRefresh)
self._mapNode.lsvDifficulty:SetScrollGridPos(self.nCurDifficulty - 1 > 0 and self.nCurDifficulty - 1 or 0, 0)
end
function TrekkerVersusDifficultyCtrl:OnDuelDifficultyGridRefresh(goGrid, nIdx)
local nIndex = nIdx + 1
local mapDifficultyData = self.tbDuelDifficulty[nIndex]
local mapDifficultyRewardData = self.tbIdleRewards[mapDifficultyData.Id]
local goAnimRoot = goGrid.transform:Find("btnGrid"):Find("AnimRoot")
if goAnimRoot == nil then
return
end
local imgHalf = goAnimRoot:Find("imgHalo").gameObject
imgHalf:SetActive(mapDifficultyData.Id == self.nCurDifficulty)
local imgArrow = goAnimRoot:Find("imgArrow").gameObject
imgArrow:SetActive(mapDifficultyData.Id == self.nCurDifficulty)
local txtGridHighestRecordNum = goAnimRoot:Find("txtGridHighestRecordNum").gameObject:GetComponent("TMP_Text")
NovaAPI.SetTMPText(txtGridHighestRecordNum, mapDifficultyData.Id)
local txtHourReward = goAnimRoot:Find("txtHourReward").gameObject:GetComponent("TMP_Text")
NovaAPI.SetTMPText(txtHourReward, ConfigTable.GetUIText("TD_HourReward"))
local txtEnemyEffect = goAnimRoot:Find("imgEnemyEffect"):Find("txtEnemyEffect").gameObject:GetComponent("TMP_Text")
NovaAPI.SetTMPText(txtEnemyEffect, ConfigTable.GetUIText("TD_EnemyEffect"))
local txtEnemyEffectNum = goAnimRoot:Find("imgEnemyEffect"):Find("txtEnemyEffectNum").gameObject:GetComponent("TMP_Text")
NovaAPI.SetTMPText(txtEnemyEffectNum, mapDifficultyData.Attr .. "%")
local nCount = 0
local nItemGridCount = 4
local foreachIdleReward = function(mapData)
nCount = nCount + 1
nItemGridCount = nItemGridCount - 1
local nEveryMinuteAccumulateValue = 0
if nCount == 1 then
nEveryMinuteAccumulateValue = mapDifficultyRewardData.TypeAValue
elseif nCount == 2 then
nEveryMinuteAccumulateValue = mapDifficultyRewardData.TypeBValue
elseif nCount == 3 then
nEveryMinuteAccumulateValue = mapDifficultyRewardData.TypeCValue
end
local nItemCount = math.floor(nEveryMinuteAccumulateValue * 60 / mapData.CumulativeValue)
local btnItem = goAnimRoot:Find("rtItem"):Find("btnItem_" .. nItemGridCount).gameObject:GetComponent("UIButton")
if 0 < nItemCount then
btnItem.gameObject:SetActive(true)
btnItem.onClick:RemoveAllListeners()
btnItem.onClick:AddListener(function()
UTILS.ClickItemGridWithTips(mapData.Id, btnItem.transform, true, true, false)
end)
local objItem = btnItem.transform:Find("GameObject"):Find("item" .. nItemGridCount).gameObject
local itemCtrl = self:BindCtrlByNode(objItem, "Game.UI.TemplateEx.TemplateItemCtrl")
if itemCtrl ~= nil then
itemCtrl:SetItem(mapData.Id, nil, nItemCount)
if self.tbObjCtrl[goGrid] ~= nil then
self:UnbindCtrlByNode(self.tbObjCtrl[goGrid])
self.tbObjCtrl[goGrid] = nil
end
self.tbObjCtrl[goGrid] = itemCtrl
end
else
btnItem.gameObject:SetActive(false)
end
end
ForEachTableLine(DataTable.TravelerDuelHotValueItem, foreachIdleReward)
end
function TrekkerVersusDifficultyCtrl:Awake()
self._mapGridCtrl = {}
end
function TrekkerVersusDifficultyCtrl:FadeIn()
end
function TrekkerVersusDifficultyCtrl:FadeOut()
end
function TrekkerVersusDifficultyCtrl:OnEnable()
self._mapAllQuestCfgData = {}
self._mapNode.rtWindow.gameObject:SetActive(false)
self.tbObjCtrl = {}
end
function TrekkerVersusDifficultyCtrl:OnDisable()
if self._coroutineOpen ~= nil then
cs_coroutine.stop(self._coroutineOpen)
self._coroutineOpen = nil
end
self:UnbindAllGrids()
end
function TrekkerVersusDifficultyCtrl:OnDestroy()
end
function TrekkerVersusDifficultyCtrl:OnRelease()
end
function TrekkerVersusDifficultyCtrl: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)
end, true, true, true, nil)
end
function TrekkerVersusDifficultyCtrl:UnbindAllGrids()
for go, ctrl in pairs(self.tbObjCtrl) do
self:UnbindCtrlByNode(ctrl)
end
self.tbObjCtrl = {}
end
function TrekkerVersusDifficultyCtrl:OpenPanel(mapActData)
self.gameObject:SetActive(true)
self._mapActData = mapActData
local wait = function()
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
self._mapNode.rtWindow.gameObject:SetActive(true)
self._mapNode.aniWindow:Play("t_window_04_t_in")
self:RefreshDuelDifficulty()
end
self._coroutineOpen = cs_coroutine.start(wait)
end
return TrekkerVersusDifficultyCtrl
@@ -1,10 +1,5 @@
local TrekkerVersusDuelHistoryGridCtrl = class("TrekkerVersusDuelHistoryGridCtrl", BaseCtrl)
TrekkerVersusDuelHistoryGridCtrl._mapNodeConfig = {
TMPDesc = {sComponentName = "TMP_Text"},
TMPIncomplete = {
sComponentName = "TMP_Text",
sLanguageId = "Quest_undone"
},
imgHeadStreamerGrid = {nCount = 2, sComponentName = "Image"},
txtNameStreamerGrid = {nCount = 2, sComponentName = "TMP_Text"},
txtHeatStreamerGrid = {nCount = 2, sComponentName = "TMP_Text"},
@@ -19,16 +14,26 @@ TrekkerVersusDuelHistoryGridCtrl._mapNodeConfig = {
btnItemReward = {
nCount = 3,
sComponentName = "UIButton",
sCallback = "OnBtnClick_ItemReward"
callback = "OnBtnClick_Item"
},
imgDuelEnd = {},
txtDuelOnGoing = {
sComponentName = "TMP_Text",
sLanguageId = "TD_DuelOnGoing"
},
btnReceive = {
sComponentName = "UIButton",
callback = "OnBtnClick_Receive"
},
TMPReceiveGrid = {
sComponentName = "TMP_Text",
sLanguageId = "Quest_Receive"
},
imgWin = {}
}
TrekkerVersusDuelHistoryGridCtrl._mapEventConfig = {}
TrekkerVersusDuelHistoryGridCtrl._mapEventConfig = {
TrekkerVersusDuelQuestRefresh = "OnEvent_TrekkerVersusDuelQuestRefresh"
}
TrekkerVersusDuelHistoryGridCtrl._mapRedDotConfig = {}
function TrekkerVersusDuelHistoryGridCtrl:Awake()
end
@@ -44,23 +49,63 @@ function TrekkerVersusDuelHistoryGridCtrl:OnDestroy()
end
function TrekkerVersusDuelHistoryGridCtrl:OnRelease()
end
function TrekkerVersusDuelHistoryGridCtrl:Refresh(mapDuelHistoryData, nIndex, bMain)
function TrekkerVersusDuelHistoryGridCtrl:Refresh(mapDuelHistoryData, bMain, mapActData)
self._mapNode.imgWin:SetActive(not bMain)
self._mapNode.imgDuelEnd:SetActive(not bMain)
self._mapNode.txtDuelOnGoing.gameObject:SetActive(bMain)
self.mapDuelData = ConfigTable.GetData("TravelerDuelTarget", nIndex)
local sHeatStr = ConfigTable.GetUIText("TD_HeatQuestTab") .. ":" or ""
NovaAPI.SetTMPText(self._mapNode.txtHeatStreamerGrid[1], sHeatStr .. mapDuelHistoryData.SelfHotValue)
NovaAPI.SetTMPText(self._mapNode.txtHeatStreamerGrid[2], sHeatStr .. mapDuelHistoryData.RivalHotValue)
self.bMain = bMain
self.mapDuelHistoryData = mapDuelHistoryData
self.mapActData = mapActData
self.bReceived = not bMain
self._mapNode.btnReceive.gameObject:SetActive(not bMain)
self._mapNode.imgDuelEnd:SetActive(not bMain)
if mapDuelHistoryData.TargetId ~= nil then
self.mapDuelData = ConfigTable.GetData("TravelerDuelTarget", mapDuelHistoryData.TargetId)
local tbDuelRewardReceived = self.mapActData:GetDuelRewardTable()
self.bReceived = table.indexof(tbDuelRewardReceived, mapDuelHistoryData.TargetId) > 0
if not bMain then
self._mapNode.btnReceive.gameObject:SetActive(not self.bReceived)
self._mapNode.imgDuelEnd:SetActive(self.bReceived)
end
end
local sHeatStr = (ConfigTable.GetUIText("TD_HeatQuestTab") or "") .. ":"
NovaAPI.SetTMPText(self._mapNode.txtHeatStreamerGrid[1], sHeatStr .. "<space=9>" .. mapDuelHistoryData.SelfHotValue)
NovaAPI.SetTMPText(self._mapNode.txtHeatStreamerGrid[2], sHeatStr .. "<space=9>" .. mapDuelHistoryData.RivalHotValue)
local sSelfName = ConfigTable.GetUIText(AllEnum.TrekkerVersusDuelSelfInfo.NameKey) or ""
NovaAPI.SetTMPText(self._mapNode.txtNameStreamerGrid[1], sSelfName)
if self.mapDuelData ~= nil then
NovaAPI.SetTMPText(self._mapNode.txtNameStreamerGrid[2], self.mapDuelData.RivalName)
self:SetPngSprite(self._mapNode.imgHeadStreamerGrid[2], self.mapDuelData.RivalIcon or "")
for i = 1, 3 do
local nItemId = self.mapDuelData["ItemId" .. i]
local nCount = self.mapDuelData["ItemQty" .. i]
if nItemId ~= nil and 0 < nItemId then
self._mapNode.itemReward[i].gameObject:SetActive(true)
self._mapNode.itemReward[i]:SetItem(nItemId, nil, nCount, false, self.bReceived)
else
self._mapNode.itemReward[i].gameObject:SetActive(false)
end
end
end
end
function TrekkerVersusDuelHistoryGridCtrl:OnBtnClick_Item(btn, nIdx)
local sFieldName1 = "ItemId" .. nIdx
local sFieldName2 = "ItemQty" .. nIdx
local nItemTid = self.mapDuelData[sFieldName1]
local nCount = self.mapDuelData[sFieldName2]
UTILS.ClickItemGridWithTips(nItemTid, btn.transform, true, true, false)
if self.mapDuelData ~= nil then
local nItemTid = self.mapDuelData[sFieldName1]
local nCount = self.mapDuelData[sFieldName2]
UTILS.ClickItemGridWithTips(nItemTid, btn.transform, true, true, false)
end
end
function TrekkerVersusDuelHistoryGridCtrl:OnBtnClick_JumpTo(btn)
EventManager.Hit("TrekkerVersusAffixJump", self.cfgData.AffixJumpTo)
end
function TrekkerVersusDuelHistoryGridCtrl:OnBtnClick_Receive(btn)
EventManager.Hit("TrekkerVersusReceiveHeatQuest", 2)
end
function TrekkerVersusDuelHistoryGridCtrl:OnEvent_TrekkerVersusDuelQuestRefresh()
if self.mapActData ~= nil and self.bMain == false then
self:Refresh(self.mapDuelHistoryData, self.bMain, self.mapActData)
end
end
return TrekkerVersusDuelHistoryGridCtrl
@@ -25,7 +25,10 @@ TrekkerVersusGiftQuestGridCtrl._mapNodeConfig = {
},
maskComplete = {},
imgComplete = {},
btnReceive = {sComponentName = "UIButton"},
btnReceive = {
sComponentName = "UIButton",
callback = "OnBtnClick_Receive"
},
btnJump = {
sComponentName = "UIButton",
callback = "OnBtnClick_JumpTo"
@@ -47,7 +50,8 @@ function TrekkerVersusGiftQuestGridCtrl:OnDestroy()
end
function TrekkerVersusGiftQuestGridCtrl:OnRelease()
end
function TrekkerVersusGiftQuestGridCtrl:Refresh(mapQuestData)
function TrekkerVersusGiftQuestGridCtrl:Refresh(mapQuestData, actData)
self._mapActData = actData
local mapQuestCfgData = ConfigTable.GetData("TravelerDuelChallengeQuest", mapQuestData.Id)
if mapQuestCfgData == nil then
return
@@ -82,4 +86,7 @@ end
function TrekkerVersusGiftQuestGridCtrl:OnBtnClick_JumpTo(btn)
EventManager.Hit("TrekkerVersusAffixJump", self.cfgData.AffixJumpTo)
end
function TrekkerVersusGiftQuestGridCtrl:OnBtnClick_Receive()
self._mapActData:ReceiveQuestReward()
end
return TrekkerVersusGiftQuestGridCtrl
@@ -1,11 +1,5 @@
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"},
@@ -18,12 +12,12 @@ TrekkerVersusQuestCtrl._mapNodeConfig = {
sComponentName = "UIButton",
callback = "OnBtnClick_Receive"
},
txtWindowTitle = {
txtWindowTitleQuest = {
sComponentName = "TMP_Text",
sLanguageId = "TD_QusetTitle"
},
btnRewardTab = {
nCount = 3,
nCount = 4,
sComponentName = "UIButton",
callback = "OnBtnClick_RewardTab"
},
@@ -42,6 +36,11 @@ TrekkerVersusQuestCtrl._mapNodeConfig = {
sComponentName = "TMP_Text",
sLanguageId = "TD_GiftQuestTab"
},
txtTabBattle = {
nCount = 2,
sComponentName = "TMP_Text",
sLanguageId = "TD_BattleQuestTab"
},
rtHeatQuest = {},
lsvHeatQuest = {
sComponentName = "LoopScrollView"
@@ -52,6 +51,8 @@ TrekkerVersusQuestCtrl._mapNodeConfig = {
},
txtCurHeatNum = {sComponentName = "TMP_Text"},
rtDuelHistory = {},
rtListHasCurDuel = {},
rtListNoCurDuel = {},
txtDuelHistoryTitle = {
sComponentName = "TMP_Text",
sLanguageId = "TD_DuelHistoryTitle"
@@ -59,54 +60,177 @@ TrekkerVersusQuestCtrl._mapNodeConfig = {
lsvDuelHistory = {
sComponentName = "LoopScrollView"
},
lsvDuelHistoryNoCurDuel = {
sComponentName = "LoopScrollView"
},
goHasCurDuel = {},
goGridMain = {
sCtrlName = "Game.UI.TrekkerVersus_600002.TrekkerVersusDuelHistoryGridCtrl"
},
txtNoDuelHistory = {
sComponentName = "TMP_Text",
sLanguageId = "TD_NoDuelHistory"
},
btnDuelHistoryReceiveAll = {
sComponentName = "UIButton",
callback = "OnBtnClick_DuelHistoryReceiveAll"
},
TMPDuelHistoryReceiveAll = {
sComponentName = "TMP_Text",
sLanguageId = "Quest_Btn_ReceiveAll"
},
rtGiftQuest = {},
lsvGiftQuest = {
sComponentName = "LoopScrollView"
}
},
rtBattleQuest = {},
lsvBattleQuest = {
sComponentName = "LoopScrollView"
},
txtGetHighestReward = {
sComponentName = "TMP_Text",
sLanguageId = "TD_GetHighestReward"
},
btnReceiveAllQuest = {
sComponentName = "UIButton",
callback = "OnBtnClick_ReceiveAll"
},
TMPReceiveAllQuest = {
sComponentName = "TMP_Text",
sLanguageId = "Quest_Btn_ReceiveAll"
},
goRedDotRewardTab1 = {},
goRedDotRewardTab2 = {},
goRedDotRewardTab3 = {},
goRedDotRewardTab4 = {}
}
TrekkerVersusQuestCtrl._mapEventConfig = {
TrekkerVersusAffixJump = "OnEvent_TrekkerVersusAffixJump"
TrekkerVersusAffixJump = "OnEvent_TrekkerVersusAffixJump",
TrekkerVersusHeatQuestRefresh = "OnEvent_TrekkerVersusHeatQuestRefresh",
UpdateTrekkerVersusHotValue = "OnEvent_UpdateTrekkerVersusHotValue",
TrekkerVersusQuestRefresh = "OnEvent_TrekkerVersusQuestRefresh"
}
TrekkerVersusQuestCtrl._mapRedDotConfig = {}
function TrekkerVersusQuestCtrl:RefreshHeatQuestTab()
if self.tbHeatQuest == nil then
self.tbHeatQuest = {}
local foreachQuestData = function(mapQuestData)
table.insert(self.tbHeatQuest, mapQuestData)
end
ForEachTableLine(DataTable.TravelerDuelHotValueRewards, foreachQuestData)
end
local mapHotValue = self._mapActData:GetCurHeatValue()
local nSelfHotValue = mapHotValue.nSelfHotValue
NovaAPI.SetTMPText(self._mapNode.txtCurHeatNum, nSelfHotValue)
local tbHotValueRewardIds = self._mapActData:GetHotValueRewardTable() or {}
table.sort(self.tbHeatQuest, function(a, b)
local aStatus = 2
local bStatus = 2
if a.TargetValue <= nSelfHotValue then
if table.indexof(tbHotValueRewardIds, a.Id) <= 0 then
aStatus = 1
else
aStatus = 3
end
end
if b.TargetValue <= nSelfHotValue then
if table.indexof(tbHotValueRewardIds, b.Id) <= 0 then
bStatus = 1
else
bStatus = 3
end
end
if aStatus ~= bStatus then
return aStatus < bStatus
else
return a.Id < b.Id
end
end)
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)
self._mapNode.lsvHeatQuest:Init(#self.tbHeatQuest, self, self.OnGridRefresh)
end
function TrekkerVersusQuestCtrl:RefreshDuelHistoryTab()
self._mapNode.lsvDuelHistory:SetAnim(0.05)
local mapCurDuelData = self._mapActData:GetCurHeatValue()
self._mapNode.rtListHasCurDuel:SetActive(self.bOpen)
self._mapNode.rtListNoCurDuel:SetActive(not self.bOpen)
self._mapNode.goGridMain.gameObject:SetActive(self.bOpen)
self._mapNode.goHasCurDuel:SetActive(self.bOpen)
if self.bOpen == false then
self._mapNode.lsvDuelHistoryNoCurDuel:Init(#self.tbDuelHistory, self, self.OnDuelHistoryGridRefresh)
return
end
local nCurDay = self._mapActData:GetCurDayNum()
local foreachDuelHistory = function(mapDuelHistoryData)
if mapDuelHistoryData.DayNum == nCurDay then
self.nCurDuelId = mapDuelHistoryData.Id
end
end
ForEachTableLine(DataTable.TravelerDuelTarget, foreachDuelHistory)
local mapInfo = {
TargetId = self.nCurDuelId,
SelfHotValue = mapCurDuelData.nSelfHotValue,
RivalHotValue = mapCurDuelData.nRivalHotValue
}
self._mapNode.goGridMain:Refresh(mapInfo, self._mapActData:GetCurDayNum(), true)
self._mapNode.goGridMain:Refresh(mapInfo, true, self._mapActData)
self._mapNode.lsvDuelHistory:Init(#self.tbDuelHistory, self, self.OnDuelHistoryGridRefresh)
self._mapNode.lsvDuelHistory.gameObject:SetActive(#self.tbDuelHistory > 0)
self._mapNode.txtNoDuelHistory.gameObject:SetActive(#self.tbDuelHistory <= 0)
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
if self._mapGridCtrl[goGrid] ~= nil then
self:UnbindCtrlByNode(self._mapGridCtrl[goGrid])
self._mapGridCtrl[goGrid] = nil
end
local gridCtrl = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus_600002.TrekkerVersusDuelHistoryGridCtrl")
self._mapGridCtrl[goGrid] = gridCtrl
local mapDuelHistoryData = self.tbDuelHistory[nIndex]
self._mapGridCtrl[goGrid]:Refresh(mapDuelHistoryData, nIndex, false)
self._mapGridCtrl[goGrid]:Refresh(mapDuelHistoryData, false, self._mapActData)
end
function TrekkerVersusQuestCtrl:RefreshGiftQuestTab()
self._mapNode.lsvGiftQuest:SetAnim(0.05)
self._mapNode.lsvGiftQuest:Init(#self._tbAllQuestData, self, self.OnGiftQuestGridRefresh, self.OnBtnClickGrid)
self._mapNode.lsvGiftQuest:Init(#self.tbGiftQuest, self, self.OnGiftQuestGridRefresh)
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
if self._mapGridCtrl[goGrid] ~= nil then
self:UnbindCtrlByNode(self._mapGridCtrl[goGrid])
self._mapGridCtrl[goGrid] = nil
end
local gridCtrl = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus_600002.TrekkerVersusGiftQuestGridCtrl")
self._mapGridCtrl[goGrid] = gridCtrl
local mapGiftQuestData = self.tbGiftQuest[nIndex]
self._mapGridCtrl[goGrid]:Refresh(mapGiftQuestData, self._mapActData)
end
function TrekkerVersusQuestCtrl:RefreshBattleQuestTab()
self._mapNode.lsvBattleQuest:SetAnim(0.05)
self._mapNode.lsvBattleQuest:Init(#self.tbBattleQuest, self, self.OnBattleQuestGridRefresh)
end
function TrekkerVersusQuestCtrl:OnBattleQuestGridRefresh(goGrid, nIdx)
local nIndex = nIdx + 1
if self._mapGridCtrl[goGrid] ~= nil then
self:UnbindCtrlByNode(self._mapGridCtrl[goGrid])
self._mapGridCtrl[goGrid] = nil
end
local gridCtrl = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus_600002.TrekkerVersusGiftQuestGridCtrl")
self._mapGridCtrl[goGrid] = gridCtrl
local mapBattleQuestData = self.tbBattleQuest[nIndex]
self._mapGridCtrl[goGrid]:Refresh(mapBattleQuestData, self._mapActData)
end
function TrekkerVersusQuestCtrl:GetBattleGiftQuestTable()
self.tbBattleQuest = {}
self.tbGiftQuest = {}
for k, mapQuestData in pairs(self._tbAllQuestData) do
local mapQuestCfgData = ConfigTable.GetData("TravelerDuelChallengeQuest", mapQuestData.Id)
if mapQuestCfgData ~= nil then
if mapQuestCfgData.CompleteCond ~= GameEnum.questCompleteCond.TrekkerVersusFansWithSpecificLevel then
table.insert(self.tbBattleQuest, mapQuestData)
else
table.insert(self.tbGiftQuest, mapQuestData)
end
end
end
local mapGiftQuestData = self._tbAllQuestData[nIndex]
self._mapGridCtrl[goGrid]:Refresh(mapGiftQuestData)
end
function TrekkerVersusQuestCtrl:Awake()
self._mapGridCtrl = {}
@@ -120,6 +244,11 @@ function TrekkerVersusQuestCtrl:OnEnable()
self._mapNode.rtWindow.gameObject:SetActive(false)
end
function TrekkerVersusQuestCtrl:OnDisable()
if self._coroutineOpen ~= nil then
cs_coroutine.stop(self._coroutineOpen)
self._coroutineOpen = nil
end
self:UnbindAllGrids()
end
function TrekkerVersusQuestCtrl:OnDestroy()
end
@@ -131,7 +260,6 @@ function TrekkerVersusQuestCtrl:ClosePanel()
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()
@@ -140,29 +268,54 @@ function TrekkerVersusQuestCtrl:UnbindAllGrids()
end
self._mapGridCtrl = {}
end
function TrekkerVersusQuestCtrl:OpenPanel(mapActData)
function TrekkerVersusQuestCtrl:OpenPanel(mapActData, nTab, bOpen, nActId)
self.gameObject:SetActive(true)
self._mapActData = mapActData
self.bOpen = bOpen
self._tbAllQuestData = self._mapActData:GetAllQuestData()
if self._tbAllQuestData ~= nil then
self:GetBattleGiftQuestTable()
end
self.tbDuelHistory = self._mapActData:GetDuelHistory()
if self.tbDuelHistory == nil then
self.tbDuelHistory = {}
end
local bInActGroup, nActGroupId = PlayerData.Activity:IsActivityInActivityGroup(nActId)
if bInActGroup then
RedDotManager.RegisterNode(RedDotDefine.TrekkerVersusHeatQuest, {nActGroupId, nActId}, self._mapNode.goRedDotRewardTab1)
RedDotManager.RegisterNode(RedDotDefine.TrekkerVersusDuelQuest, {nActGroupId, nActId}, self._mapNode.goRedDotRewardTab2)
RedDotManager.RegisterNode(RedDotDefine.TrekkerVersusGiftQuest, {nActGroupId, nActId}, self._mapNode.goRedDotRewardTab3)
RedDotManager.RegisterNode(RedDotDefine.TrekkerVersusBattleQuest, {nActGroupId, nActId}, self._mapNode.goRedDotRewardTab4)
end
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)
self:OnBtnClick_RewardTab(nil, nTab)
if nTab == self.nRewardTabIndex then
if nTab == 1 then
self:RefreshHeatQuestTab()
elseif nTab == 2 then
self:RefreshDuelHistoryTab()
elseif nTab == 3 then
self:RefreshGiftQuestTab()
elseif nTab == 4 then
self:RefreshBattleQuestTab()
end
end
end
cs_coroutine.start(wait)
self._coroutineOpen = 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
local nIndex = nIdx + 1
if self._mapGridCtrl[goGrid] ~= nil then
self:UnbindCtrlByNode(self._mapGridCtrl[goGrid])
self._mapGridCtrl[goGrid] = nil
end
local mapQuestData
mapQuestData = self._tbAllQuestData[nIdx]
self._mapGridCtrl[goGrid]:Refresh(mapQuestData)
local gridCtrl = self:BindCtrlByNode(goGrid, "Game.UI.TrekkerVersus_600002.TrekkerVersusQuestGridCtrl")
self._mapGridCtrl[goGrid] = gridCtrl
local mapQuestData = self.tbHeatQuest[nIndex]
self._mapGridCtrl[goGrid]:Refresh(mapQuestData, self._mapActData)
end
function TrekkerVersusQuestCtrl:OnBtnClick_RewardTab(btn, index)
if self.nRewardTabIndex == index then
@@ -170,41 +323,101 @@ function TrekkerVersusQuestCtrl:OnBtnClick_RewardTab(btn, index)
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)
local objAnimRoot = self._mapNode.btnRewardTab[i].transform:Find("AnimRoot")
local imgOn = objAnimRoot:Find("imgTabOnBg")
local imgOff = objAnimRoot:Find("imgTabOffBg")
imgOn.gameObject:SetActive(i == index)
imgOff.gameObject:SetActive(i ~= index)
end
self._mapNode.rtHeatQuest:SetActive(index == 1)
self._mapNode.rtDuelHistory:SetActive(index == 2)
self._mapNode.rtGiftQuest:SetActive(index == 3)
self._mapNode.rtBattleQuest:SetActive(index == 4)
self._mapNode.btnReceiveAllQuest.gameObject:SetActive(index == 3 or index == 4)
if index == 1 then
self:RefreshHeatQuestTab()
elseif index == 2 then
self:RefreshDuelHistoryTab()
elseif index == 3 then
self:RefreshGiftQuestTab()
elseif index == 4 then
self:RefreshBattleQuestTab()
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)
local mapCurHotValue = self._mapActData:GetCurHeatValue()
local nCurSelfHotValue = mapCurHotValue.nSelfHotValue
local tbHotValueRewardIds = self._mapActData:GetHotValueRewardTable()
local bHeatQuestVisible = false
local foreachHeatReward = function(mapData)
if mapData.TargetValue <= nCurSelfHotValue and table.indexof(tbHotValueRewardIds, mapData.Id) <= 0 then
bHeatQuestVisible = true
end
end
local callback = function(msgData)
UTILS.OpenReceiveByChangeInfo(msgData.Change, function()
refershList()
end)
ForEachTableLine(DataTable.TravelerDuelHotValueRewards, foreachHeatReward)
if bHeatQuestVisible then
EventManager.Hit("TrekkerVersusReceiveHeatQuest", 1)
else
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Quest_ReceiveNone"))
end
end
function TrekkerVersusQuestCtrl:OnBtnClick_DuelHistoryReceiveAll()
local nChallengeStartTime = self._mapActData:GetChallengeStartTime()
local bStreamerDuelOpen = self._mapActData:IsOpenStreamerDuel(nChallengeStartTime)
local nRivalCount = self._mapActData:GetRivalCount()
local nDayNum = self._mapActData:GetCurDayNum()
local nPassedDuelCount = bStreamerDuelOpen and nDayNum - 1 or nRivalCount
if nDayNum == 0 then
nPassedDuelCount = nRivalCount
end
local nReceivedDuelReward = #self._mapActData:GetDuelRewardTable()
local bCanReceive = nPassedDuelCount > nReceivedDuelReward
if bCanReceive then
EventManager.Hit("TrekkerVersusReceiveHeatQuest", 2)
else
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Quest_ReceiveNone"))
end
end
function TrekkerVersusQuestCtrl:OnBtnClick_ReceiveAll()
local bCanReceive = false
for k, v in pairs(self._tbAllQuestData) do
if v.Status == 1 then
bCanReceive = true
break
end
end
if bCanReceive then
self._mapActData:ReceiveQuestReward()
else
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Quest_ReceiveNone"))
end
self._mapActData:ReceiveQuestReward(callback)
end
function TrekkerVersusQuestCtrl:OnEvent_TrekkerVersusAffixJump()
self:ClosePanel()
end
function TrekkerVersusQuestCtrl:OnEvent_TrekkerVersusHeatQuestRefresh()
if self._mapActData == nil then
return
end
self:RefreshHeatQuestTab()
end
function TrekkerVersusQuestCtrl:OnEvent_UpdateTrekkerVersusHotValue(nSelfHotValue, nRivalHotValue)
if self._mapActData == nil then
return
end
NovaAPI.SetTMPText(self._mapNode.txtCurHeatNum, nSelfHotValue)
local mapInfo = {
TargetId = self.nCurDuelId,
SelfHotValue = nSelfHotValue,
RivalHotValue = nRivalHotValue
}
self._mapNode.goGridMain:Refresh(mapInfo, true, self._mapActData)
self:RefreshHeatQuestTab()
end
function TrekkerVersusQuestCtrl:OnEvent_TrekkerVersusQuestRefresh()
self._tbAllQuestData = self._mapActData:GetAllQuestData()
self:GetBattleGiftQuestTable()
self:RefreshGiftQuestTab()
self:RefreshBattleQuestTab()
end
return TrekkerVersusQuestCtrl
@@ -25,7 +25,10 @@ TrekkerVersusQuestGridCtrl._mapNodeConfig = {
},
maskComplete = {},
imgComplete = {},
btnReceive = {sComponentName = "UIButton"},
btnReceive = {
sComponentName = "UIButton",
callback = "OnBtnClick_Receive"
},
btnJump = {
sComponentName = "UIButton",
callback = "OnBtnClick_JumpTo"
@@ -47,23 +50,33 @@ function TrekkerVersusQuestGridCtrl:OnDestroy()
end
function TrekkerVersusQuestGridCtrl:OnRelease()
end
function TrekkerVersusQuestGridCtrl:Refresh(mapQuestData)
local mapQuestCfgData = ConfigTable.GetData("TravelerDuelChallengeQuest", mapQuestData.Id)
if mapQuestCfgData == nil then
return
function TrekkerVersusQuestGridCtrl:Refresh(mapQuestData, actData)
self._mapActData = actData
self.mapQuestData = mapQuestData
local sHeatReachText = ConfigTable.GetUIText("TD_DuelHeatReach")
NovaAPI.SetTMPText(self._mapNode.TMPDesc, sHeatReachText .. "<space=9>" .. mapQuestData.TargetValue)
local nStatus = 0
local nCurHeat = self._mapActData:GetCurHeatValue().nSelfHotValue
if nCurHeat >= mapQuestData.TargetValue then
nStatus = 1
end
self.cfgData = mapQuestCfgData
NovaAPI.SetTMPText(self._mapNode.TMPDesc, mapQuestCfgData.Title)
self._mapNode.btnReceive.gameObject:SetActive(mapQuestData.Status == 1)
self._mapNode.btnJump.gameObject:SetActive(mapQuestData.Status == 0 and 0 < #self.cfgData.AffixJumpTo)
self._mapNode.TMPIncomplete.gameObject:SetActive(mapQuestData.Status == 0)
self._mapNode.imgComplete:SetActive(mapQuestData.Status == 2)
self._mapNode.maskComplete:SetActive(mapQuestData.Status == 2)
local tbHeatRewardIds = self._mapActData:GetHotValueRewardTable()
for k, v in pairs(tbHeatRewardIds) do
if v == mapQuestData.Id then
nStatus = 2
break
end
end
self._mapNode.btnReceive.gameObject:SetActive(nStatus == 1)
self._mapNode.btnJump.gameObject:SetActive(nStatus == 0)
self._mapNode.TMPIncomplete.gameObject:SetActive(nStatus == 0)
self._mapNode.imgComplete:SetActive(nStatus == 2)
self._mapNode.maskComplete:SetActive(nStatus == 2)
for i = 1, 3 do
local sFieldName1 = "AwardItemTid" .. i
local sFieldName2 = "AwardItemNum" .. i
local nItemTid = mapQuestCfgData[sFieldName1]
local nCount = mapQuestCfgData[sFieldName2]
local sFieldName1 = "ItemId" .. i
local sFieldName2 = "ItemQty" .. i
local nItemTid = mapQuestData[sFieldName1]
local nCount = mapQuestData[sFieldName2]
if 0 < nItemTid then
self._mapNode.btnItem[i].gameObject:SetActive(true)
self._mapNode.item[i]:SetItem(nItemTid, nil, nCount, nil, mapQuestData.Status == 2, nil, nil, true)
@@ -73,13 +86,16 @@ function TrekkerVersusQuestGridCtrl:Refresh(mapQuestData)
end
end
function TrekkerVersusQuestGridCtrl:OnBtnClick_Item(btn, nIdx)
local sFieldName1 = "AwardItemTid" .. nIdx
local sFieldName2 = "AwardItemNum" .. nIdx
local nItemTid = self.cfgData[sFieldName1]
local nCount = self.cfgData[sFieldName2]
local sFieldName1 = "ItemId" .. nIdx
local sFieldName2 = "ItemQty" .. nIdx
local nItemTid = self.mapQuestData[sFieldName1]
local nCount = self.mapQuestData[sFieldName2]
UTILS.ClickItemGridWithTips(nItemTid, btn.transform, true, true, false)
end
function TrekkerVersusQuestGridCtrl:OnBtnClick_JumpTo(btn)
EventManager.Hit("TrekkerVersusAffixJump", self.cfgData.AffixJumpTo)
EventManager.Hit("TrekkerVersusHeatQuestJump", 1)
end
function TrekkerVersusQuestGridCtrl:OnBtnClick_Receive()
EventManager.Hit("TrekkerVersusReceiveHeatQuest", 1)
end
return TrekkerVersusQuestGridCtrl