Files
StellaSora_DataLua/lua/game/ui/activity/loginreward/loginrewarditemctrl.lua
T
SL1900 35fe1f046d Hotfix - 1.8.0.98
EN: 1.8.0.98
CN: 1.8.0.99
JP: 1.8.0.101
KR: 1.8.0.103
2026-04-07 13:00:00 +09:00

58 lines
2.1 KiB
Lua

local LoginRewardItemCtrl = class("LoginRewardItemCtrl", BaseCtrl)
LoginRewardItemCtrl._mapNodeConfig = {
imgCanReceiveBg = {},
imgBg = {},
imgPlusBg = {},
imgIcon = {sComponentName = "Image"},
txtItemCount = {sComponentName = "TMP_Text"},
imgDay = {nCount = 2, sComponentName = "Image"},
txtItemName = {sComponentName = "TMP_Text"},
goReceived = {},
txtReceived = {
sComponentName = "TMP_Text",
sLanguageId = "LoginReward_Received"
},
imgCanReceive = {},
txtCanReceive = {
sComponentName = "TMP_Text",
sLanguageId = "LoginReward_Can_Receive"
},
imgNextReceive = {},
txtNextReceive = {
sComponentName = "TMP_Text",
sLanguageId = "LoginReward_Next_Receive"
},
goParticle = {sNodeName = "UIParticle"}
}
LoginRewardItemCtrl._mapEventConfig = {}
LoginRewardItemCtrl._mapRedDotConfig = {}
function LoginRewardItemCtrl:SetRewardItem(nDay, mapReward, bFinalDay, bNextDay, sNumName)
self.mapReward = mapReward
for _, v in ipairs(self._mapNode.imgDay) do
if sNumName then
self:SetAtlasSprite(v, "05_number", sNumName .. nDay)
else
self:SetAtlasSprite(v, "05_number", "zs_activity_02_num_" .. nDay)
end
end
self:SetPngSprite(self._mapNode.imgIcon, mapReward.RewardIcon or "")
NovaAPI.SetTMPText(self._mapNode.txtItemCount, orderedFormat(ConfigTable.GetUIText("LoginReward_Reward_Count"), mapReward.RewardCount))
NovaAPI.SetTMPText(self._mapNode.txtItemName, mapReward.RewardDesc)
self._mapNode.imgCanReceive.gameObject:SetActive(mapReward.Status == 1)
self._mapNode.imgCanReceiveBg.gameObject:SetActive(mapReward.Status == 1)
self._mapNode.goReceived.gameObject:SetActive(mapReward.Status == 2)
self._mapNode.imgNextReceive.gameObject:SetActive(bNextDay)
self._mapNode.imgPlusBg.gameObject:SetActive(mapReward.DisRare)
self._mapNode.goParticle.gameObject:SetActive(mapReward.DisRare and mapReward.Status ~= 2)
self._mapNode.imgBg.gameObject:SetActive(not mapReward.DisRare)
self.tbRewardList = {}
for i = 1, 3 do
local nTid = mapReward["RewardId" .. i]
local nCount = mapReward["Qty" .. i]
if nTid ~= 0 then
table.insert(self.tbRewardList, {nTid = nTid, nCount = nCount})
end
end
end
return LoginRewardItemCtrl