08b515afd9
EN: 2.0.0.143 CN: 2.0.0.142 JP: 2.0.0.145 KR: 2.0.0.150
87 lines
2.7 KiB
Lua
87 lines
2.7 KiB
Lua
local StarTowerTokenBuyItemCtrl = class("StarTowerTokenBuyItemCtrl", BaseCtrl)
|
|
StarTowerTokenBuyItemCtrl._mapNodeConfig = {
|
|
btnUse = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Use"
|
|
},
|
|
txtBtnUse = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Energy_Buy_Item_Use"
|
|
},
|
|
btnUseGray = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Use"
|
|
},
|
|
txtBtnUseGray = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Energy_Buy_Item_Use"
|
|
},
|
|
txtPermanent = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Energy_Item_Permanent_Time"
|
|
},
|
|
txtHaveCount = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Energy_Item_Count_Text"
|
|
},
|
|
txtHaveCountValue = {sComponentName = "TMP_Text"},
|
|
ctrlItem = {
|
|
sNodeName = "goEnergyItem",
|
|
sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl"
|
|
},
|
|
btnItem = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Item"
|
|
},
|
|
txtItemName = {sComponentName = "TMP_Text"},
|
|
txtTokenValue = {sComponentName = "TMP_Text"},
|
|
imgToken = {sComponentName = "Image"}
|
|
}
|
|
StarTowerTokenBuyItemCtrl._mapEventConfig = {}
|
|
function StarTowerTokenBuyItemCtrl:SetItem(mapItemData)
|
|
self.mapItemData = mapItemData
|
|
NovaAPI.SetTMPText(self._mapNode.txtHaveCountValue, mapItemData.nCount)
|
|
self._mapNode.btnUseGray.gameObject:SetActive(mapItemData.nCount == 0)
|
|
self._mapNode.btnUse.gameObject:SetActive(mapItemData.nCount > 0)
|
|
local itemId = mapItemData.nTid
|
|
local mapItemCfg = ConfigTable.GetData_Item(itemId)
|
|
self._mapNode.ctrlItem:SetItem(itemId, nil, nil, nil, nil, nil, nil, true, nil, true)
|
|
NovaAPI.SetTMPText(self._mapNode.txtItemName, mapItemCfg.Title)
|
|
local nCountTemp = mapItemData.nTokenValue * 100 / self._panel.nMaxToken
|
|
if nCountTemp < 1 and 0 < nCountTemp then
|
|
nCountTemp = 1
|
|
end
|
|
local nRatio = math.floor(nCountTemp)
|
|
NovaAPI.SetTMPText(self._mapNode.txtTokenValue, "+" .. nRatio .. "%")
|
|
end
|
|
function StarTowerTokenBuyItemCtrl:OnBtnClick_Use()
|
|
if self.mapItemData.nCount == 0 then
|
|
EventManager.Hit(EventId.OpenMessageBox, {
|
|
nType = AllEnum.MessageBox.Tips,
|
|
sContent = ConfigTable.GetUIText("TokenBuy_NoItem"),
|
|
bBlur = false
|
|
})
|
|
return
|
|
end
|
|
local nCurToken = PlayerData.StarTowerAutoPlan:GetTokenCount()
|
|
if nCurToken >= self._panel.nMaxToken then
|
|
EventManager.Hit(EventId.OpenMessageBox, {
|
|
nType = AllEnum.MessageBox.Tips,
|
|
sContent = ConfigTable.GetUIText("TokenBuy_HitLimit"),
|
|
bBlur = false
|
|
})
|
|
return
|
|
end
|
|
self._panel.mapItemData = self.mapItemData
|
|
EventManager.Hit("ChangeTokenBuyPanel", AllEnum.TokenBuyPanelType.ItemUse)
|
|
end
|
|
function StarTowerTokenBuyItemCtrl:OnBtnClick_Item(btn)
|
|
local mapData = {
|
|
nTid = self.mapItemData.nTid,
|
|
bShowDepot = true,
|
|
bShowJumpto = false
|
|
}
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.ItemTips, btn.transform, mapData)
|
|
end
|
|
return StarTowerTokenBuyItemCtrl
|