--Edit Below-- local KeyMapItemBase = { TouchDelegation = {}; -- {{Fun = function(ButtonItem:KeyMapItemBase, bTouch:bool), Obj = ,}} }; ---@param MyGeometry:FGeometry ---@param InTouchEvent:FPointerEvent function KeyMapItemBase:OnTouchStarted(MyGeometry, InTouchEvent) UGCLogSystem.Log("[KeyMapItemBase_OnTouchStarted]") self:TouchWidget(true) end ---@param MyGeometry:FGeometry ---@param InTouchEvent:FPointerEvent function KeyMapItemBase:OnTouchEnded(MyGeometry, InTouchEvent) UGCLogSystem.Log("[KeyMapItemBase_OnTouchEnded]") self:TouchWidget(false) end function KeyMapItemBase:AddTouchDelegation(InFun, InObj) self.TouchDelegation[#self.TouchDelegation + 1] = {Fun = InFun, Obj = InObj} end function KeyMapItemBase:TouchWidget(bTouch) for _, FunData in pairs(self.TouchDelegation) do if FunData.Obj then FunData.Fun(FunData.Obj, self, bTouch) else FunData.Fun(self, bTouch) end end end function KeyMapItemBase:SetSelect(IsSelect) if self.Image_Select then if IsSelect then self.Image_Select:SetVisibility(ESlateVisibility.Visible) else self.Image_Select:SetVisibility(ESlateVisibility.Collapsed) end end end return KeyMapItemBase;