590 lines
19 KiB
Lua
590 lines
19 KiB
Lua
|
|
local uiCtrl = require_ex('UI/Panels/Base/UICtrl')
|
|
local PANEL_ID = PanelId.GemEnhance
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl = HL.Class('GemEnhanceCtrl', uiCtrl.UICtrl)
|
|
|
|
local ENHANCE_NODE_STATE_NAME = {
|
|
GEM = "gem",
|
|
MATERIAL = "material",
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl.s_messages = HL.StaticField(HL.Table) << {
|
|
[MessageConst.ON_GEM_ENHANCE] = '_OnGemEnhance',
|
|
}
|
|
|
|
|
|
GemEnhanceCtrl.m_args = HL.Field(HL.Table)
|
|
|
|
|
|
GemEnhanceCtrl.m_selectedGemInstId = HL.Field(HL.Number) << -1
|
|
|
|
|
|
GemEnhanceCtrl.m_selectedMaterialGemInstId = HL.Field(HL.Number) << -1
|
|
|
|
|
|
GemEnhanceCtrl.m_selectedTermIndex = HL.Field(HL.Number) << -1
|
|
|
|
|
|
GemEnhanceCtrl.m_isSelectedTermMax = HL.Field(HL.Boolean) << false
|
|
|
|
|
|
GemEnhanceCtrl.m_TermLevelCellCache = HL.Field(HL.Forward("UIListCache"))
|
|
|
|
|
|
GemEnhanceCtrl.m_selectedTermEnhanceData = HL.Field(HL.Any)
|
|
|
|
|
|
GemEnhanceCtrl.m_isCostEnough = HL.Field(HL.Boolean) << false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl.OnCreate = HL.Override(HL.Any) << function(self, args)
|
|
self.m_args = args or {}
|
|
self:_InitController()
|
|
|
|
self.view.btnClose.onClick:AddListener(function()
|
|
PhaseManager:PopPhase(PhaseId.GemEnhance)
|
|
end)
|
|
self.view.btnBack.onClick:AddListener(function()
|
|
self:_BackToSelectionMode(true)
|
|
end)
|
|
self.view.enhancedNode.commonToggle:InitCommonToggle(function(isOn)
|
|
if isOn then
|
|
if self.view.enhancedNode.stateController.currentStateName == ENHANCE_NODE_STATE_NAME.GEM then
|
|
return
|
|
end
|
|
self.view.enhancedNode.stateController:SetState(ENHANCE_NODE_STATE_NAME.GEM)
|
|
self:_RefreshMaterialGemList(DeviceInfo.usingController)
|
|
self:_RefreshProb()
|
|
self:_RefreshEnhanceBtn()
|
|
else
|
|
if self.view.enhancedNode.stateController.currentStateName == ENHANCE_NODE_STATE_NAME.MATERIAL then
|
|
return
|
|
end
|
|
self.view.enhancedNode.stateController:SetState(ENHANCE_NODE_STATE_NAME.MATERIAL)
|
|
self:_RefreshEnhanceMaterial()
|
|
self:_RefreshProb()
|
|
self:_RefreshEnhanceBtn()
|
|
end
|
|
end, false, true)
|
|
self:BindInputPlayerAction("weapon_gem_enhance_cost_gem", function()
|
|
self.view.enhancedNode.commonToggle:SetValue(true)
|
|
self.view.enhancedNode.commonToggle.toggle:PlayAudio()
|
|
end)
|
|
self:BindInputPlayerAction("weapon_gem_enhance_cost_material", function()
|
|
self.view.enhancedNode.commonToggle:SetValue(false)
|
|
self.view.enhancedNode.commonToggle.toggle:PlayAudio()
|
|
end)
|
|
self.view.bottomEnhancedNode.btnConfirm.onClick:AddListener(function()
|
|
self:_OnEnhanceConfirmClicked()
|
|
end)
|
|
self.view.entriesPanNode.preBtn.onClick:AddListener(function()
|
|
self:_OnPreTermClicked()
|
|
end)
|
|
self.view.entriesPanNode.nextBtn.onClick:AddListener(function()
|
|
self:_OnNextTermClicked()
|
|
end)
|
|
|
|
self:_EnterSelectionMode()
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._EnterSelectionMode = HL.Method() << function(self)
|
|
self.view.lockNaviGroup.enabled = true
|
|
self.view.controllerFocusHintNode.gameObject:SetActive(true)
|
|
self.view.stateController:SetState("selection")
|
|
self:_RefreshLeftGemList()
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._RefreshLeftGemList = HL.Method() << function(self)
|
|
self.view.commonItemList:InitCommonItemList({
|
|
listType = UIConst.COMMON_ITEM_LIST_TYPE.WEAPON_EXHIBIT_GEM,
|
|
onClickItem = function(args)
|
|
local itemInfo = args.itemInfo
|
|
if not itemInfo then
|
|
return
|
|
end
|
|
|
|
self:_OnSelectGem(itemInfo)
|
|
end,
|
|
refreshItemAddOn = function(cell, itemInfo)
|
|
local gemInst = itemInfo.itemInst
|
|
local attachedWeaponInstId = gemInst.weaponInstId
|
|
|
|
cell.equipped.gameObject:SetActive(attachedWeaponInstId and attachedWeaponInstId > 0)
|
|
|
|
cell.curEquipped.gameObject:SetActive(false)
|
|
cell.disableMask.gameObject:SetActive(false)
|
|
end,
|
|
filter_rarity = Tables.gemConst.enhanceCostGemRarity,
|
|
defaultSelectedIndex = 1,
|
|
selectedIndexId = self.m_args.gemInstId or self.m_selectedGemInstId,
|
|
onFilterNone = function()
|
|
self.m_selectedGemInstId = -1
|
|
self.view.stateController:SetState("empty")
|
|
self:_UpdateSelectedGemSkillInfo()
|
|
end
|
|
})
|
|
|
|
|
|
self.m_args.selectedTermIdMap = nil
|
|
self.m_args.gemInstId = nil
|
|
end
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._OnSelectGem = HL.Method(HL.Table) << function(self, itemInfo)
|
|
if self.m_selectedGemInstId == itemInfo.instId then
|
|
return
|
|
end
|
|
self.view.stateController:SetState("selection", false)
|
|
self.m_selectedGemInstId = itemInfo.instId
|
|
self:_UpdateSelectedGemBasicInfo(itemInfo)
|
|
self:_UpdateSelectedGemSkillInfo()
|
|
end
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._UpdateSelectedGemBasicInfo = HL.Method(HL.Table) << function(self, itemInfo)
|
|
local gemInst = CharInfoUtils.getGemByInstId(itemInfo.instId)
|
|
if not gemInst then
|
|
logger.error("GemEnhanceCtrl->Can't get gemInst by instId: " .. itemInfo.instId)
|
|
return
|
|
end
|
|
|
|
self.view.infoNode.matrixName.text = UIUtils.getItemName(itemInfo.id, itemInfo.instId)
|
|
self.view.infoNode.itemIcon:InitItemIcon(gemInst.templateId, true, gemInst.instId)
|
|
self.view.infoNode.lockToggle:InitLockToggle(gemInst.templateId, gemInst.instId)
|
|
self.view.infoNode.trashToggle:InitTrashToggle(gemInst.templateId, gemInst.instId)
|
|
local _, domainData = Tables.domainDataTable:TryGetValue(gemInst.domainId)
|
|
self.view.infoNode.domainNode.gameObject:SetActive(domainData ~= nil)
|
|
if domainData then
|
|
self.view.infoNode.txtDomainName.text = domainData.domainName
|
|
end
|
|
CSUtils.UIContainerResize(self.view.infoNode.starInfoNode, itemInfo.rarity)
|
|
UIUtils.setItemRarityImage(self.view.infoNode.imgQuality, itemInfo.rarity)
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._UpdateSelectedGemSkillInfo = HL.Method() << function(self)
|
|
self.view.entriesGroupNode.animationWrapper:PlayInAnimation()
|
|
local gemInstId = self.m_selectedGemInstId
|
|
if gemInstId <= 0 then
|
|
for i = 1, 3 do
|
|
|
|
local termCell = self.view.entriesGroupNode[string.format("gemSkillEnhanceCell%d", i)]
|
|
termCell:InitGemSkillEnhanceCell(nil)
|
|
end
|
|
return
|
|
end
|
|
|
|
local gemInst = CharInfoUtils.getGemByInstId(gemInstId)
|
|
if not gemInst then
|
|
logger.error("GemEnhanceCtrl->Can't get gemInst by instId: " .. tostring(gemInstId))
|
|
return
|
|
end
|
|
for i = 0, gemInst.termList.Count - 1 do
|
|
local term = gemInst.termList[i]
|
|
|
|
local termCell = self.view.entriesGroupNode[string.format("gemSkillEnhanceCell%d", i+1)]
|
|
termCell:InitGemSkillEnhanceCell({
|
|
termId = term.termId,
|
|
termLevel = term.cost,
|
|
onClick = function(termId, termLevel)
|
|
self.m_selectedTermIndex = i
|
|
self:_EnterEnhanceModeWithAnim()
|
|
end,
|
|
})
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._EnterEnhanceModeWithAnim = HL.Method() << function(self)
|
|
self.view.commonItemList.view.animationWrapper:PlayOutAnimation()
|
|
self.view.entriesGroupNode.animationWrapper:PlayOutAnimation(function()
|
|
self:_EnterEnhanceMode()
|
|
end)
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._EnterEnhanceMode = HL.Method() << function(self)
|
|
self.view.lockNaviGroup.enabled = false
|
|
self.view.controllerFocusHintNode.gameObject:SetActive(false)
|
|
self.view.stateController:SetState("enhance")
|
|
local isOn = self.view.enhancedNode.commonToggle.toggle.isOn
|
|
self.view.enhancedNode.commonToggle:SetValue(true)
|
|
|
|
if isOn then
|
|
self:_RefreshMaterialGemList(DeviceInfo.usingController)
|
|
end
|
|
self:_RefreshEnhanceTerm()
|
|
end
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._BackToSelectionMode = HL.Method(HL.Opt(HL.Boolean)) << function(self, playOutAnim)
|
|
if playOutAnim then
|
|
self.view.bottomEnhancedNode.animationWrapper:PlayOutAnimation()
|
|
self.view.entriesPanNode.animationWrapper:PlayOutAnimation()
|
|
self.view.enhancedNode.animationWrapper:PlayOutAnimation(function()
|
|
self:_EnterSelectionMode()
|
|
end)
|
|
else
|
|
self:_EnterSelectionMode()
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._RefreshEnhanceTerm = HL.Method(HL.Opt(HL.Boolean)) << function(self, playSwitchAnim)
|
|
local gemInst = CharInfoUtils.getGemByInstId(self.m_selectedGemInstId)
|
|
if not gemInst then
|
|
logger.error("GemEnhanceCtrl->Can't get gemInst by instId: " .. tostring(self.m_selectedGemInstId))
|
|
return
|
|
end
|
|
self.view.entriesPanNode.preBtn.gameObject:SetActive(self.m_selectedTermIndex > 0)
|
|
self.view.entriesPanNode.nextBtn.gameObject:SetActive(self.m_selectedTermIndex < gemInst.termList.Count - 1)
|
|
local term = gemInst.termList[self.m_selectedTermIndex]
|
|
local _, termCfg = Tables.gemTable:TryGetValue(term.termId)
|
|
if not termCfg then
|
|
logger.error("GemEnhanceCtrl->Can't get termCfg by termId: " .. tostring(term.termId))
|
|
return
|
|
end
|
|
|
|
local isMax = CharInfoUtils.isGemTermEnhanceMax(term.termId, term.cost)
|
|
self.m_isSelectedTermMax = isMax
|
|
local nextCost = isMax and term.cost or term.cost + 1
|
|
self.view.entriesPanNode.txtAttrName:SetAndResolveTextStyle(string.format(Language.LUA_GEM_CARD_SKILL_ACTIVE, termCfg.tagName))
|
|
self.view.entriesPanNode.nowValueTxt.text = string.format(Language.LUA_WEAPON_EXHIBIT_UPGRADE_ADD_FORMAT, term.cost)
|
|
self.view.entriesPanNode.newValueTxt.text = string.format(Language.LUA_WEAPON_EXHIBIT_UPGRADE_ADD_FORMAT, nextCost)
|
|
self.m_TermLevelCellCache = self.m_TermLevelCellCache or UIUtils.genCellCache(self.view.entriesPanNode.grooveCell)
|
|
self.m_TermLevelCellCache:Refresh(nextCost, function(cell, luaIndex)
|
|
cell.progress.gameObject:SetActive(luaIndex <= term.cost)
|
|
cell.progressAdd.gameObject:SetActive(luaIndex > term.cost)
|
|
end)
|
|
self.view.entriesPanNode.stateController:SetState(isMax and "max" or "normal")
|
|
|
|
self:_RefreshProb()
|
|
self:_RefreshEnhanceMaterial()
|
|
self:_RefreshEnhanceBtn()
|
|
|
|
if playSwitchAnim then
|
|
self.view.entriesPanNode.animationWrapper:Play("gemenhance_entriespan_switch")
|
|
end
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._OnPreTermClicked = HL.Method() << function(self)
|
|
self.m_selectedTermIndex = math.max(0, self.m_selectedTermIndex - 1)
|
|
self:_RefreshEnhanceTerm(true)
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._OnNextTermClicked = HL.Method() << function(self)
|
|
local gemInst = CharInfoUtils.getGemByInstId(self.m_selectedGemInstId)
|
|
self.m_selectedTermIndex = math.min(gemInst.termList.Count - 1, self.m_selectedTermIndex + 1)
|
|
self:_RefreshEnhanceTerm(true)
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._RefreshProb = HL.Method() << function(self)
|
|
local stateName = "Empty"
|
|
if not self.m_isSelectedTermMax then
|
|
if self.view.enhancedNode.stateController.currentStateName == ENHANCE_NODE_STATE_NAME.MATERIAL then
|
|
stateName = "Must"
|
|
elseif self.m_selectedMaterialGemInstId > 0 then
|
|
local gemEnhanceData = self:_GetCurrentGemEnhanceData()
|
|
if gemEnhanceData then
|
|
if gemEnhanceData.successProbality >= 500 then
|
|
stateName = "VeryHigh"
|
|
elseif gemEnhanceData.successProbality >= 200 then
|
|
stateName = "High"
|
|
elseif gemEnhanceData.successProbality >= 100 then
|
|
stateName = "Low"
|
|
else
|
|
stateName = "VeryLow"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
self.view.bottomEnhancedNode.probStateCtrl:SetState(stateName)
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._GetCurrentGemEnhanceData = HL.Method().Return(HL.Any) << function(self)
|
|
local gemInst = CharInfoUtils.getGemByInstId(self.m_selectedGemInstId)
|
|
local term = gemInst.termList[self.m_selectedTermIndex]
|
|
local _, termCfg = Tables.gemTable:TryGetValue(term.termId)
|
|
if not termCfg then
|
|
logger.error("GemEnhanceCtrl->Can't get termCfg by termId: " .. tostring(term.termId))
|
|
return nil
|
|
end
|
|
|
|
local _, gemEnhanceDataList = Tables.gemEnhanceTable:TryGetValue(termCfg.termType)
|
|
if gemEnhanceDataList then
|
|
for _, gemEnhanceData in pairs(gemEnhanceDataList.list) do
|
|
if gemEnhanceData.termCost == term.cost + 1 then
|
|
return gemEnhanceData
|
|
end
|
|
end
|
|
end
|
|
return nil
|
|
end
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._RefreshMaterialGemList = HL.Method(HL.Opt(HL.Boolean)) << function(self, isFirstSelected)
|
|
self:_OnSelectMaterialGem(nil)
|
|
self.view.bottomEnhancedNode.commonGemHorizontalList:InitCommonItemList({
|
|
listType = UIConst.COMMON_ITEM_LIST_TYPE.WEAPON_EXHIBIT_GEM,
|
|
onClickItem = function(args)
|
|
local itemInfo = args.itemInfo
|
|
if not itemInfo then
|
|
return
|
|
end
|
|
|
|
self:_OnSelectMaterialGem(itemInfo)
|
|
end,
|
|
refreshItemAddOn = function(cell, itemInfo)
|
|
local gemInst = itemInfo.itemInst
|
|
local attachedWeaponInstId = gemInst.weaponInstId
|
|
|
|
cell.equipped.gameObject:SetActive(attachedWeaponInstId and attachedWeaponInstId > 0)
|
|
|
|
cell.curEquipped.gameObject:SetActive(false)
|
|
cell.disableMask.gameObject:SetActive(false)
|
|
end,
|
|
filter_rarity = Tables.gemConst.enhanceCostGemRarity,
|
|
exclusiveInstId = self.m_selectedGemInstId,
|
|
onFilterNone = function()
|
|
self.m_selectedMaterialGemInstId = -1
|
|
self.view.enhancedNode.gemEmptyNode.gameObject:SetActive(true)
|
|
self.view.enhancedNode.gemCard.gameObject:SetActive(false)
|
|
end,
|
|
defaultSelectedIndex = isFirstSelected and 1 or nil,
|
|
sortKeys = { "matchWeaponSkillIndex", "enableOnWeaponIndex", "trashIndex", "rarity", "sortId1", "sortId2", "id" }
|
|
})
|
|
end
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._OnSelectMaterialGem = HL.Method(HL.Table) << function(self, itemInfo)
|
|
local isEmpty = itemInfo == nil
|
|
local instId = isEmpty and -1 or itemInfo.instId
|
|
if self.m_selectedMaterialGemInstId == instId then
|
|
return
|
|
end
|
|
self.m_selectedMaterialGemInstId = instId
|
|
self.view.enhancedNode.gemNodeAnim:PlayInAnimation()
|
|
self.view.enhancedNode.gemEmptyNode.gameObject:SetActive(isEmpty)
|
|
self.view.enhancedNode.gemCard.gameObject:SetActive(not isEmpty)
|
|
if isEmpty then
|
|
return
|
|
end
|
|
self.view.enhancedNode.gemCard:InitGemCard(itemInfo.instId)
|
|
self:_RefreshProb()
|
|
self:_RefreshEnhanceBtn()
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._RefreshEnhanceMaterial = HL.Method() << function(self)
|
|
local gemEnhanceData = self:_GetCurrentGemEnhanceData()
|
|
local itemId = Tables.gemConst.gemEnhancementItemId
|
|
local costItemCount = gemEnhanceData and gemEnhanceData.costEnhancementItem or 0
|
|
self.view.enhancedNode.itemMaterial:InitItem({
|
|
id = itemId,
|
|
count = costItemCount,
|
|
}, true)
|
|
|
|
local itemCount = Utils.getItemCount(itemId, true, true)
|
|
self.view.enhancedNode.commonStorageNode:InitStorageNode(itemCount, costItemCount, true)
|
|
self.m_isCostEnough = itemCount >= costItemCount
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._RefreshEnhanceBtn = HL.Method() << function(self)
|
|
local isMaterialMode = self.view.enhancedNode.stateController.currentStateName == ENHANCE_NODE_STATE_NAME.MATERIAL
|
|
local isAvailable = true
|
|
local unavailableTips = ''
|
|
if self.m_isSelectedTermMax then
|
|
isAvailable = false
|
|
unavailableTips = Language.LUA_GEM_ENHANCE_MAX_LEVEL
|
|
else
|
|
if isMaterialMode then
|
|
if not self.m_isCostEnough then
|
|
isAvailable = false
|
|
unavailableTips = Language.LUA_GEM_ENHANCE_COST_NOT_ENOUGH
|
|
end
|
|
else
|
|
if self.m_selectedMaterialGemInstId <= 0 then
|
|
isAvailable = false
|
|
unavailableTips = Language.LUA_GEM_ENHANCE_MATERIAL_GEM_NOT_SELECTED
|
|
end
|
|
end
|
|
end
|
|
if not isAvailable then
|
|
self.view.bottomEnhancedNode.txtUnavaliable.text = unavailableTips
|
|
end
|
|
|
|
self.view.bottomEnhancedNode.btnConfirm.gameObject:SetActive(isAvailable)
|
|
self.view.bottomEnhancedNode.limitReachedNode.gameObject:SetActive(not isAvailable)
|
|
end
|
|
|
|
|
|
|
|
GemEnhanceCtrl._OnEnhanceConfirmClicked = HL.Method() << function(self)
|
|
local isMaterial = self.view.enhancedNode.stateController.currentStateName == ENHANCE_NODE_STATE_NAME.MATERIAL
|
|
local gemInst = CharInfoUtils.getGemByInstId(self.m_selectedGemInstId, true)
|
|
if not gemInst then
|
|
return
|
|
end
|
|
local termId = gemInst.termList[self.m_selectedTermIndex].termId
|
|
if isMaterial then
|
|
GameInstance.player.inventory:EnhanceGem(self.m_selectedGemInstId, termId, 0, true)
|
|
else
|
|
local materialGemInst = CharInfoUtils.getGemByInstId(self.m_selectedMaterialGemInstId, true)
|
|
if not gemInst then
|
|
return
|
|
end
|
|
if materialGemInst.weaponInstId > 0 then
|
|
self:Notify(MessageConst.SHOW_POP_UP, {
|
|
content = Language.LUA_GEM_ENHANCE_MATERIAL_GEM_EQUIP_CONFIRM,
|
|
onConfirm = function()
|
|
GameInstance.player.inventory:EnhanceGem(self.m_selectedGemInstId, termId, self.m_selectedMaterialGemInstId, false)
|
|
end,
|
|
weaponInstId = materialGemInst.weaponInstId,
|
|
})
|
|
else
|
|
GameInstance.player.inventory:EnhanceGem(self.m_selectedGemInstId, termId, self.m_selectedMaterialGemInstId, false)
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._OnGemEnhance = HL.Method(HL.Table) << function(self, args)
|
|
|
|
local msg = unpack(args)
|
|
UIManager:Open(PanelId.GemEnhanceResult, {
|
|
isSuccess = msg.IsSuccess,
|
|
gemInstId = msg.GemInstId,
|
|
termIndex = self.m_selectedTermIndex,
|
|
refundItems = msg.refundItems,
|
|
onConfirm = function()
|
|
if self.view.enhancedNode.stateController.currentStateName == ENHANCE_NODE_STATE_NAME.MATERIAL then
|
|
self:_RefreshEnhanceMaterial()
|
|
else
|
|
self:_RefreshMaterialGemList(true)
|
|
end
|
|
self:_RefreshEnhanceTerm()
|
|
self:_UpdateSelectedGemSkillInfo()
|
|
local gemInst = CharInfoUtils.getGemByInstId(self.m_selectedGemInstId)
|
|
local term = gemInst.termList[self.m_selectedTermIndex]
|
|
local isMax = CharInfoUtils.isGemTermEnhanceMax(term.termId, term.cost)
|
|
if isMax then
|
|
self:_EnterSelectionMode()
|
|
self:_UpdateSelectedGemSkillInfo()
|
|
end
|
|
end
|
|
})
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GemEnhanceCtrl._InitController = HL.Method() << function(self)
|
|
self.view.controllerHintPlaceholder:InitControllerHintPlaceholder({self.view.inputGroup.groupId})
|
|
self.view.lockNaviGroup.onIsTopLayerChanged:AddListener(function(isTopLayer)
|
|
self.view.controllerFocusHintNode.gameObject:SetActive(not isTopLayer)
|
|
end)
|
|
self.view.leftGemNaviGroup.onIsTopLayerChanged:AddListener(function(isTopLayer)
|
|
if not DeviceInfo.usingController then
|
|
return
|
|
end
|
|
local selectedCell = self.view.commonItemList:GetCurSelectedItemCell()
|
|
if selectedCell then
|
|
self.view.commonItemList:SetSelectedAppearance(selectedCell, not isTopLayer)
|
|
end
|
|
end)
|
|
end
|
|
|
|
|
|
|
|
HL.Commit(GemEnhanceCtrl)
|