PGRData/Script/matrix/xui/xuinewroleshow/XUiNewRoleShow.lua

235 lines
No EOL
9 KiB
Lua

local XUiNewRoleShow = XLuaUiManager.Register(XLuaUi, "UiNewRoleShow")
function XUiNewRoleShow:OnAwake()
self:InitAutoScript()
end
function XUiNewRoleShow:OnStart(RoleId, closecallback, openCallback)
self.RoleConfig = nil
self.CanClick = false
self.CloseCallback = nil
self.CanClick = false
self.CloseCallback = closecallback
self.RoleConfig = XNewRoleShowManager.GetNewRoleShowTemplate(RoleId)
if openCallback then
openCallback()
end
self:PlayAnimations()
end
function XUiNewRoleShow:OnDestroy()
XUiHelper.StopAnimation()
self.RoleConfig = nil
if self.CloseCallback then
self.CloseCallback()
end
self.CloseCallback = nil
end
function XUiNewRoleShow:PlayAnimations()
self.PanelLoading.gameObject:SetActive(true)
self.PanelRoleDetail.gameObject:SetActive(false)
self.PanelEffect.gameObject:SetActive(false)
self.PanelCenter.gameObject:SetActive(false)
self.PanelLU.gameObject:SetActive(false)
self.PanelRU.gameObject:SetActive(false)
self.PanelLD.gameObject:SetActive(false)
self.PanelRD.gameObject:SetActive(false)
self:PlayBegan()
self:PlayName()
self:PlayDetail()
self:PlayLu()
self:PlayRd()
self:PlayLd()
self:PlayRu()
end
function XUiNewRoleShow:PlayBegan()
-- local onStart = function()
-- self.PanelLoading.gameObject:SetActive(false)
-- self.PanelRoleDetail.gameObject:SetActive(true)
-- end
-- local onFinish = function()
-- self.PanelEffect.gameObject:SetActive(true)
-- end
--XUiHelper.PlayAnimation(self, "Began", onStart, onFinish)
end
function XUiNewRoleShow:PlayDetail()
-- local onStart = function()
-- self.PanelLoading.gameObject:SetActive(false)
-- self.PanelRoleDetail.gameObject:SetActive(true)
-- end
-- local onFinish = function()
-- self.PanelEffect.gameObject:SetActive(true)
-- end
--XUiHelper.PlayAnimation(self, "Detail", onStart, onFinish)
end
function XUiNewRoleShow:PlayName()
-- local onStart = function()
-- self.PanelCenter.gameObject:SetActive(true)
-- self.TxtRace.text = ""
-- end
-- local onFinish = function()
-- XUiHelper.ShowCharByTypeAnimation(self.TxtRace, self.RoleConfig.Name, 100)
-- end
--XUiHelper.PlayAnimation(self, "Name", onStart, onFinish)
end
function XUiNewRoleShow:PlayLu()
-- local onStart = function()
-- self.PanelLU.gameObject:SetActive(true)
-- self.TxtHeight.text = "0cm"
-- self.TxtWeight.text = "0kg"
-- end
-- local onFinish = function()
-- XUiHelper.Tween(0.5, function(f)
-- if XTool.UObjIsNil(self.TxtHeight) then
-- return
-- end
-- if self.TxtHeight and self.RoleConfig then
-- self.TxtHeight.text = math.floor(f * self.RoleConfig.Height) .. "cm"
-- self.TxtWeight.text = math.floor(f * self.RoleConfig.Weight) .. "kg"
-- else
-- return true
-- end
-- end)
-- --XUiHelper.ShowCharByTypeAnimation(self.TxtBWH,self.RoleConfig.BWH,100)
-- end
--XUiHelper.PlayAnimation(self, "Lu", onStart, onFinish)
end
function XUiNewRoleShow:PlayRu()
-- local onStart = function()
-- self.PanelRU.gameObject:SetActive(true)
-- self.ImgIQ.fillAmount = 0
-- self.ImgEQ.fillAmount = 0
-- self.ImgPhysical.fillAmount = 0
-- self.ImgTactics.fillAmount = 0
-- self.ImgLeaderShip.fillAmount = 0
-- end
-- local onFinish = function()
-- XUiHelper.Tween(
-- 0.5,
-- function(f)
-- if self.RoleConfig then
-- local mul = f * 0.01
-- self.ImgIQ.fillAmount = self.RoleConfig.IQ * mul
-- self.ImgEQ.fillAmount = self.RoleConfig.EQ * mul
-- self.ImgPhysical.fillAmount = self.RoleConfig.Physical * mul
-- self.ImgTactics.fillAmount = self.RoleConfig.Tactics * mul
-- self.ImgLeaderShip.fillAmount = self.RoleConfig.LeaderShip * mul
-- else
-- return true
-- end
-- end
-- )
-- end
--XUiHelper.PlayAnimation(self, "Ru", onStart, onFinish)
end
function XUiNewRoleShow:PlayLd()
-- local onStart = function()
-- self.PanelLD.gameObject:SetActive(true)
-- self.TxtAwareness.text = ""
-- self.TxtActionStandard.text = ""
-- end
-- local onFinish = function()
-- XUiHelper.ShowCharByTypeAnimation(self.TxtAwareness, self.RoleConfig.Awareness, 100)
-- XUiHelper.ShowCharByTypeAnimation(self.TxtActionStandard, self.RoleConfig.ActionStandard, 100)
-- end
--XUiHelper.PlayAnimation(self, "Ld", onStart, onFinish)
end
function XUiNewRoleShow:PlayRd()
-- local onStart = function()
-- self.PanelRD.gameObject:SetActive(true)
-- self.TxtCarryDevice.text = ""
-- end
-- local onFinish = function()
-- XUiHelper.ShowCharByTypeAnimation(self.TxtCarryDevice, self.RoleConfig.CarrayDevice, 100, nil, function()
-- self.CanClick = true
-- end)
-- end
--XUiHelper.PlayAnimation(self, "Rd", onStart, onFinish)
end
-- auto
-- Automatic generation of code, forbid to edit
function XUiNewRoleShow:InitAutoScript()
self:AutoInitUi()
self.SpecialSoundMap = {}
self:AutoAddListener()
end
function XUiNewRoleShow:AutoInitUi()
self.PanelRoleDetail = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail")
self.ImgRole = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/ImgRole"):GetComponent("Image")
self.PanelEffect = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelEffect")
self.PanelLU = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelLU")
self.TxtHeight = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelLU/TxtHeight"):GetComponent("Text")
self.TxtWeight = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelLU/TxtWeight"):GetComponent("Text")
self.TxtBWH = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelLU/TxtBWH"):GetComponent("Text")
self.PanelLD = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelLD")
self.TxtAwareness = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelLD/TxtAwareness"):GetComponent("Text")
self.TxtActionStandard = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelLD/TxtActionStandard"):GetComponent("Text")
self.PanelRU = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelRU")
self.ImgIQ = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelRU/ImgIQ"):GetComponent("Image")
self.ImgEQ = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelRU/ImgEQ"):GetComponent("Image")
self.ImgPhysical = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelRU/ImgPhysical"):GetComponent("Image")
self.ImgTactics = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelRU/ImgTactics"):GetComponent("Image")
self.ImgLeaderShip = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelRU/ImgLeaderShip"):GetComponent("Image")
self.PanelRD = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelRD")
self.TxtCarryDevice = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelRD/TxtCarryDevice"):GetComponent("Text")
self.PanelCenter = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelCenter")
self.TxtRace = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/PanelCenter/TxtRace"):GetComponent("Text")
self.BtnClick = self.Transform:Find("SafeAreaContentPane/PanelRoleDetail/BtnClick"):GetComponent("Button")
self.PanelLoading = self.Transform:Find("SafeAreaContentPane/PanelLoading")
end
function XUiNewRoleShow:GetAutoKey(uiNode, eventName)
if not uiNode then
return
end
return eventName .. uiNode:GetHashCode()
end
function XUiNewRoleShow:RegisterListener(uiNode, eventName, func)
local key = self:GetAutoKey(uiNode, eventName)
if not key then
return
end
local listener = self.AutoCreateListeners[key]
if listener ~= nil then
uiNode[eventName]:RemoveListener(listener)
end
if func ~= nil then
if type(func) ~= "function" then
XLog.Error("XUiNewRoleShow:RegisterListener函数错误, 参数func需要是function类型, func的类型是" .. type(func))
end
listener = function(...)
XSoundManager.PlayBtnMusic(self.SpecialSoundMap[key], eventName)
func(self, ...)
end
uiNode[eventName]:AddListener(listener)
self.AutoCreateListeners[key] = listener
end
end
function XUiNewRoleShow:AutoAddListener()
self.AutoCreateListeners = {}
self:RegisterClickEvent(self.BtnClick, self.OnBtnClickClick)
end
-- auto
function XUiNewRoleShow:OnBtnClickClick()
if self.CanClick then
self:Close()
end
end