Files
StellaSora_DataLua/lua/game/ui/towerdefense/towerdefensequestcellctrl.lua
SL1900 5e0d58cfad Initial version - 1.2.0.60
EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
2025-12-03 01:00:00 +09:00

77 lines
2.8 KiB
Lua

local TowerDefenseQuestCellCtrl = class("TowerDefenseQuestCellCtrl", BaseCtrl)
local barMinX = -505
local barMaxX = 0
TowerDefenseQuestCellCtrl._mapNodeConfig = {
rtReward = {
sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl"
},
btnReward = {
sComponentName = "UIButton",
callback = "OnBtnClick_Reward"
},
TMPTitle = {sComponentName = "TMP_Text"},
btnReceive = {
sComponentName = "UIButton",
callback = "OnBtnClick_GetReward"
},
txtBtnReceive = {
sComponentName = "TMP_Text",
sLanguageId = "TowerDef_Quest_Receive"
},
go_UnComplete = {
sNodeName = "TMPUncomplete"
},
TMPUncomplete = {
sComponentName = "TMP_Text",
sLanguageId = "TowerDef_Quest_UnComplete"
},
imgComplete = {},
imgCompleteMask = {},
txt_process = {sComponentName = "TMP_Text"},
imgBarFill = {
sComponentName = "RectTransform"
}
}
TowerDefenseQuestCellCtrl._mapEventConfig = {}
TowerDefenseQuestCellCtrl._mapRedDotConfig = {}
function TowerDefenseQuestCellCtrl:SetData(nActId, questData)
self.nActId = nActId
self.questData = questData
self.TowerDefenseData = PlayerData.Activity:GetActivityDataById(self.nActId)
local config = ConfigTable.GetData("TowerDefenseQuest", self.questData.nId)
if config == nil then
return
end
NovaAPI.SetTMPText(self._mapNode.TMPTitle, config.Desc)
self._mapNode.imgBarFill.anchoredPosition = Vector2(barMinX + (barMaxX - barMinX) * (questData.progress[1].Cur / questData.progress[1].Max), self._mapNode.imgBarFill.anchoredPosition.y)
NovaAPI.SetTMPText(self._mapNode.txt_process, questData.progress[1].Cur .. "/" .. questData.progress[1].Max)
self._mapNode.imgComplete:SetActive(self.questData.nState == AllEnum.ActQuestStatus.Received)
self._mapNode.imgCompleteMask:SetActive(self.questData.nState == AllEnum.ActQuestStatus.Received)
self._mapNode.go_UnComplete:SetActive(self.questData.nState == AllEnum.ActQuestStatus.UnComplete)
self._mapNode.btnReceive.gameObject:SetActive(self.questData.nState == AllEnum.ActQuestStatus.Complete)
if config.Item1 > 0 then
self._mapNode.btnReward.gameObject:SetActive(true)
self._mapNode.rtReward:SetItem(config.Item1, nil, config.Qty1, nil, self.questData.nState == AllEnum.ActQuestStatus.Received)
else
self._mapNode.btnReward.gameObject:SetActive(false)
end
end
function TowerDefenseQuestCellCtrl:OnBtnClick_GetReward()
if self.questData == nil then
return
end
self.TowerDefenseData:RequestReceiveQuest(0, self.questData.nId)
end
function TowerDefenseQuestCellCtrl:OnBtnClick_Reward()
local config = ConfigTable.GetData("TowerDefenseQuest", self.questData.nId)
if config == nil then
return
end
if config.Item1 > 0 then
UTILS.ClickItemGridWithTips(config.Item1, self._mapNode.btnReward.transform, true, true, false)
end
end
function TowerDefenseQuestCellCtrl:OnEvent_AAA()
end
return TowerDefenseQuestCellCtrl