134 lines
3.9 KiB
Lua
134 lines
3.9 KiB
Lua
------------------------------------------------
|
|
--作者: 何健
|
|
--日期: 2019-05-30
|
|
--文件: UIGetItemTIps.lua
|
|
--模块: UIGetItemTIps
|
|
--描述: 物品获得快速使用界面
|
|
------------------------------------------------
|
|
local UIGetItemTIps = {
|
|
--物品显示
|
|
UIItem = nil,
|
|
--使用按钮
|
|
UseBtn = nil,
|
|
--按钮显示文字
|
|
UseLabel = nil,
|
|
--自动使用倒计时
|
|
RemainTime = 0,
|
|
--显示的物品数据
|
|
Data = nil,
|
|
CanClose = false
|
|
}
|
|
|
|
-- 继承Form函数
|
|
function UIGetItemTIps:OnRegisterEvents()
|
|
self:RegisterEvent(UIEventDefine.UIITEMGET_TIPS_OPEN,self.OnOpen)
|
|
self:RegisterEvent(UIEventDefine.UIITEMGET_TIPS_CLOSE,self.OnClose)
|
|
self:RegisterEvent(LogicEventDefine.EVENT_ITEM_CHANGE_UPDATE, self.OnItemChange)
|
|
self:RegisterEvent(LogicEventDefine.EID_EVENT_CLOSEREMAINTIME_EQUIP, self.OnCloseCountDown)
|
|
end
|
|
|
|
function UIGetItemTIps:OnFirstShow()
|
|
self.UIItem = UILuaItem:New(UIUtils.FindTrans(self.Trans, "Container/Back/UIItem"))
|
|
self.UseBtn = UIUtils.FindBtn(self.Trans, "Container/Back/BtnUse")
|
|
self.UseLabel = UIUtils.FindLabel(self.Trans, "Container/Back/BtnUse/Label")
|
|
self.NameLabel = UIUtils.FindLabel(self.Trans, "Container/Back/Name")
|
|
UIUtils.AddBtnEvent(self.UseBtn, self.OnBtnUse, self)
|
|
local button = UIUtils.FindBtn(self.Trans, "Container/Back/CloseBtn")
|
|
UIUtils.AddBtnEvent(button, self.OnCloseBtnClick, self)
|
|
self.CSForm.UIRegion = UIFormRegion.NoticRegion
|
|
self.CSForm:AddNormalAnimation(0.3)
|
|
self.CSForm.FormType = CS.Thousandto.Plugins.Common.UIFormType.Hint
|
|
end
|
|
|
|
function UIGetItemTIps:OnShowAfter()
|
|
end
|
|
function UIGetItemTIps:OnHideBefore()
|
|
return self.CanClose
|
|
end
|
|
function UIGetItemTIps:OnHideAfter()
|
|
end
|
|
|
|
function UIGetItemTIps:Update()
|
|
if not self.Data then
|
|
self:OnClose()
|
|
end
|
|
end
|
|
|
|
function UIGetItemTIps:OnUpdateForm()
|
|
local _canShow, _ = GameCenter.GetNewItemSystem:CanShowNewTips(self.Data)
|
|
if _canShow then
|
|
--UIUtils.SetTextByEnum(self.UseLabel, "C_ITEM_USE")
|
|
self.UIItem:InitWithItemData(self.Data, 1)
|
|
UIUtils.SetTextByString(self.NameLabel, self.Data.Name)
|
|
-- UIUtils.SetColorByQuality(self.NameLabel, self.Data.Quality)
|
|
else
|
|
self.CanClose = true
|
|
self:OnClose()
|
|
end
|
|
end
|
|
|
|
--打开界面时,保存物品数据
|
|
function UIGetItemTIps:OnOpen(obj, sender)
|
|
self.Data = obj
|
|
if self.Data then
|
|
self.CSForm:Show(sender)
|
|
self:OnUpdateForm()
|
|
else
|
|
self.CanClose = true
|
|
self:OnClose()
|
|
end
|
|
end
|
|
|
|
function UIGetItemTIps:OnClose(obj, sender)
|
|
self.CanClose = true
|
|
self.CSForm:Hide()
|
|
end
|
|
|
|
--关闭倒计时,用于返回登陆时关闭界面
|
|
function UIGetItemTIps:OnCloseCountDown(obj, sender)
|
|
self.CanClose = true
|
|
self:OnClose()
|
|
end
|
|
|
|
--物品信息改变,如果背包中没有该物品,则关闭界面
|
|
function UIGetItemTIps:OnItemChange(obj, sender)
|
|
if self.Data == nil then
|
|
self:OnClose()
|
|
return
|
|
end
|
|
if self.Data and obj ~= self.Data.CfgID then
|
|
return
|
|
end
|
|
self.Data = GameCenter.ItemContianerSystem:GetItemByUIDFormBag(self.Data.DBID)
|
|
local _canShow, _ = GameCenter.GetNewItemSystem:CanShowNewTips(self.Data)
|
|
if not _canShow then
|
|
self.CanClose = true
|
|
self:OnClose()
|
|
end
|
|
end
|
|
|
|
--点击界面上关闭按钮
|
|
function UIGetItemTIps:OnCloseBtnClick()
|
|
self.CanClose = true
|
|
self:OnClose()
|
|
end
|
|
|
|
--使用按钮
|
|
function UIGetItemTIps:OnBtnUse()
|
|
local _canShow, _ = GameCenter.GetNewItemSystem:CanShowNewTips(self.Data)
|
|
if _canShow then
|
|
if self.Data.CfgID == GameCenter.WorldSupportSystem.TanksItemID then
|
|
GameCenter.WorldSupportSystem:ReqAtLastHelp()
|
|
else
|
|
self.Data:UseItem()
|
|
end
|
|
end
|
|
self.CanClose = true
|
|
self:OnClose()
|
|
--关闭奖励界面
|
|
GameCenter.PushFixEvent(UIEventDefine.UIGetNewItemForm_CLOSE)
|
|
GameCenter.PushFixEvent(UIEventDefine.UITHJRXYGetNewItemForm_CLOSE)
|
|
end
|
|
|
|
return UIGetItemTIps
|