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
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
local CharTalentInfoTrialCtrl = class("CharTalentInfoTrialCtrl", BaseCtrl)
|
||||
local LocalData = require("GameCore.Data.LocalData")
|
||||
local newDayTime = UTILS.GetDayRefreshTimeOffset()
|
||||
CharTalentInfoTrialCtrl._mapNodeConfig = {
|
||||
sv = {sComponentName = "ScrollRect"},
|
||||
txtNodeName = {sComponentName = "TMP_Text"},
|
||||
txtTitleDesc = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "CharTalent_Title_Desc"
|
||||
},
|
||||
TMP_Link1 = {
|
||||
sNodeName = "txtSkillDesc",
|
||||
sComponentName = "TMPHyperLink",
|
||||
callback = "OnLinkClick_Word"
|
||||
},
|
||||
txtSkillDesc = {sComponentName = "TMP_Text"}
|
||||
}
|
||||
CharTalentInfoTrialCtrl._mapEventConfig = {}
|
||||
function CharTalentInfoTrialCtrl:RefreshKey(mapGroup, mapTalent)
|
||||
local mapTalentCfg = ConfigTable.GetData("Talent", mapGroup.nKeyTalent)
|
||||
local mapGroupCfg = ConfigTable.GetData("TalentGroup", mapGroup.nId)
|
||||
if not mapTalentCfg or not mapGroupCfg then
|
||||
return
|
||||
end
|
||||
self.sKeyName = mapTalentCfg.Title
|
||||
self.nGroupId = mapGroup.nId
|
||||
NovaAPI.SetTMPText(self._mapNode.txtNodeName, mapTalentCfg.Title)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtSkillDesc, UTILS.ParseDesc(mapTalentCfg, nil, nil, nil, nil, {
|
||||
nCharId = self._panel.nCharId
|
||||
}))
|
||||
local bActive = mapTalent.tbActiveTalent[mapGroup.nKeyTalent]
|
||||
if bActive then
|
||||
else
|
||||
local nLeft = mapGroupCfg.NodeLimit - mapGroup.nNormalCount
|
||||
local mapCharCfg = ConfigTable.GetData_Character(self._panel.nCharId)
|
||||
if not mapCharCfg then
|
||||
return
|
||||
end
|
||||
local mapGradeCfg = ConfigTable.GetData("CharGrade", mapCharCfg.Grade)
|
||||
if not mapGradeCfg then
|
||||
return
|
||||
end
|
||||
end
|
||||
NovaAPI.SetVerticalNormalizedPosition(self._mapNode.sv, 1)
|
||||
end
|
||||
function CharTalentInfoTrialCtrl:RefreshNormal(nTalentId, mapGroup, mapTalent)
|
||||
self.nTalentId = nTalentId
|
||||
local mapTalentCfg = ConfigTable.GetData("Talent", nTalentId)
|
||||
if not mapTalentCfg then
|
||||
return
|
||||
end
|
||||
NovaAPI.SetTMPText(self._mapNode.txtNodeName, mapTalentCfg.Title)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtSkillDesc, UTILS.ParseParamDesc(mapTalentCfg.Desc, mapTalentCfg, nil, {
|
||||
nCharId = self._panel.nCharId
|
||||
}))
|
||||
NovaAPI.SetVerticalNormalizedPosition(self._mapNode.sv, 1)
|
||||
end
|
||||
function CharTalentInfoTrialCtrl:ActiveLayer(active)
|
||||
local isSelectAgain = false
|
||||
local confirmCallback = function()
|
||||
if isSelectAgain then
|
||||
local _curTimeStamp = CS.ClientManager.Instance.serverTimeStampWithTimeZone
|
||||
local _fixedTimeStamp = _curTimeStamp + newDayTime * 3600
|
||||
local _nYear = tonumber(os.date("!%Y", _fixedTimeStamp))
|
||||
local _nMonth = tonumber(os.date("!%m", _fixedTimeStamp))
|
||||
local _nDay = tonumber(os.date("!%d", _fixedTimeStamp))
|
||||
local _nowD = _nYear * 366 + _nMonth * 31 + _nDay
|
||||
LocalData.SetPlayerLocalData("TalentActiveLayer_Tips_Time", tostring(_nowD))
|
||||
end
|
||||
active()
|
||||
end
|
||||
local againCallback = function(isSelect)
|
||||
isSelectAgain = isSelect
|
||||
end
|
||||
if not self.nLayerCost then
|
||||
return
|
||||
end
|
||||
local mapCharCfg = ConfigTable.GetData_Character(self._panel.nCharId)
|
||||
if not mapCharCfg then
|
||||
return
|
||||
end
|
||||
local mapGradeCfg = ConfigTable.GetData("CharGrade", mapCharCfg.Grade)
|
||||
if not mapGradeCfg then
|
||||
return
|
||||
end
|
||||
local nGeneralCount = PlayerData.Item:GetItemCountByID(mapGradeCfg.GeneralFragmentId)
|
||||
local nFragmentCount = PlayerData.Item:GetItemCountByID(mapCharCfg.FragmentsId)
|
||||
local sFragment = ConfigTable.GetData_Item(mapCharCfg.FragmentsId).Title
|
||||
local sGeneral = ConfigTable.GetData_Item(mapGradeCfg.GeneralFragmentId).Title
|
||||
local sChar = mapCharCfg.Name
|
||||
if nFragmentCount >= self.nLayerCost then
|
||||
local msg = {
|
||||
nType = AllEnum.MessageBox.Confirm,
|
||||
sContent = orderedFormat(ConfigTable.GetUIText("CharTalent_ActiveLayerTip_CharFragment"), sFragment, self.nLayerCost, sChar, self.sKeyName),
|
||||
callbackConfirm = confirmCallback,
|
||||
callbackAgain = againCallback
|
||||
}
|
||||
EventManager.Hit(EventId.OpenMessageBox, msg)
|
||||
elseif self.nLayerCost <= nFragmentCount + nGeneralCount then
|
||||
local sTip = ""
|
||||
if nFragmentCount == 0 then
|
||||
sTip = orderedFormat(ConfigTable.GetUIText("CharTalent_ActiveLayerTip_GeneralFragment"), sGeneral, self.nLayerCost, sChar, self.sKeyName)
|
||||
else
|
||||
sTip = orderedFormat(ConfigTable.GetUIText("CharTalent_ActiveLayerTip_BothFragment"), sFragment, nFragmentCount, sGeneral, self.nLayerCost - nFragmentCount, sChar, self.sKeyName)
|
||||
end
|
||||
local msg = {
|
||||
nType = AllEnum.MessageBox.Confirm,
|
||||
sContent = sTip,
|
||||
callbackConfirm = confirmCallback,
|
||||
callbackAgain = againCallback
|
||||
}
|
||||
EventManager.Hit(EventId.OpenMessageBox, msg)
|
||||
end
|
||||
end
|
||||
function CharTalentInfoTrialCtrl:Awake()
|
||||
end
|
||||
function CharTalentInfoTrialCtrl:OnEnable()
|
||||
end
|
||||
function CharTalentInfoTrialCtrl:OnDisable()
|
||||
end
|
||||
function CharTalentInfoTrialCtrl:OnDestroy()
|
||||
end
|
||||
function CharTalentInfoTrialCtrl:OnBtnClick_Tips(btn, nIndex)
|
||||
local mapCharCfg = ConfigTable.GetData_Character(self._panel.nCharId)
|
||||
if not mapCharCfg then
|
||||
return
|
||||
end
|
||||
local mapData = {
|
||||
nTid = mapCharCfg.FragmentsId,
|
||||
bShowDepot = true,
|
||||
bShowJumpto = true
|
||||
}
|
||||
EventManager.Hit(EventId.OpenPanel, PanelId.ItemTips, btn.transform, mapData)
|
||||
end
|
||||
function CharTalentInfoTrialCtrl:OnLinkClick_Word(link, sWordId)
|
||||
UTILS.ClickWordLink(link, sWordId, {
|
||||
nCharId = self._panel.nCharId
|
||||
})
|
||||
end
|
||||
return CharTalentInfoTrialCtrl
|
||||
Reference in New Issue
Block a user