46f967a584
EN: 1.6.0.84 CN: 1.6.0.87 JP: 1.6.0.88 KR: 1.6.0.91
70 lines
2.1 KiB
Lua
70 lines
2.1 KiB
Lua
local PhonePopUpCtrl = class("PhonePopUpCtrl", BaseCtrl)
|
|
PhonePopUpCtrl._mapNodeConfig = {
|
|
imgBlurredBg = {sComponentName = "GameObject"},
|
|
goContent = {},
|
|
animRoot = {
|
|
sNodeName = "----SafeAreaRoot----",
|
|
sComponentName = "Animator"
|
|
},
|
|
goChat = {
|
|
sCtrlName = "Game.UI.Phone.Chat.PhoneChatCtrl"
|
|
},
|
|
btnClose = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Close"
|
|
},
|
|
btnMask = {
|
|
sComponentName = "Empty4Raycast"
|
|
}
|
|
}
|
|
PhonePopUpCtrl._mapEventConfig = {}
|
|
function PhonePopUpCtrl:Awake()
|
|
local param = self:GetPanelParam()
|
|
if type(param) == "table" then
|
|
self.nChatId = param[1]
|
|
self.bRestart = param[2]
|
|
self.callback = param[3]
|
|
end
|
|
end
|
|
function PhonePopUpCtrl:OnEnable()
|
|
self._mapNode.goContent.gameObject:SetActive(false)
|
|
self._mapNode.imgBlurredBg.gameObject:SetActive(true)
|
|
local wait = function()
|
|
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
|
self._mapNode.goContent.gameObject:SetActive(true)
|
|
local nAnimLength = NovaAPI.GetAnimClipLength(self._mapNode.animRoot, {
|
|
"PhonePopUpPanel_in"
|
|
})
|
|
local callback = function()
|
|
local chatCfg = ConfigTable.GetData("Chat", self.nChatId)
|
|
self.nAddressId = chatCfg.AddressBookId
|
|
local addressData = PlayerData.Phone:GetAddressBookData(self.nAddressId)
|
|
if nil ~= addressData then
|
|
self._mapNode.goChat:SetChatContent(addressData, self.nChatId, self.bRestart)
|
|
self._mapNode.btnMask.enabled = false
|
|
end
|
|
end
|
|
self:AddTimer(1, nAnimLength, callback, true, true, true)
|
|
EventManager.Hit(EventId.TemporaryBlockInput, nAnimLength)
|
|
end
|
|
cs_coroutine.start(wait)
|
|
end
|
|
function PhonePopUpCtrl:OnDisable()
|
|
end
|
|
function PhonePopUpCtrl:OnDestroy()
|
|
if nil ~= self.callback then
|
|
self.callback()
|
|
end
|
|
end
|
|
function PhonePopUpCtrl:OnBtnClick_Close()
|
|
local nAnimLength = NovaAPI.GetAnimClipLength(self._mapNode.animRoot, {
|
|
"PhonePopUpPanel_out"
|
|
})
|
|
self._mapNode.animRoot:Play("PhonePopUpPanel_out")
|
|
EventManager.Hit(EventId.TemporaryBlockInput, nAnimLength)
|
|
self:AddTimer(1, nAnimLength, function()
|
|
EventManager.Hit(EventId.ClosePanel, PanelId.PhonePopUp)
|
|
end, true, true, true, true)
|
|
end
|
|
return PhonePopUpCtrl
|