e0549005e1
EN: 1.9.0.103 CN: 1.9.0.104 JP: 1.9.0.106 KR: 1.9.0.108
472 lines
18 KiB
Lua
472 lines
18 KiB
Lua
local EquipmentUpgradeCtrl = class("EquipmentUpgradeCtrl", BaseCtrl)
|
|
local WwiseAudioMgr = CS.WwiseAudioManager.Instance
|
|
EquipmentUpgradeCtrl._mapNodeConfig = {
|
|
TopBar = {
|
|
sNodeName = "TopBarPanel",
|
|
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
|
|
},
|
|
blur = {
|
|
sNodeName = "t_fullscreen_blur_blue"
|
|
},
|
|
aniBlur = {
|
|
sNodeName = "t_fullscreen_blur_blue",
|
|
sComponentName = "Animator"
|
|
},
|
|
btnCloseBg = {
|
|
sNodeName = "snapshot1",
|
|
sComponentName = "Button",
|
|
callback = "OnBtnClick_Close"
|
|
},
|
|
txtWindowTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Equipment_Upgrade_WindowTitle"
|
|
},
|
|
window = {},
|
|
aniWindow = {sNodeName = "window", sComponentName = "Animator"},
|
|
btnClose = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Close"
|
|
},
|
|
txtEquipmentName = {sComponentName = "TMP_Text"},
|
|
btnProperty = {
|
|
nCount = 4,
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Property"
|
|
},
|
|
goProperty = {
|
|
nCount = 4,
|
|
sCtrlName = "Game.UI.TemplateEx.TemplateRandomPropertyCtrl"
|
|
},
|
|
imgOff = {nCount = 4},
|
|
imgOn = {nCount = 4},
|
|
imgMax = {nCount = 4},
|
|
txtTitleMat = {sComponentName = "TMP_Text"},
|
|
goTip = {},
|
|
goRevert = {},
|
|
goUpgrade = {},
|
|
goPropertyRevert = {
|
|
sCtrlName = "Game.UI.TemplateEx.TemplateRandomPropertyCtrl"
|
|
},
|
|
txtUpgradeTip = {nCount = 2, sComponentName = "TMP_Text"},
|
|
goMat = {
|
|
nCount = 2,
|
|
sCtrlName = "Game.UI.TemplateEx.TemplateMatCtrl"
|
|
},
|
|
btnMat = {
|
|
nCount = 2,
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_MatTip"
|
|
},
|
|
btnUpgrade = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Upgrade"
|
|
},
|
|
btnRevert = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Revert"
|
|
},
|
|
txtBtnUpgrade = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Equipment_Btn_Upgrade"
|
|
},
|
|
txtBtnRevert = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Equipment_Btn_Revert"
|
|
},
|
|
imgCostIcon = {sComponentName = "Image"},
|
|
txtCostCount = {sComponentName = "TMP_Text"},
|
|
goCostCoin = {},
|
|
goMaxUpgrade = {},
|
|
animPopUpBlur = {
|
|
sNodeName = "goMaxUpgradeBlur",
|
|
sComponentName = "Animator"
|
|
},
|
|
animPopUpWindow = {
|
|
sNodeName = "goMaxUpgradeWindow",
|
|
sComponentName = "Animator"
|
|
},
|
|
txtPopUpTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "MessageBox_Title"
|
|
},
|
|
txtMaxUpgradeTip = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Equipment_Upgrade_MaxUpgradeTip"
|
|
},
|
|
goPropertyPopUp = {
|
|
nCount = 2,
|
|
sCtrlName = "Game.UI.TemplateEx.TemplateRandomPropertyCtrl"
|
|
},
|
|
btnOK = {sComponentName = "UIButton"},
|
|
txtBtnOK = {sComponentName = "TMP_Text", sLanguageId = "BtnConfirm"},
|
|
btnNG = {sComponentName = "UIButton"},
|
|
txtBtnNG = {sComponentName = "TMP_Text", sLanguageId = "BtnCancel"},
|
|
btnPopUpClose = {sComponentName = "UIButton", callback = "ClosePopUp"},
|
|
btnPopUpCloseBig = {sComponentName = "UIButton", callback = "ClosePopUp"}
|
|
}
|
|
EquipmentUpgradeCtrl._mapEventConfig = {}
|
|
function EquipmentUpgradeCtrl:Open()
|
|
self._mapNode.blur:SetActive(true)
|
|
self:PlayInAni()
|
|
self:Refresh()
|
|
end
|
|
function EquipmentUpgradeCtrl:Refresh()
|
|
self:RefreshData()
|
|
self:RefreshProperty()
|
|
self:RefreshInfo()
|
|
self:RefreshDesc()
|
|
end
|
|
function EquipmentUpgradeCtrl:RefreshData()
|
|
local nGemId = PlayerData.Equipment:GetGemIdBySlot(self.nCharId, self.nSlotId)
|
|
self.mapGemCfg = ConfigTable.GetData("CharGem", nGemId)
|
|
self.mapSlotCfg = ConfigTable.GetData("CharGemSlotControl", self.nSlotId)
|
|
local tbEquipment = PlayerData.Equipment:GetEquipmentBySlot(self.nCharId, self.nSlotId)
|
|
self.mapEquipment = tbEquipment[self.nSelectGemIndex]
|
|
end
|
|
function EquipmentUpgradeCtrl:RefreshInfo()
|
|
local sRoman = ConfigTable.GetUIText("RomanNumeral_" .. self.nSelectGemIndex)
|
|
local sSuf = orderedFormat(ConfigTable.GetUIText("Equipment_NameIndexSuffix"), sRoman)
|
|
NovaAPI.SetTMPText(self._mapNode.txtEquipmentName, self.mapGemCfg.Title .. sSuf)
|
|
end
|
|
function EquipmentUpgradeCtrl:RefreshProperty()
|
|
for i = 1, 4 do
|
|
if self.nSelectUpgradeIndex == i then
|
|
local bSelectChanged = false
|
|
local nId = self.mapEquipment.tbAffix[self.nSelectUpgradeIndex]
|
|
local mapCfg = ConfigTable.GetData("CharGemAttrValue", nId)
|
|
if mapCfg then
|
|
local nLeft = mapCfg.OverlockCount - self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex]
|
|
if 0 < nLeft then
|
|
bSelectChanged = true
|
|
end
|
|
end
|
|
if bSelectChanged then
|
|
self._mapNode.goProperty[i]:SetProperty(self.mapEquipment.tbAffix[i], self.nCharId, false, self.mapEquipment.tbUpgradeCount[i] + 1)
|
|
else
|
|
self._mapNode.goProperty[i]:SetProperty(self.mapEquipment.tbAffix[i], self.nCharId, false, self.mapEquipment.tbUpgradeCount[i])
|
|
end
|
|
else
|
|
self._mapNode.goProperty[i]:SetProperty(self.mapEquipment.tbAffix[i], self.nCharId, false, self.mapEquipment.tbUpgradeCount[i])
|
|
end
|
|
self._mapNode.imgMax[i]:SetActive(false)
|
|
self._mapNode.imgOff[i]:SetActive(self.nSelectUpgradeIndex ~= i)
|
|
self._mapNode.imgOn[i]:SetActive(self.nSelectUpgradeIndex == i)
|
|
end
|
|
end
|
|
function EquipmentUpgradeCtrl:RefreshDesc()
|
|
self._mapNode.goRevert:SetActive(false)
|
|
self._mapNode.goUpgrade:SetActive(false)
|
|
self._mapNode.goTip:SetActive(false)
|
|
self._mapNode.goCostCoin:SetActive(false)
|
|
local nUpgradeCount = self.mapEquipment:GetUpgradeCount()
|
|
local nLimit = ConfigTable.GetConfigNumber("CharGemOverlockCount")
|
|
local bAble = nUpgradeCount < nLimit
|
|
if bAble then
|
|
if self.nSelectUpgradeIndex == 0 then
|
|
self._mapNode.goTip:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.txtUpgradeTip[1], orderedFormat(ConfigTable.GetUIText("Equipment_Upgrade_NeedSelect"), nLimit - nUpgradeCount))
|
|
NovaAPI.SetTMPText(self._mapNode.txtTitleMat, ConfigTable.GetUIText("Equipment_Upgrade_OptionTitle"))
|
|
elseif self.nSelectUpgradeIndex ~= 0 then
|
|
local nId = self.mapEquipment.tbAffix[self.nSelectUpgradeIndex]
|
|
local mapCfg = ConfigTable.GetData("CharGemAttrValue", nId)
|
|
if mapCfg then
|
|
local nLeft = mapCfg.OverlockCount - self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex]
|
|
if 0 < nLeft then
|
|
self._mapNode.goUpgrade:SetActive(true)
|
|
self._mapNode.goMat[1]:SetMat(self.mapGemCfg.OverlockCostTid, self.mapSlotCfg.OverlockCostQty)
|
|
self._mapNode.goMat[2]:SetMat(AllEnum.CoinItemId.Gold, self.mapSlotCfg.OverlockDoraCostQty)
|
|
self:RefreshCoin()
|
|
NovaAPI.SetTMPText(self._mapNode.txtTitleMat, ConfigTable.GetUIText("Equipment_Upgrade_CostTitle"))
|
|
else
|
|
self._mapNode.goTip:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.txtUpgradeTip[1], ConfigTable.GetUIText("Equipment_Upgrade_MaxLevel"))
|
|
NovaAPI.SetTMPText(self._mapNode.txtTitleMat, ConfigTable.GetUIText("Equipment_Upgrade_OptionTitle"))
|
|
end
|
|
end
|
|
end
|
|
elseif self.nSelectUpgradeIndex == 0 then
|
|
self._mapNode.goTip:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.txtUpgradeTip[1], orderedFormat(ConfigTable.GetUIText("Equipment_Upgrade_NeedSelect"), nLimit - nUpgradeCount))
|
|
NovaAPI.SetTMPText(self._mapNode.txtTitleMat, ConfigTable.GetUIText("Equipment_Upgrade_OptionTitle"))
|
|
elseif self.nSelectUpgradeIndex ~= 0 then
|
|
if 0 < self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex] then
|
|
self._mapNode.goRevert:SetActive(true)
|
|
self._mapNode.goPropertyRevert:SetProperty(self.mapEquipment.tbAffix[self.nSelectUpgradeIndex], self.nCharId, false, self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex] - 1)
|
|
NovaAPI.SetTMPText(self._mapNode.txtUpgradeTip[2], orderedFormat(ConfigTable.GetUIText("Equipment_Upgrade_RevertDesc"), nLimit - nUpgradeCount + 1))
|
|
NovaAPI.SetTMPText(self._mapNode.txtTitleMat, ConfigTable.GetUIText("Equipment_Upgrade_RevertTitle"))
|
|
else
|
|
self._mapNode.goTip:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.txtUpgradeTip[1], ConfigTable.GetUIText("Equipment_Upgrade_MaxLimit"))
|
|
NovaAPI.SetTMPText(self._mapNode.txtTitleMat, ConfigTable.GetUIText("Equipment_Upgrade_OptionTitle"))
|
|
end
|
|
end
|
|
end
|
|
function EquipmentUpgradeCtrl:RefreshCoin()
|
|
self._mapNode.goCostCoin:SetActive(true)
|
|
self:SetSprite_Coin(self._mapNode.imgCostIcon, AllEnum.CoinItemId.Gold)
|
|
local nHasCoin = PlayerData.Coin:GetCoinCount(AllEnum.CoinItemId.Gold)
|
|
NovaAPI.SetTMPText(self._mapNode.txtCostCount, self.mapSlotCfg.OverlockDoraCostQty)
|
|
NovaAPI.SetTMPColor(self._mapNode.txtCostCount, nHasCoin < self.mapSlotCfg.OverlockDoraCostQty and Red_Unable or Blue_Normal)
|
|
end
|
|
function EquipmentUpgradeCtrl:PlayInAni()
|
|
self._mapNode.window:SetActive(true)
|
|
self._mapNode.aniWindow:Play("t_window_04_t_in")
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
|
|
end
|
|
function EquipmentUpgradeCtrl:PlayOutAni()
|
|
self._mapNode.aniWindow:Play("t_window_04_t_out")
|
|
self._mapNode.aniBlur:SetTrigger("tOut")
|
|
self:AddTimer(1, 0.2, "Close", true, true, true)
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.2)
|
|
end
|
|
function EquipmentUpgradeCtrl:Close()
|
|
self._mapNode.window:SetActive(false)
|
|
self.bManualClose = true
|
|
EventManager.Hit(EventId.ClosePanel, PanelId.EquipmentUpgrade)
|
|
end
|
|
function EquipmentUpgradeCtrl:CheckMaxUpgrade(nId, nIdx)
|
|
local nIndex = 0
|
|
if nIdx ~= nil then
|
|
nIndex = nIdx
|
|
else
|
|
nIndex = self.nSelectUpgradeIndex
|
|
end
|
|
local nCurId = nId + self.mapEquipment.tbUpgradeCount[nIndex]
|
|
local nNextId = nCurId + 1
|
|
local mapNextLevel = ConfigTable.GetData("CharGemAttrValue", nNextId)
|
|
return mapNextLevel ~= nil and mapNextLevel.OverlockCount == 0
|
|
end
|
|
function EquipmentUpgradeCtrl:Awake()
|
|
self._mapNode.window:SetActive(false)
|
|
local tbParam = self:GetPanelParam()
|
|
if type(tbParam) == "table" then
|
|
self.nCharId = tbParam[1]
|
|
self.nSlotId = tbParam[2]
|
|
self.nSelectGemIndex = tbParam[3]
|
|
self.nSelectUpgradeIndex = tbParam[4] or 0
|
|
end
|
|
end
|
|
function EquipmentUpgradeCtrl:OnEnable()
|
|
self:Open()
|
|
end
|
|
function EquipmentUpgradeCtrl:OnDisable()
|
|
if not self.bManualClose then
|
|
PlayerData.Equipment:CacheEquipmentUpgrade(self.nSlotId, self.nSelectGemIndex, self.nCharId, self.nSelectUpgradeIndex)
|
|
end
|
|
end
|
|
function EquipmentUpgradeCtrl:OnDestroy()
|
|
end
|
|
function EquipmentUpgradeCtrl:OnBtnClick_Close()
|
|
self:PlayOutAni()
|
|
end
|
|
function EquipmentUpgradeCtrl:OnBtnClick_Property(_, nIndex)
|
|
local nBefore = self.nSelectUpgradeIndex
|
|
if self.nSelectUpgradeIndex == nIndex then
|
|
self.nSelectUpgradeIndex = 0
|
|
else
|
|
self.nSelectUpgradeIndex = nIndex
|
|
end
|
|
self:RefreshDesc()
|
|
for i = 1, 4 do
|
|
self._mapNode.imgMax[i]:SetActive(false)
|
|
self._mapNode.imgOff[i]:SetActive(self.nSelectUpgradeIndex ~= i)
|
|
self._mapNode.imgOn[i]:SetActive(self.nSelectUpgradeIndex == i)
|
|
end
|
|
if nBefore ~= 0 then
|
|
self._mapNode.goProperty[nBefore]:SetProperty(self.mapEquipment.tbAffix[nBefore], self.nCharId, false, self.mapEquipment.tbUpgradeCount[nBefore])
|
|
end
|
|
if self.nSelectUpgradeIndex ~= 0 then
|
|
local nUpgradeCount = self.mapEquipment:GetUpgradeCount()
|
|
local nLimit = ConfigTable.GetConfigNumber("CharGemOverlockCount")
|
|
local bAble = nUpgradeCount < nLimit
|
|
local bSelectChanged = false
|
|
local nId = self.mapEquipment.tbAffix[self.nSelectUpgradeIndex]
|
|
local mapCfg = ConfigTable.GetData("CharGemAttrValue", nId)
|
|
if mapCfg then
|
|
local nLeft = mapCfg.OverlockCount - self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex]
|
|
if 0 < nLeft then
|
|
bSelectChanged = true
|
|
end
|
|
end
|
|
if bSelectChanged and bAble then
|
|
local nCurId = self.mapEquipment.tbAffix[nIndex]
|
|
local bMaxUpgrade = self:CheckMaxUpgrade(nCurId, nIndex)
|
|
self._mapNode.imgMax[nIndex]:SetActive(bMaxUpgrade)
|
|
self._mapNode.goProperty[self.nSelectUpgradeIndex]:PlayUpgradeAni(self.mapEquipment.tbAffix[self.nSelectUpgradeIndex], self.nCharId, false, self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex] + 1)
|
|
end
|
|
end
|
|
end
|
|
function EquipmentUpgradeCtrl:OnBtnClick_Upgrade()
|
|
if self.nSelectUpgradeIndex == 0 then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Equipment_NeedToSelectAffix"))
|
|
return
|
|
end
|
|
local bAble = self.mapEquipment:CheckUpgradeAble()
|
|
if not bAble then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Equipment_UpgradeCountEmpty"))
|
|
return
|
|
end
|
|
local nId = self.mapEquipment.tbAffix[self.nSelectUpgradeIndex]
|
|
local mapCfg = ConfigTable.GetData("CharGemAttrValue", nId)
|
|
if not mapCfg then
|
|
return
|
|
end
|
|
local nLeft = mapCfg.OverlockCount - self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex]
|
|
if nLeft <= 0 then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Equipment_SelectAffixMax"))
|
|
return
|
|
end
|
|
local nHas = PlayerData.Item:GetItemCountByID(self.mapGemCfg.OverlockCostTid)
|
|
local nHasCoin = PlayerData.Item:GetItemCountByID(AllEnum.CoinItemId.Gold)
|
|
local bEnough = nHas >= self.mapSlotCfg.OverlockCostQty and nHasCoin >= self.mapSlotCfg.OverlockDoraCostQty
|
|
if not bEnough then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Equipment_MatNotEnough_Upgrade"))
|
|
return
|
|
end
|
|
local upgrade = function()
|
|
local sCost = ""
|
|
local mapItemCfg = ConfigTable.GetData_Item(self.mapGemCfg.OverlockCostTid)
|
|
if mapItemCfg then
|
|
sCost = mapItemCfg.Title
|
|
end
|
|
local msg = {
|
|
nType = AllEnum.MessageBox.Confirm,
|
|
sContent = orderedFormat(ConfigTable.GetUIText("Equipment_Upgrade_MainTips"), self.mapSlotCfg.OverlockCostQty, sCost),
|
|
sContentSub = ConfigTable.GetUIText("Equipment_Upgrade_SubTips"),
|
|
callbackConfirmAfterClose = function()
|
|
local callback = function()
|
|
local mapData = {
|
|
nAffixId = nId,
|
|
nCharId = self.nCharId,
|
|
nUpgradeCount = self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex]
|
|
}
|
|
self._mapNode.aniWindow:Play("t_window_04_t_out")
|
|
self._mapNode.aniBlur:SetTrigger("tOut")
|
|
self:AddTimer(1, 0.2, function()
|
|
self._mapNode.blur:SetActive(false)
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.EquipmentSucBar, mapData, function()
|
|
self._mapNode.blur:SetActive(true)
|
|
self._mapNode.aniWindow:Play("t_window_04_t_in")
|
|
WwiseAudioMgr:PostEvent("ui_common_menu2")
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
|
|
self.nSelectUpgradeIndex = 0
|
|
self:Refresh()
|
|
end)
|
|
end, true, true, true)
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.2)
|
|
end
|
|
PlayerData.Equipment:SendCharGemOverlockReq(self.nCharId, self.nSlotId, self.nSelectGemIndex, self.nSelectUpgradeIndex, callback)
|
|
end,
|
|
bBlur = false
|
|
}
|
|
EventManager.Hit(EventId.OpenMessageBox, msg)
|
|
end
|
|
local confirm = function()
|
|
self:ClosePopUp()
|
|
local bSame = self.mapEquipment:CheckUpgradeAlterSame(self.nSelectUpgradeIndex)
|
|
if not bSame then
|
|
local msg = {
|
|
nType = AllEnum.MessageBox.Confirm,
|
|
sContent = ConfigTable.GetUIText("Equipment_Upgrade_AlterHasNotSameAffix"),
|
|
callbackConfirmAfterClose = upgrade,
|
|
bBlur = false
|
|
}
|
|
EventManager.Hit(EventId.OpenMessageBox, msg)
|
|
else
|
|
upgrade()
|
|
end
|
|
end
|
|
local nCurId = nId + self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex]
|
|
local nNextId = nCurId + 1
|
|
local mapNextLevel = ConfigTable.GetData("CharGemAttrValue", nNextId)
|
|
local bMaxUpgrade = mapNextLevel ~= nil and mapNextLevel.OverlockCount == 0
|
|
if bMaxUpgrade then
|
|
self:OpenPopUp()
|
|
self._mapNode.goPropertyPopUp[1]:SetProperty(nCurId, self.nCharId)
|
|
self._mapNode.goPropertyPopUp[2]:SetProperty(nNextId, self.nCharId)
|
|
self._mapNode.btnOK.onClick:RemoveAllListeners()
|
|
self._mapNode.btnOK.onClick:AddListener(confirm)
|
|
self._mapNode.btnNG.onClick:RemoveAllListeners()
|
|
self._mapNode.btnNG.onClick:AddListener(function()
|
|
self:ClosePopUp()
|
|
end)
|
|
else
|
|
confirm()
|
|
end
|
|
end
|
|
function EquipmentUpgradeCtrl:OpenPopUp()
|
|
self._mapNode.goMaxUpgrade:SetActive(true)
|
|
self._mapNode.animPopUpWindow:Play("t_window_04_t_in")
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
|
|
end
|
|
function EquipmentUpgradeCtrl:ClosePopUp()
|
|
if self._mapNode.goMaxUpgrade.activeSelf == false then
|
|
return
|
|
end
|
|
self._mapNode.animPopUpWindow:Play("t_window_04_t_out")
|
|
self._mapNode.animPopUpBlur:SetTrigger("tOut")
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.2)
|
|
self:AddTimer(1, 0.2, function()
|
|
self._mapNode.goMaxUpgrade:SetActive(false)
|
|
end, true, true, true)
|
|
end
|
|
function EquipmentUpgradeCtrl:OnBtnClick_Revert()
|
|
if self.nSelectUpgradeIndex == 0 then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Equipment_NeedToSelectAffix"))
|
|
return
|
|
end
|
|
if self.mapEquipment.tbUpgradeCount[self.nSelectUpgradeIndex] == 0 then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Equipment_CanNotRevert"))
|
|
return
|
|
end
|
|
local sCost = ""
|
|
local mapItemCfg = ConfigTable.GetData_Item(self.mapGemCfg.OverlockCostTid)
|
|
if mapItemCfg then
|
|
sCost = mapItemCfg.Title
|
|
end
|
|
local msg = {
|
|
nType = AllEnum.MessageBox.Confirm,
|
|
sContent = ConfigTable.GetUIText("Equipment_Revert_MainTips"),
|
|
sContentSub = orderedFormat(ConfigTable.GetUIText("Equipment_Revert_SubTips"), sCost),
|
|
callbackConfirmAfterClose = function()
|
|
local callback = function()
|
|
self._mapNode.aniWindow:Play("t_window_04_t_out")
|
|
self:AddTimer(1, 0.2, function()
|
|
self._mapNode.aniWindow:Play("t_window_04_t_in")
|
|
WwiseAudioMgr:PostEvent("ui_common_menu2")
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
|
|
self.nSelectUpgradeIndex = 0
|
|
self:Refresh()
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Equipment_RevertSuccess"))
|
|
end, true, true, true)
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.2)
|
|
end
|
|
PlayerData.Equipment:SendCharGemOverlockRevertReq(self.nCharId, self.nSlotId, self.nSelectGemIndex, self.nSelectUpgradeIndex, callback)
|
|
end,
|
|
bBlur = false
|
|
}
|
|
EventManager.Hit(EventId.OpenMessageBox, msg)
|
|
end
|
|
function EquipmentUpgradeCtrl:OnBtnClick_MatTip(btn, index)
|
|
if index == 1 then
|
|
if self.mapGemCfg.OverlockCostTid > 0 then
|
|
local mapData = {
|
|
nTid = self.mapGemCfg.OverlockCostTid,
|
|
nNeedCount = self.mapSlotCfg.OverlockCostQty,
|
|
bShowDepot = true,
|
|
bShowJumpto = true
|
|
}
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.ItemTips, btn.transform, mapData)
|
|
end
|
|
else
|
|
local mapData = {
|
|
nTid = AllEnum.CoinItemId.Gold,
|
|
nNeedCount = self.mapSlotCfg.OverlockDoraCostQty,
|
|
bShowDepot = true,
|
|
bShowJumpto = true
|
|
}
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.ItemTips, btn.transform, mapData)
|
|
end
|
|
end
|
|
return EquipmentUpgradeCtrl
|