PGRData/Script/matrix/xui/xuicharacter/XUiPanelSkillInfo.lua

571 lines
22 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

XUiPanelSkillInfo = XClass(nil, "XUiPanelSkillInfo")
local MAX_SUB_SKILL_GRID_COUNT = 6
local MAX_MAIN_SKILL_GRID_COUNT = 5
-- 触发拖拽前的延时
local LONG_CLICK_OFFSET = 0.2
local LONG_PRESS_PARAMS = 500
function XUiPanelSkillInfo:Ctor(ui, parent, rootUi)
self.GameObject = ui.gameObject
self.Transform = ui.transform
self.Parent = parent
self.RootUi = rootUi
self:InitAutoScript()
self:ResetLongPressData()
self.GridSkillInfo.gameObject:SetActiveEx(false)
self.GridSubSkill.gameObject:SetActiveEx(false)
self.SkillInfoGo = {}
table.insert(self.SkillInfoGo, self.GridSkillInfo)
self.SkillInfoGrids = {}
self.NotMaskShow = true
self:Refresh()
self:InitSubSkillGrids()
end
function XUiPanelSkillInfo:InitSubSkillGrids()
self.SubSkillGrids = {}
for i = 1, MAX_SUB_SKILL_GRID_COUNT do
local item = CS.UnityEngine.Object.Instantiate(self.GridSubSkill)
local grid = XUiGridSubSkill.New(item, i, function(subSkill, index)
self:UpdateSubSkillInfoPanel(subSkill, index)
end)
grid.GameObject:SetActiveEx(false)
grid.Transform:SetParent(self.PanelSubSkillList, false)
table.insert(self.SubSkillGrids, grid)
end
end
-- auto
-- Automatic generation of code, forbid to edit
function XUiPanelSkillInfo:InitAutoScript()
self:AutoInitUi()
XTool.InitUiObject(self)
self:AutoAddListener()
end
function XUiPanelSkillInfo:AutoInitUi()
self.PanelSkillBig = self.Transform:Find("PaneSkillInfo/PanelSkillBig")
self.ImgSkillPointIcon = self.Transform:Find("PaneSkillInfo/PanelSkillBig/ImgSkillPointIcon"):GetComponent("Image")
self.TxtSkillType = self.Transform:Find("PaneSkillInfo/PanelSkillBig/TxtSkillType"):GetComponent("Text")
self.TxtSkillName = self.Transform:Find("PaneSkillInfo/PanelSkillBig/TxtSkillName"):GetComponent("Text")
self.TxtSkillLevel = self.Transform:Find("PaneSkillInfo/PanelSkillBig/TxtSkillLevel"):GetComponent("Text")
self.BtnSkillpointAdd = self.Transform:Find("SkillPoint/BtnSkillpointAdd"):GetComponent("Button")
self.TxtSkillNumber = self.Transform:Find("SkillPoint/TxtSkillNumber"):GetComponent("Text")
self.RImgSkillIcon = self.Transform:Find("SkillPoint/RImgSkillIcon"):GetComponent("RawImage")
self.PanelSubSkillList = self.Transform:Find("PaneSkillInfo/PanelSubSkillList")
self.GridSubSkill = self.Transform:Find("PaneSkillInfo/PanelSubSkillList/GridSubSkill")
self.PanelScroll = self.Transform:Find("PaneSkillInfo/PanelScroll")
self.GridSkillInfo = self.Transform:Find("PaneSkillInfo/PanelScroll/GridSkillInfo")
self.BtnHuadong = self.Transform:Find("PaneSkillInfo/BtnHuadong"):GetComponent("Button")
self.BtnHuadong1 = self.Transform:Find("PaneSkillInfo/BtnHuadong1"):GetComponent("Button")
self.PanelCondition = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelCondition")
self.TxtConditionBad = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelCondition/TxtConditionBad"):GetComponent("Text")
self.TxtConditionOk = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelCondition/TxtConditionOk"):GetComponent("Text")
self.PanelConsume = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume")
self.PanelSkillPoint = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelSkillPoint")
self.PanelSkillPointBad = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelSkillPoint/PanelSkillPointBad")
self.TxtSkillPointBad = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelSkillPoint/PanelSkillPointBad/TxtSkillPointBad"):GetComponent("Text")
self.PanelSkillPointOk = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelSkillPoint/PanelSkillPointOk")
self.TxtSkillPointOk = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelSkillPoint/PanelSkillPointOk/TxtSkillPointOk"):GetComponent("Text")
self.PanelCoin = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelCoin")
self.PanelCoinBad = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelCoin/PanelCoinBad")
self.TxtCoinBad = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelCoin/PanelCoinBad/TxtCoinBad"):GetComponent("Text")
self.PanelCoinOk = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelCoin/PanelCoinOk")
self.TxtCoinOk = self.Transform:Find("PaneSkillInfo/SubSkillInfo/PanelConsume/PanelCoin/PanelCoinOk/TxtCoinOk"):GetComponent("Text")
self.PanelMask = self.Transform:Find("PaneSkillInfo/PanelMask")
end
function XUiPanelSkillInfo:RegisterClickEvent(uiNode, func)
if func == nil then
XLog.Error("XUiPanelSkillInfo:RegisterClickEvent函数参数错误参数func不能为空")
return
end
if type(func) ~= "function" then
XLog.Error("XUiPanelSkillInfo:RegisterClickEvent函数错误, 参数func需要是function类型, func的类型是" .. type(func))
end
local listener = function(...)
func(self, ...)
end
CsXUiHelper.RegisterClickEvent(uiNode, listener)
end
function XUiPanelSkillInfo:AutoAddListener()
self:RegisterClickEvent(self.BtnSkillpointAdd, self.OnBtnSkillpointAddClick)
self:RegisterClickEvent(self.BtnHuadong, self.OnBtnHuadongClick)
self:RegisterClickEvent(self.BtnHuadong1, self.OnBtnHuadong1Click)
self:RegisterClickEvent(self.BtnUnlock, self.OnBtnUnlockClick)
self:RegisterClickEvent(self.BtnSwitch, self.OnBtnSwitchClick)
self:RegisterLongPressLevelUp()
end
-- auto
function XUiPanelSkillInfo:OnBtnUpgradeClick(ClientLongPressIncreaseLevel)
if not self.NotMaskShow then
self.NotMaskShow = true
self.PanelMask.gameObject:SetActiveEx(false)
end
if not ClientLongPressIncreaseLevel then --过滤掉不正确的弹窗
if (not self:CheckUpgradeSubSkill())then
return
end
end
if XTool.IsTableEmpty(self.CurSubSkill) then
return
end
if not XDataCenter.ItemManager.DoNotEnoughBuyAsset(XDataCenter.ItemManager.ItemId.Coin,
self.CurSubSkill.config.UseCoin,
1,
function()
self:OnBtnUpgradeClick()
end,
"CharacterUngradeSkillCoinNotEnough") then
return
end
XDataCenter.CharacterManager.UpgradeSubSkillLevel(self.CharacterId, self.CurSubSkill.SubSkillId, function()
XEventManager.DispatchEvent(XEventId.EVENT_CHARACTER_INCREASE_TIP, CS.XTextManager.GetText("CharacterUngradeSkillComplete"))
self:RefreshData()
self:Refresh()
end, ClientLongPressIncreaseLevel)
end
function XUiPanelSkillInfo:OnBtnSwitchClick()
local subSkillInfo = self.CurSubSkill
local addLevel = XDataCenter.CharacterManager.GetSkillPlusLevel(self.CharacterId, subSkillInfo.SubSkillId)
local totalLevel = subSkillInfo.Level + addLevel
XLuaUiManager.Open("UiCharacterSkillSwich", subSkillInfo.SubSkillId, totalLevel, function()
self:RefreshData()
self:Refresh()
end)
end
function XUiPanelSkillInfo:OnBtnUnlockClick()
if (not self:CheckUpgradeSubSkill()) then
return
end
if XTool.IsTableEmpty(self.CurSubSkill) or not XDataCenter.ItemManager.DoNotEnoughBuyAsset(XDataCenter.ItemManager.ItemId.Coin,
self.CurSubSkill.config.UseCoin,
1,
function()
self:OnBtnUnlockClick()
end,
"CharacterUngradeSkillCoinNotEnough") then
return
end
XDataCenter.CharacterManager.UnlockSubSkill(self.CurSubSkill.SubSkillId, self.CharacterId, function()
XEventManager.DispatchEvent(XEventId.EVENT_CHARACTER_INCREASE_TIP, CS.XTextManager.GetText("CharacterUnlockSkillComplete"))
self:RefreshData()
self:Refresh()
end)
end
function XUiPanelSkillInfo:OnBtnSkillpointAddClick()
local id = XDataCenter.ItemManager.ItemId.SkillPoint
XLuaUiManager.Open("UiTip", XDataCenter.ItemManager.GetItem(id))
end
function XUiPanelSkillInfo:OnBtnHuadongClick()
if self.Pos then
self:GotoSkill(self.Pos + 1)
end
end
function XUiPanelSkillInfo:OnBtnHuadong1Click()
if self.Pos then
self:GotoSkill(self.Pos - 1)
end
end
function XUiPanelSkillInfo:GotoSkill(index)
if self.Parent.SkillGrids[index] then
self.Parent.SkillGrids[index]:OnBtnIconBgClick()
end
self.Parent:HideLevelDetail()
self:UpdateArrowView()
end
function XUiPanelSkillInfo:UpdateArrowView()
self.BtnHuadong.gameObject:SetActiveEx(not (self.Pos == MAX_MAIN_SKILL_GRID_COUNT))
self.BtnHuadong1.gameObject:SetActiveEx(not (self.Pos == 1))
end
function XUiPanelSkillInfo:CheckUpgradeSubSkill()
local subSkill = self.CurSubSkill
local conditions = subSkill.config.ConditionId
if not conditions then
return true
end
for _, conditionId in pairs(conditions) do
local passCondition
local conditionDes
if conditionId ~= 0 then
passCondition, conditionDes = XConditionManager.CheckCondition(conditionId, self.CharacterId)
if not passCondition then
XUiManager.TipMsg(conditionDes)
return false
end
end
end
if (not XDataCenter.CharacterManager.IsUseItemEnough(XDataCenter.ItemManager.ItemId.SkillPoint, self.CurSubSkill.config.UseSkillPoint)) then
XUiManager.TipText("CharacterUngradeSkillSkillPointNotEnough")
return false
end
return true
end
function XUiPanelSkillInfo:ShowPanel(characterId, skills, pos)
self.CharacterId = characterId or self.CharacterId
self.Skills = skills
self.Pos = pos
self.Skill = skills[pos]
self.IsShow = true
self.GameObject:SetActiveEx(true)
for i, skill in pairs(skills) do
local grid = self.SkillInfoGrids[i]
if (grid == nil) then
local ui_item = self.SkillInfoGo[i]
if (ui_item == nil) then
ui_item = CS.UnityEngine.Object.Instantiate(self.GridSkillInfo, self.PanelScroll)
ui_item.transform:SetAsFirstSibling()
table.insert(self.SkillInfoGo, ui_item)
end
grid = XUiGridSkillInfo.New(ui_item, skill, function(skillId)
self.Parent:ShowLevelDetail(skillId)
end)
table.insert(self.SkillInfoGrids, grid)
else
grid:UpdateData(skill)
end
grid.CurveValue = 0
grid.GameObject:SetActiveEx(true)
end
self:RefreshPanel(characterId, self.Skill)
self:RefreshData()
-- 默认点击
if self.SubSkillGrids[1] then
self.SubSkillGrids[1]:OnBtnSubSkillIconBgClick()
end
self:UpdateArrowView()
self.Parent.SkillInfoQiehuan:PlayTimelineAnimation()
end
function XUiPanelSkillInfo:RefreshData(clientLevel,subSkill)
local characterId = self.CharacterId
if not characterId then
return
end
self.Skills = XCharacterConfigs.GetCharacterSkills(characterId, clientLevel,subSkill)
local skill = self.Skills[self.Skill.config.Pos]
local grid = self.SkillInfoGrids[self.Pos]
for i = 1, #self.SkillInfoGrids do
self.SkillInfoGrids[i].GameObject:SetActiveEx(self.Pos == i)
end
if (grid) then
grid:UpdateData(skill)
end
self.Parent:UpdateSkill()
self:RefreshPanel(self.CharacterId, skill,clientLevel)
self:RefreshBigSkill(skill)
end
function XUiPanelSkillInfo:RefreshBigSkill(skill)
self.RootUi:SetUiSprite(self.ImgSkillPointIcon, skill.Icon)
self.TxtSkillType.text = skill.TypeDes
self.TxtSkillName.text = skill.Name
local addLevel = 0
for _, skillId in pairs(skill.SkillIdList) do
addLevel = addLevel + XDataCenter.CharacterManager.GetSkillPlusLevel(self.CharacterId, skillId)
end
local totalLevel = skill.TotalLevel + addLevel
self.TxtSkillLevel.text = totalLevel
end
function XUiPanelSkillInfo:RefreshPanel(characterId, skill,clientLevel)
self.CharacterId = characterId or self.CharacterId
self.Skill = skill and skill or self.Skill
self:UpdateSubSkillList(self.Skill.subSkills)
for i, sub_skill in ipairs(self.Skill.subSkills) do
if (i == self.CurSubSkillIndex) then
self:UpdateSubSkillInfoPanel(sub_skill, self.CurSubSkillIndex)
break
end
end
end
function XUiPanelSkillInfo:UpdateSubSkillList(subSkillList, cb)
for _, grid in pairs(self.SubSkillGrids) do
grid:Reset()
end
local count = #subSkillList
if count > MAX_SUB_SKILL_GRID_COUNT then
XLog.Warning("max subskill grid count is " .. MAX_SUB_SKILL_GRID_COUNT)
count = MAX_SUB_SKILL_GRID_COUNT
end
for i = 1, count do
local sub_skill = subSkillList[i]
local grid = self.SubSkillGrids[i]
grid:UpdateGrid(self.CharacterId, sub_skill)
grid.GameObject.name = sub_skill.SubSkillId
if i == 1 then
grid:SetSelect(true)
end
end
XEventManager.DispatchEvent(XEventId.EVENT_GUIDE_STEP_OPEN_EVENT)
if (cb) then
cb()
end
end
function XUiPanelSkillInfo:UpdateSubSkillInfoPanel(subSkill, index)
if not subSkill then
return
end
local showSwithBtn = subSkill.Level > 0 and XCharacterConfigs.CanSkillSwith(subSkill.SubSkillId)
self.BtnSwitch.gameObject:SetActiveEx(showSwithBtn)
if self.CurSubSkillIndex then
self.SubSkillGrids[self.CurSubSkillIndex]:SetSelect(false)
end
local grid = self.SkillInfoGrids[self.Pos]
if grid then
grid:SetSubInfo(self.CharacterId, index, subSkill.Level, subSkill.SubSkillId)
end
self.CurSubSkillIndex = index
self.SubSkillGrids[self.CurSubSkillIndex]:SetSelect(true)
self.CurSubSkill = subSkill
for _, tmpGrid in pairs(self.SubSkillGrids) do
tmpGrid:ResetSelect(subSkill.SubSkillId)
end
local min_max = XCharacterConfigs.GetSubSkillMinMaxLevel(subSkill.SubSkillId)
if (subSkill.Level >= min_max.Max) then
self.PanelCondition.gameObject:SetActiveEx(false)
self.PanelConsume.gameObject:SetActiveEx(false)
self.BtnUpgrade.gameObject:SetActiveEx(false)
self.BtnUnlock.gameObject:SetActiveEx(false)
self.PanelMaxLevel.gameObject:SetActiveEx(true)
return
else
self.PanelMaxLevel.gameObject:SetActiveEx(false)
end
local passCondition = true
local conditionDes = ""
local conditions = subSkill.config.ConditionId
if conditions then
for _, conditionId in pairs(conditions) do
if conditionId ~= 0 then
passCondition, conditionDes = XConditionManager.CheckCondition(conditionId, self.CharacterId)
if not passCondition then
break
end
end
end
end
self.PanelConsume.gameObject:SetActiveEx(passCondition)
self.PanelCondition.gameObject:SetActiveEx(not passCondition)
self.TxtConditionOk.gameObject:SetActiveEx(passCondition)
self.TxtConditionBad.gameObject:SetActiveEx(not passCondition)
if passCondition then
self.TxtConditionOk.text = conditionDes
--消耗技能点
local showSkillPoint = subSkill.config.UseSkillPoint > 0
self.PanelSkillPoint.gameObject:SetActiveEx(showSkillPoint)
if showSkillPoint then
local isSkillPointMeet = XDataCenter.CharacterManager.IsUseItemEnough({ XDataCenter.ItemManager.ItemId.SkillPoint }, { subSkill.config.UseSkillPoint })
if isSkillPointMeet then
self.TxtSkillPointOk.text = subSkill.config.UseSkillPoint
else
self.TxtSkillPointBad.text = subSkill.config.UseSkillPoint
end
self.PanelSkillPointBad.gameObject:SetActiveEx(not isSkillPointMeet)
self.PanelSkillPointOk.gameObject:SetActiveEx(isSkillPointMeet)
end
--消耗螺母
local showCoin = subSkill.config.UseCoin > 0
self.PanelCoin.gameObject:SetActiveEx(showCoin)
if showCoin then
local isUseCoinMeet = XDataCenter.CharacterManager.IsUseItemEnough({ XDataCenter.ItemManager.ItemId.Coin }, { subSkill.config.UseCoin })
if isUseCoinMeet then
self.TxtCoinOk.text = subSkill.config.UseCoin
else
self.TxtCoinBad.text = subSkill.config.UseCoin
end
self.PanelCoinBad.gameObject:SetActiveEx(not isUseCoinMeet)
self.PanelCoinOk.gameObject:SetActiveEx(isUseCoinMeet)
end
if not showCoin and not showSkillPoint then
self.PanelConsume.gameObject:SetActiveEx(false)
end
else
self.TxtConditionBad.text = conditionDes
end
if (subSkill.Level <= 0) then
self.BtnUnlock:SetDisable(not passCondition)
self.BtnUnlock.gameObject:SetActiveEx(true)
self.BtnUpgrade.gameObject:SetActiveEx(false)
elseif (subSkill.Level < min_max.Max and subSkill.Level > 0) then
local canUpdate = XDataCenter.CharacterManager.CheckCanUpdateSkill(self.CharacterId, subSkill.SubSkillId, subSkill.Level)
self.BtnUpgrade:SetDisable(not canUpdate)
self.BtnUpgrade.gameObject:SetActiveEx(true)
self.BtnUnlock.gameObject:SetActiveEx(false)
end
end
function XUiPanelSkillInfo:HidePanel()
self.Clicker:Reset()
self:ResetLongPressData()
self.IsShow = false
self.GameObject:SetActiveEx(false)
if (self.ScrollFlow) then
self.ScrollFlow:Dispose()
end
self.CurSubSkillIndex = nil
self.CurSubSkill = nil
self.Parent.BtnSkillTeach.gameObject:SetActiveEx(XUiPanelCharSkill.BUTTON_SKILL_TEACH_ACTIVE)
end
function XUiPanelSkillInfo:Refresh()
--读取数据
local item = XDataCenter.ItemManager.GetItem(XDataCenter.ItemManager.ItemId.SkillPoint)
local count = item ~= nil and tostring(item.Count) or "0"
local icon = XDataCenter.ItemManager.GetItemIcon(XDataCenter.ItemManager.ItemId.SkillPoint)
self.TxtSkillNumber.text = count
self.RImgSkillIcon:SetRawImage(icon)
end
--技能长按
function XUiPanelSkillInfo:RegisterLongPressLevelUp()
-- 添加长按事件
local btnClickPointer = self.BtnUpgrade.gameObject:GetComponent("XUiPointer")
if not btnClickPointer then
btnClickPointer = self.BtnUpgrade.gameObject:AddComponent(typeof(CS.XUiPointer))
end
self.Clicker = XUiButtonLongClick.New(btnClickPointer, math.floor(1000/ CS.XGame.ClientConfig:GetInt("LongPressPerLevelUp")), self, self.OnBtnUpgradeClick, self.OnLongPress, function()
self:OnLongPressUp()
end, false, nil,true,true)
self.Clicker:SetTriggerOffset(LONG_CLICK_OFFSET)
end
function XUiPanelSkillInfo:OnLongPress(pressingTime)
if self.NotMaskShow then --增加mask阻止长按时候玩家的其他操作
self.NotMaskShow = false
self.PanelMask.gameObject:SetActiveEx(true)
end
local clientShowLevelParam = 0
local minMax
if pressingTime > LONG_CLICK_OFFSET * LONG_PRESS_PARAMS then --控制延时刷新,避免点击一次就刷新技能升级预览
for i, sub_skill in ipairs(self.Skill.subSkills) do
if (i == self.CurSubSkillIndex) then
local originalLevel = XDataCenter.CharacterManager.GetSkillLevel(sub_skill.SubSkillId)
minMax = XCharacterConfigs.GetSubSkillMinMaxLevel(sub_skill.SubSkillId)
self.ClientLongPressIncreaseLevel = self.ClientLongPressIncreaseLevel + 1
clientShowLevelParam = self.ClientLongPressIncreaseLevel + originalLevel
local canUpdate = XDataCenter.CharacterManager.CheckCanUpdateSkillMultiLevel(self.CharacterId, sub_skill.SubSkillId, originalLevel,clientShowLevelParam - 1 )--当前等级的消耗是升级到下一级的,所以判断升级的时候-1
if canUpdate then
if (clientShowLevelParam > minMax.Max) then
clientShowLevelParam = minMax.Max
end
self.ClientShowLevelParam = clientShowLevelParam
self:RefreshData(self.ClientShowLevelParam,self.CurSubSkill)
else
return true,true --回调参数即使时间短也要加弹窗提示
end
break
end
end
end
end
function XUiPanelSkillInfo:OnLongPressUp()
self.NotMaskShow = true
self.PanelMask.gameObject:SetActiveEx(false)
if XTool.IsTableEmpty(self.CurSubSkill) then
return
end
local originalLevel = XDataCenter.CharacterManager.GetSkillLevel(self.CurSubSkill.SubSkillId)
local minMax = XCharacterConfigs.GetSubSkillMinMaxLevel(self.CurSubSkill.SubSkillId)
for i = originalLevel, self.ClientShowLevelParam -1 do --当前等级的消耗是升级到下一级的需要减一操作
local gradeConfig = XCharacterConfigs.GetSkillGradeConfig(self.CurSubSkill.SubSkillId, i)
if not gradeConfig then break end
self.LongPressCostCoin = self.LongPressCostCoin + gradeConfig.UseCoin
self.LongPressCostSkillPoint = self.LongPressCostSkillPoint + gradeConfig.UseSkillPoint
end
if self.LongPressCostCoin <= 0 and self.LongPressCostSkillPoint <= 0 then --无消耗就无升级
return
end
local textParam = "LongPressLevelUpSkill"
if minMax and minMax.Max == self.ClientShowLevelParam then
textParam = "LongPressLevelUpSkillMax"
end
local content = CSXTextManagerGetText(textParam, self.LongPressCostCoin, self.LongPressCostSkillPoint, self.ClientShowLevelParam)
local tempClientShowLevelParam = self.ClientShowLevelParam
local sureCallBack = function()
self:OnBtnUpgradeClick(tempClientShowLevelParam - originalLevel)
end
local closeCallback = function()
self:RefreshData()
end
self:ResetLongPressData()
local title = CS.XTextManager.GetText("TipTitle")
XUiManager.DialogTip(title, content, XUiManager.DialogType.Normal, closeCallback, sureCallBack)
end
function XUiPanelSkillInfo:ResetLongPressData()
self.ClientShowLevelParam = 0 --要升级到的等级
self.ClientLongPressIncreaseLevel = 0 --等级变量依据长按时间增加
self.LongPressCostCoin = 0
self.LongPressCostSkillPoint = 0
self.NotMaskShow = true
self.PanelMask.gameObject:SetActiveEx(false)
end
function XUiPanelSkillInfo:RefreshClientBigSkill()
if not self.CharacterId or not self.ClientShowLevelParam then
return
end
self.Skills = XCharacterConfigs.GetCharacterSkills(self.CharacterId)
local skill = self.Skills[self.Skill.config.Pos]
local addLevel = self.ClientShowLevelParam
for _, skillId in pairs(skill.SkillIdList) do
addLevel = addLevel + XDataCenter.CharacterManager.GetSkillPlusLevel(self.CharacterId, skillId)
end
local totalLevel = skill.TotalLevel + addLevel
self.TxtSkillLevel.text = totalLevel
end