2025-01-04 23:00:19 +08:00

84 lines
2.3 KiB
Lua

---@class WB_SelectDefaultWeapon_C:UUserWidget
---@field Button_Select UButton
---@field Image_1 UImage
---@field Image_Weapon UImage
---@field Overlay_1 UOverlay
---@field Overlay_Defaut UOverlay
---@field Overlay_IsVote UOverlay
---@field WidgetSwitcher_VoteState UWidgetSwitcher
--Edit Below--
---@type WB_SelectDefaultWeapon_C
local WB_SelectDefaultWeapon = {
bInitDoOnce = false;
bVote = false;
};
--[==[ Construct
function WB_SelectDefaultWeapon:Construct()
end
-- Construct ]==]
-- function WB_SelectDefaultWeapon:Tick(MyGeometry, InDeltaTime)
-- end
-- function WB_SelectDefaultWeapon:Destruct()
-- end
function WB_SelectDefaultWeapon:InitDefaultWeapon(InWeaponID, InParentObj, ParentObjSelectCallBack)
UGCEventSystem.AddListener(EventEnum.SelectDefaultWeaponCallBack, self.LocalPlayerSelectDefaultWeapon, self)
self.Button_Select:SetTouchMethod(EButtonTouchMethod.PreciseTap)
self.WeaponID = InWeaponID
self.ParentObj = InParentObj
self.CallBackFunc = ParentObjSelectCallBack
local WeaponInfo = UGCItemSystem.GetItemData(self.WeaponID)
if WeaponInfo then
local Tex = UGCSystemLibrary.LoadAsset(WeaponInfo.ItemSmallIcon_n, true)
if UE.IsValid(Tex) then
self.Image_Weapon:SetBrushFromTexture(Tex)
end
end
WidgetLibrary.BindButtonClicked(self.Button_Select, self.SelectDefaultWeapon, self)
end
function WB_SelectDefaultWeapon:SelectDefaultWeapon()
SoundSystem.PlaySound(SoundSystem.ESound.Btn)
if self.CallBackFunc then
if self.ParentObj then
self.CallBackFunc(self.ParentObj, self.WeaponID)
else
self.CallBackFunc(self.WeaponID)
end
end
end
function WB_SelectDefaultWeapon:GetWeaponID()
return self.WeaponID
end
function WB_SelectDefaultWeapon:LocalPlayerSelectDefaultWeapon(bSucceed, InWeaponID)
if bSucceed and InWeaponID == self.WeaponID then
self.bVote = true
self.WidgetSwitcher_VoteState:SetActiveWidgetIndex(2)
end
end
function WB_SelectDefaultWeapon:SetSelect(bSelect)
if self.bVote == false then
if bSelect then
self.WidgetSwitcher_VoteState:SetActiveWidgetIndex(1)
else
self.WidgetSwitcher_VoteState:SetActiveWidgetIndex(0)
end
end
end
return WB_SelectDefaultWeapon;