88 lines
3.3 KiB
Lua
88 lines
3.3 KiB
Lua
|
local XUiHostelDeviceUpgrading = XUiManager.Register("UiHostelDeviceUpgrading")
|
||
|
-- auto
|
||
|
-- Automatic generation of code, forbid to edit
|
||
|
function XUiHostelDeviceUpgrading:InitAutoScript()
|
||
|
self:AutoInitUi()
|
||
|
self.SpecialSoundMap = {}
|
||
|
self:AutoAddListener()
|
||
|
end
|
||
|
|
||
|
function XUiHostelDeviceUpgrading:AutoInitUi()
|
||
|
self.PanelFuncUpgrading = self.Transform:Find("SafeAreaContentPane/PanelFuncUpgrading")
|
||
|
self.TxtSysName = self.Transform:Find("SafeAreaContentPane/PanelFuncUpgrading/TxtSysName"):GetComponent("Text")
|
||
|
self.TxtUpgradeLeftTime = self.Transform:Find("SafeAreaContentPane/PanelFuncUpgrading/TxtUpgradeLeftTime"):GetComponent("Text")
|
||
|
self.PanelCharTopButton = self.Transform:Find("SafeAreaContentPane/PanelCharTopButton")
|
||
|
self.BtnBack = self.Transform:Find("SafeAreaContentPane/PanelCharTopButton/BtnBack"):GetComponent("Button")
|
||
|
end
|
||
|
|
||
|
function XUiHostelDeviceUpgrading:GetAutoKey(uiNode,eventName)
|
||
|
if not uiNode then return end
|
||
|
return eventName .. uiNode:GetHashCode()
|
||
|
end
|
||
|
|
||
|
function XUiHostelDeviceUpgrading: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("XUiHostelDeviceUpgrading: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 XUiHostelDeviceUpgrading:AutoAddListener()
|
||
|
self.AutoCreateListeners = {}
|
||
|
XUiHelper.RegisterClickEvent(self, self.BtnBack, self.OnBtnBackClick)
|
||
|
end
|
||
|
-- auto
|
||
|
|
||
|
function XUiHostelDeviceUpgrading:OnOpen(type,funcBackUpgarding)
|
||
|
self:InitAutoScript()
|
||
|
self.CurFuncType = type
|
||
|
self.FuncBackUpgarding = funcBackUpgarding
|
||
|
local behaviour = self.GameObject:AddComponent(typeof(CS.XLuaBehaviour))
|
||
|
behaviour.LuaUpdate = function() self:Update() end
|
||
|
self:UpdateView()
|
||
|
end
|
||
|
|
||
|
function XUiHostelDeviceUpgrading:OnBtnBackClick()
|
||
|
CS.XUiManager.DialogManager:Pop()
|
||
|
if self.FuncBackUpgarding then
|
||
|
self.FuncBackUpgarding()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function XUiHostelDeviceUpgrading:UpdateView()
|
||
|
local deveice = XDataCenter.HostelManager.GetFunctionDeviceData(self.CurFuncType)
|
||
|
if not deveice then return end
|
||
|
local nextConfig = XDataCenter.HostelManager.GetHostelFunctionDeviceLevelTemplate(self.CurFuncType,deveice.Level + 1)
|
||
|
if not nextConfig then return end
|
||
|
self.TxtSysName.text = nextConfig.Name
|
||
|
if deveice.UpgradeBeginTime > 0 then
|
||
|
self.EndUpgradTime = deveice.UpgradeBeginTime + nextConfig.CostTime
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function XUiHostelDeviceUpgrading:Update()
|
||
|
if self.EndUpgradTime and self.EndUpgradTime > 0 then
|
||
|
local curTime = XTime.GetServerNowTimestamp()
|
||
|
local leftTime = self.EndUpgradTime - curTime
|
||
|
if leftTime < 0 then
|
||
|
leftTime = 0
|
||
|
end
|
||
|
self.TxtUpgradeLeftTime.text = XUiHelper.GetTime(leftTime, XUiHelper.TimeFormatType.SHOP)
|
||
|
end
|
||
|
end
|