forked from endernon/PGRData
235 lines
No EOL
9 KiB
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 |