Files
Main/Assets/GameAssets/Resources/Lua/UI/Forms/UIXMBossHearten/UIXMBossHearten.lua

120 lines
4.5 KiB
Lua
Raw Normal View History

2025-01-25 04:38:09 +08:00
--==============================--
--作者: xihan
--日期: 2020-02-20 09:48:24
--文件: UIXMBossHearten.lua
--模块: UIXMBossHearten'
--描述: 仙盟Boss鼓舞界面
--==============================--
local UIXMBossHearten = {
BackTex = nil,
}
--注册事件函数, 提供给CS端调用.
function UIXMBossHearten:OnRegisterEvents()
self:RegisterEvent(UILuaEventDefine.UIXMBossHearten_OPEN, self.OnOpen);
self:RegisterEvent(UILuaEventDefine.UIXMBossHearten_CLOSE, self.OnClose);
self:RegisterEvent(LogicLuaEventDefine.EID_EVENT_XMBOSSHEARTEN_REFRSH, self.Refresh)
end
--Load函数, 提供给CS端调用.
function UIXMBossHearten:OnLoad()
end
--第一只显示函数, 提供给CS端调用.
function UIXMBossHearten:OnFirstShow()
self:FindAllComponents();
self:RegUICallback();
end
--查找所有组件
function UIXMBossHearten:FindAllComponents()
local _myTrans = self.Trans;
self.TxtDamageAddPro = UIUtils.FindLabel(_myTrans, "Center/TxtDamageAddPro");
-- self.TxtResult1 = UIUtils.FindLabel(_myTrans, "Center/TxtResult1");
-- self.TxtResult2 = UIUtils.FindLabel(_myTrans, "Center/TxtResult2");
self.BtnLeft = UIUtils.FindBtn(_myTrans, "Center/BtnLeft");
self.BtnRight = UIUtils.FindBtn(_myTrans, "Center/BtnRight");
self.BtnClose = UIUtils.FindBtn(_myTrans, "Center/BtnClose");
self.TxtBtnLeft = UIUtils.FindLabel(_myTrans, "Center/BtnLeft/Label");
self.TxtBtnRight = UIUtils.FindLabel(_myTrans, "Center/BtnRight/Label");
self.SprLeft = UIUtils.FindSpr(_myTrans, "Center/BtnLeft")
self.SprRight = UIUtils.FindSpr(_myTrans, "Center/BtnRight")
self.UIIconCostLeft = UIUtils.RequireUIIconBase(UIUtils.FindTrans(_myTrans, "Center/CostLeft/SprIcon"));
self.UIIconCostRight = UIUtils.RequireUIIconBase(UIUtils.FindTrans(_myTrans, "Center/CostRight/SprIcon"));
self.TxtCostLeft = UIUtils.FindLabel(_myTrans, "Center/CostLeft/TxtCount");
self.TxtCostRight = UIUtils.FindLabel(_myTrans, "Center/CostRight/TxtCount");
self.SingleHeartenAddValue = GameCenter.XMBossSystem.SingleHeartenAddValue;
self.CostGoldArr = GameCenter.XMBossSystem.CostGoldArr
self.CostYBArr = GameCenter.XMBossSystem.CostYBArr
self.UIIconCostLeft:UpdateIcon(3)
self.UIIconCostRight:UpdateIcon(1)
UIUtils.SetTextByEnum(self.TxtDamageAddPro, "Percent", 0)
UIUtils.SetTextByNumber(self.TxtCostLeft, 0)
UIUtils.SetTextByNumber(self.TxtCostRight, 0)
self.BackTex = UIUtils.FindTex(_myTrans, "Center/BackTex")
self.CSForm:AddNormalAnimation(0.3)
end
--绑定UI组件的回调函数
function UIXMBossHearten:RegUICallback()
UIUtils.AddBtnEvent(self.BtnLeft, self.OnClickBtnLeftCallBack, self);
UIUtils.AddBtnEvent(self.BtnRight, self.OnClickBtnRightCallBack, self);
UIUtils.AddBtnEvent(self.BtnClose, self.OnClickBtnCloseCallBack, self);
end
--显示后的操作, 提供给CS端调用.
function UIXMBossHearten:OnShowAfter()
self:Refresh()
self.CSForm:LoadTexture(self.BackTex,AssetUtils.GetImageAssetPath(ImageTypeCode.UI, "tex_n_d_3"));
end
function UIXMBossHearten:Refresh()
local _MsgInspireData = GameCenter.XMBossSystem.MsgInspireData;
if _MsgInspireData then
UIUtils.SetTextByString(self.TxtDamageAddPro ,math.floor(_MsgInspireData.guildNum*self.SingleHeartenAddValue) .. "%")
UIUtils.SetTextByString(self.TxtCostLeft ,self.CostGoldArr[_MsgInspireData.ownMoneyNum+1] or "0")
UIUtils.SetTextByString(self.TxtCostRight ,self.CostYBArr[_MsgInspireData.ownGoldNum+1] or "0")
self.SprLeft.IsGray = not self.CostGoldArr[_MsgInspireData.ownMoneyNum+1]
self.SprRight.IsGray = not self.CostYBArr[_MsgInspireData.ownGoldNum+1]
UIUtils.SetTextByEnum(self.TxtBtnLeft ,self.CostGoldArr[_MsgInspireData.ownMoneyNum+1] and "JinBiInspire" or "Inspired")
UIUtils.SetTextByEnum(self.TxtBtnRight ,self.CostYBArr[_MsgInspireData.ownGoldNum+1] and "YuBaoInspire" or "Inspired")
end
end
--[界面按钮回调 begin]--
function UIXMBossHearten:OnClickBtnLeftCallBack()
local _MsgInspireData = GameCenter.XMBossSystem.MsgInspireData;
if self.CostGoldArr[_MsgInspireData.ownMoneyNum+1] then
GameCenter.XMBossSystem:ReqGuildBossInspire(0)
else
Utils.ShowPromptByEnum("JinBiTimesNotEnough")
end
end
function UIXMBossHearten:OnClickBtnRightCallBack()
local _MsgInspireData = GameCenter.XMBossSystem.MsgInspireData;
if self.CostYBArr[_MsgInspireData.ownGoldNum+1] then
GameCenter.XMBossSystem:ReqGuildBossInspire(1)
else
Utils.ShowPromptByEnum("YuBaoTimesNotEnough")
end
end
function UIXMBossHearten:OnClickBtnCloseCallBack()
self.CSForm:Hide()
end
---[界面按钮回调 end]---
return UIXMBossHearten;