UGCProjects/SoloKing/Script/UI/Tool/WB_DamageTextButton.lua

49 lines
1.4 KiB
Lua

---@class WB_DamageTextButton_C:UUserWidget
---@field NewButton_Shovel UNewButton
---@field WidgetSwitcher_ChangeShovel UWidgetSwitcher
--Edit Below--
---@type WB_DamageTextButton_C
local WB_DamageTextButton = { bInitDoOnce = false }
function WB_DamageTextButton:Construct()
self:LuaInit();
end
function WB_DamageTextButton:LuaInit()
if self.bInitDoOnce then return ; end
self.bInitDoOnce = true;
UITool.BindButtonClicked(self.NewButton_Shovel, self.OnClickButton, self)
UGCEventSystem.AddListener(EventTypes.UpdateEnableDamageText, self.OnUpdateDamageText, self)
UGCEventSystem.AddListener(EventTypes.UpdateDamageText, self.OnUpdateDamageText, self)
self:OnUpdateDamageText(LocalPlayerController.EnableDamageText);
end
function WB_DamageTextButton:OnUpdateDamageText(IsEnable)
self.EnableDamageText = IsEnable;
self.WidgetSwitcher_ChangeShovel:SetActiveWidgetIndex(IsEnable and 1 or 0);
end
WB_DamageTextButton.EnableDamageText = true;
function WB_DamageTextButton:OnClickButton()
self:OnUpdateDamageText(not self.EnableDamageText);
self:SetEnableDamageText(self.EnableDamageText);
UGCEventSystem.SendEvent(EventTypes.UpdateDamageText, self.EnableDamageText);
end
function WB_DamageTextButton:SetEnableDamageText(IsEnable)
-- 发送 RPC
LocalPlayerController:SetEnableDamageText(IsEnable);
end
-- function WB_DamageTextButton:Tick(MyGeometry, InDeltaTime)
-- end
-- function WB_DamageTextButton:Destruct()
-- end
return WB_DamageTextButton;