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

64 lines
2 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local XUiPanelSkillTeach = XLuaUiManager.Register(XLuaUi, "UiPanelSkillTeach")
local CSXAudioManager = CS.XAudioManager
function XUiPanelSkillTeach:OnAwake()
self:AutoAddListener()
self.BtnTeach.gameObject:SetActiveEx(false)
end
function XUiPanelSkillTeach:OnStart(characterId)
self.CharacterId = characterId
end
function XUiPanelSkillTeach:OnEnable()
XSoundManager.PlaySoundByType(CSXAudioManager.UiMainNeedPlayedBgmCueId,XSoundManager.SoundType.BGM)
self:UpdateView()
end
function XUiPanelSkillTeach:AutoAddListener()
self:RegisterClickEvent(self.BtnTanchuangClose, self.OnBtnTanchuangCloseClick)
self:RegisterClickEvent(self.BtnTeach, self.OnBtnTeachClick)
self:RegisterClickEvent(self.BtnFight, self.OnBtnFightClick)
end
function XUiPanelSkillTeach:OnBtnTanchuangCloseClick()
self:Close()
end
function XUiPanelSkillTeach:OnBtnTeachClick()
local characterId = self.CharacterId
local url = XCharacterConfigs.GetCharTeachWebUrlById(characterId)
self:UpdateWebView(url)
end
function XUiPanelSkillTeach:OnBtnFightClick()
local characterId = self.CharacterId
XDataCenter.FubenManager.EnterSkillTeachFight(characterId)
end
function XUiPanelSkillTeach:UpdateView()
local characterId = self.CharacterId
local data = XCharacterConfigs.GetCharTeachById(characterId)
if not data then return end
self:SetUiSprite(self.ImgSkill, data.TeachIcon)
self.TxtSkillName.text = data.Title
self.TxtSkillDesc.text = string.format("%s%s", " ", data.Description)
end
function XUiPanelSkillTeach:UpdateWebView(url)
if self.CurUrl and self.CurUrl == url then
return
end
self.CurUrl = url
if self.WebViewPanel then
CS.UnityEngine.Object.Destroy(self.WebViewPanel.gameObject)
self.WebViewPanel = nil
end
CS.XTool.WaitNativeCoroutine(CS.UnityEngine.WaitForEndOfFrame(), function ()
self.WebViewPanel = CS.UnityEngine.Object.Instantiate(self.PanelWebView, self.PanelWebView.parent)
CS.XWebView.Load(self.WebViewPanel.gameObject, self.CurUrl)
end)
end