UGCProjects/GZJ/Script/UI/WBP_GeneralSlide.lua
2025-01-08 22:46:12 +08:00

78 lines
2.1 KiB
Lua

---@class WBP_GeneralSlide_C:UUserWidget
---@field Button_Cancel UButton
---@field Button_Ok UButton
---@field Button_SlideMode_add UButton
---@field Button_SlideMode_minus UButton
---@field SlideMode_Value UTextBlock
---@field WBP_CloseWidget UWBP_CloseWidget_C
--Edit Below--
local WBP_GeneralSlide = {
bInitDoOnce = false;
Num = 0,
ItemData = nil,
OperateType = EBagOperateType.None
};
function WBP_GeneralSlide:Construct()
self.Button_SlideMode_minus.OnClicked:Add(WBP_GeneralSlide.OnClickMinus, self)
self.Button_SlideMode_add.OnClicked:Add(WBP_GeneralSlide.OnClickAdd, self)
self.Button_Ok.OnClicked:Add(WBP_GeneralSlide.OnClickOk, self)
self.Button_Cancel.OnClicked:Add(WBP_GeneralSlide.OnClickCancel, self)
end
-- function WBP_GeneralSlide:Tick(MyGeometry, InDeltaTime)
-- end
function WBP_GeneralSlide:Destruct()
self.Button_SlideMode_minus.OnClicked:Remove(WBP_GeneralSlide.OnClickMinus, self)
self.Button_SlideMode_add.OnClicked:Remove(WBP_GeneralSlide.OnClickAdd, self)
self.Button_Ok.OnClicked:Remove(WBP_GeneralSlide.OnClickOk, self)
self.Button_Cancel.OnClicked :Remove(WBP_GeneralSlide.OnClickCancel, self)
end
function WBP_GeneralSlide:OnClickMinus()
if self.Num <= 1 then
return
end
self.Num = self.Num - 1
self.SlideMode_Value:SetText(tostring(self.Num))
end
function WBP_GeneralSlide:OnClickAdd()
-- 需要获取 Max
if self.Num >= self.ItemData.ItemCount then
return
end
self.Num = self.Num + 1
--需要显示
self.SlideMode_Value:SetText(tostring(self.Num))
end
function WBP_GeneralSlide:OnClickOk()
-- 执行提交操作
self.ItemData.ItemCount = self.Num
EventSystem:SendEvent(EventType.SendGeneralSlideNum, self.OperateType, self.ItemData)
end
function WBP_GeneralSlide:OnClickCancel()
-- 执行隐藏操作
self:SetVisibility(ESlateVisibility.Collapsed)
end
function WBP_GeneralSlide:SetSlideValue(InData)
self.Num = 1
self.ItemData = InData
self.SlideMode_Value:SetText(tostring(self.Num))
end
function WBP_GeneralSlide:GetSlideValue()
return self.Num
end
function WBP_GeneralSlide:SetOperateType(InOperateType)
self.OperateType = InOperateType
end
return WBP_GeneralSlide;