Files
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

83 lines
3.0 KiB
Lua

local DepotItemTitleCtrl = class("DepotItemTitleCtrl", BaseCtrl)
DepotItemTitleCtrl._mapNodeConfig = {
goItemL = {
sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl"
},
txtName = {sComponentName = "TMP_Text"},
btnLock = {
sComponentName = "UIButton",
callback = "OnBtnClick_Lock"
},
imgLock = {},
imgUnlock = {},
goItemStar = {
sCtrlName = "Game.UI.TemplateEx.TemplateStarCtrl"
},
txtLevelCn = {
sComponentName = "TMP_Text",
sLanguageId = "Depot_Level"
},
txtTitleLevel = {sComponentName = "TMP_Text"},
txtCountCn = {
sComponentName = "TMP_Text",
sLanguageId = "Depot_ItemQTY"
},
txtItemCount = {sComponentName = "TMP_Text"},
goRemain = {},
txtRemain = {
sComponentName = "TMP_Text",
sLanguageId = "Depot_LeftTime"
},
imgRemainTime = {nCount = 3},
txtTime = {sComponentName = "TMP_Text"}
}
DepotItemTitleCtrl._mapEventConfig = {}
function DepotItemTitleCtrl:SetItemTitle(nTog, mapItem)
self.nCurTog = nTog
self:SetItem(mapItem.nTid, mapItem.nRarity, mapItem.nCount, mapItem.nExpire)
end
function DepotItemTitleCtrl:SetItem(nId, nRarity, nCount, nExpire)
self._mapNode.btnLock.gameObject:SetActive(false)
self._mapNode.goItemStar.gameObject:SetActive(false)
self._mapNode.txtLevelCn.gameObject:SetActive(false)
self._mapNode.txtCountCn.gameObject:SetActive(true)
self._mapNode.goRemain.gameObject:SetActive(nExpire and nExpire ~= 0)
self._mapNode.goItemL:SetItem(nId, nRarity, nil, nil, nil, nil, nil, nil, nil, true)
NovaAPI.SetTMPText(self._mapNode.txtName, ConfigTable.GetData_Item(nId).Title)
NovaAPI.SetTMPText(self._mapNode.txtItemCount, nCount)
if nExpire and nExpire ~= 0 then
local curTime = CS.ClientManager.Instance.serverTimeStamp
local remainTime = nExpire - curTime
if 86400 <= remainTime then
local day = math.floor(remainTime / 86400)
local hour = math.floor((remainTime - day * 86400) / 3600)
if hour == 0 then
day = day - 1
hour = 24
end
NovaAPI.SetTMPText(self._mapNode.txtTime, string.format("%s%s%s%s", day, ConfigTable.GetUIText("Depot_LeftTime_Day"), hour, ConfigTable.GetUIText("Depot_LeftTime_Hour")))
elseif 3600 <= remainTime then
local hour = math.floor(remainTime / 3600)
local min = math.floor((remainTime - hour * 3600) / 60)
if min == 0 then
hour = hour - 1
min = 60
end
NovaAPI.SetTMPText(self._mapNode.txtTime, string.format("%s%s%s%s", hour, ConfigTable.GetUIText("Depot_LeftTime_Hour"), min, ConfigTable.GetUIText("Depot_LeftTime_Min")))
else
local min = math.max(math.floor(remainTime / 60), 1)
NovaAPI.SetTMPText(self._mapNode.txtTime, string.format("%s%s", min, ConfigTable.GetUIText("Depot_LeftTime_Min")))
end
self._mapNode.imgRemainTime[1]:SetActive(86400 <= remainTime)
self._mapNode.imgRemainTime[2]:SetActive(remainTime < 86400 and 3600 <= remainTime)
self._mapNode.imgRemainTime[3]:SetActive(remainTime < 3600)
end
end
function DepotItemTitleCtrl:_ChangeLock(bLock)
self._mapNode.imgLock:SetActive(bLock)
self._mapNode.imgUnlock:SetActive(not bLock)
end
function DepotItemTitleCtrl:OnBtnClick_Lock(btn)
end
return DepotItemTitleCtrl