Files
StellaSora_DataLua/lua/game/ui/activity/mining/miningquestcellctrl.lua
T
SL1900 80af235e05 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
2026-06-30 14:30:00 +09:00

84 lines
2.6 KiB
Lua

local MiningQuestCellCtrl = class("MiningQuestCellCtrl", BaseCtrl)
local JumpUtil = require("Game.Common.Utils.JumpUtil")
local totalLength = 520
local totalHeight = 37
MiningQuestCellCtrl._mapNodeConfig = {
txtTitle = {sComponentName = "TMP_Text"},
btn_Receive = {
sComponentName = "UIButton",
callback = "OnBtnClick_Receive"
},
txt_Receive = {
sComponentName = "TMP_Text",
"Mining_Quest_Receive"
},
btn_JumpTo = {
sComponentName = "UIButton",
callback = "OnBtnClick_JumpTo"
},
txt_JumoTo = {
sComponentName = "TMP_Text",
"Mining_Quest_Jump"
},
go_UnComplete = {},
go_Received = {},
go_ReceivedMask = {},
rtBarFill = {
sComponentName = "RectTransform"
},
btnReward = {
sComponentName = "UIButton",
callback = "OnBtnClick_Reward"
},
rtReward = {
sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl"
}
}
function MiningQuestCellCtrl:Init()
end
function MiningQuestCellCtrl:Awake(...)
end
function MiningQuestCellCtrl:OnDisable()
end
function MiningQuestCellCtrl:SetData(nActId, questData)
self.questData = questData
self.tbConfig = ConfigTable.GetData("MiningQuestConfig", self.questData.nId)
NovaAPI.SetText(self._mapNode.txtTitle, ConfigTable.GetUIText(self.tbConfig.QuestDes))
end
function MiningQuestCellCtrl:UpdateCellStatus()
self._mapNode.btn_Receive:SetActive(false)
self._mapNode.btn_JumpTo:SetActive(false)
self._mapNode.go_UnComplete:SetActive(false)
self._mapNode.go_Received:SetActive(false)
self._mapNode.go_ReceivedMask:SetActive(false)
if self.questData.nStatus == AllEnum.ActQuestStatus.Complete then
self._mapNode.btn_Receive:SetActive(true)
self._mapNode.rtBarFill.sizeDelta = Vector2(totalLength, totalHeight)
elseif self.questData.nStatus == AllEnum.ActQuestStatus.UnComplete then
self._mapNode.rtBarFill.sizeDelta = Vector2(self.questData.progress.Cur / self.questData.progress.Max * totalLength, totalHeight)
if self.tbConfig.JumpTo ~= nil or next(self.tbConfig.JumpTo) ~= nil then
self._mapNode.btn_JumpTo:SetActive(true)
else
self._mapNode.go_UnComplete:SetActive(true)
end
else
self._mapNode.go_Received:SetActive(true)
self._mapNode.go_ReceivedMask:SetActive(true)
self._mapNode.rtBarFill.sizeDelta = Vector2(totalLength, totalHeight)
end
end
function MiningQuestCellCtrl:OnBtnClick_Receive()
PlayerData.Activity:SendReceivePerQuest(self.nActId, self.nQuestId, nil)
end
function MiningQuestCellCtrl:OnBtnClick_JumpTo()
if nil ~= self.nJumpTo and 0 ~= self.nJumpTo then
JumpUtil.JumpTo(self.nJumpTo)
end
end
function MiningQuestCellCtrl:OnBtnClick_Reward(btn)
if nil ~= self.rewardId then
UTILS.ClickItemGridWithTips(self.rewardId, btn.transform, true, true, true)
end
end
return MiningQuestCellCtrl