初始化提交
This commit is contained in:
54
Content/Lua/UI/Common/PopupMenu/PopupMenuItem.lua
Normal file
54
Content/Lua/UI/Common/PopupMenu/PopupMenuItem.lua
Normal file
@ -0,0 +1,54 @@
|
||||
local PopupMenuItem = {}
|
||||
local UIUtils = require("UI.Utils")
|
||||
|
||||
function PopupMenuItem:ctor()
|
||||
self.on_click_callback = nil
|
||||
end
|
||||
|
||||
function PopupMenuItem:PreConstruct(IsDesignTime)
|
||||
if not IsDesignTime then return end
|
||||
self.TxtMenuName:SetText(self.MenuText)
|
||||
end
|
||||
|
||||
function PopupMenuItem:OnInitialized()
|
||||
self:BindEvent("OnClicked", function() self:OnMenuItemClicked() end)
|
||||
self:BindEvent("OnHovered", function() self:OnHoverStateChange(true) end)
|
||||
self:BindEvent("OnUnhovered", function() self:OnHoverStateChange(false) end)
|
||||
end
|
||||
|
||||
function PopupMenuItem:Construct()
|
||||
self.TxtMenuName:SetText(self.MenuText)
|
||||
end
|
||||
|
||||
function PopupMenuItem:OnDestroy()
|
||||
print(self, "PopupMenuItem:OnDestroy")
|
||||
end
|
||||
|
||||
function PopupMenuItem:SetContent(name, callback)
|
||||
self.TxtMenuName:SetText(name)
|
||||
self.on_click_callback = callback
|
||||
print(self.TxtMenuName:GetText())
|
||||
end
|
||||
|
||||
function PopupMenuItem:BindEvent(event_name, callback)
|
||||
self.BtnMain[event_name]:Add(callback)
|
||||
end
|
||||
|
||||
function PopupMenuItem:OnHoverStateChange(is_hoverd)
|
||||
if is_hoverd then
|
||||
self.ImgBackground.Brush.TintColor = self.ItemHoverdColor
|
||||
else
|
||||
self.ImgBackground.Brush.TintColor = self.ItemNormalColor
|
||||
end
|
||||
end
|
||||
|
||||
function PopupMenuItem:OnMenuItemClicked()
|
||||
print("OnMenuItemClicked")
|
||||
if self.on_click_callback ~= nil then
|
||||
self.on_click_callback()
|
||||
end
|
||||
UIUtils.HideWidgetByName(self, "MenuPanel")
|
||||
end
|
||||
|
||||
|
||||
return Class(nil, nil, PopupMenuItem)
|
||||
Reference in New Issue
Block a user