Я считаю, что * * * * * * Garry's Mod * DCollapsibleCategory
является производным от Panel
, поэтому я попытался создать пользовательский элемент v gui, чтобы я мог добавить function PANEL:OnMousePressed(keyCode)
, но это полностью изменило то, как он запускает dr aws мое табло.
Вот код для пользовательского элемента v gui, возможно, я что-то пропустил:
local PANEL = {}
AccessorFunc(PANEL, "hiddenPanel", "HiddenPanel")
function PANEL:Init()
self.dataPanel = vgui.Create("DCollapsibleCategory", self)
self.dataPanel:SetExpanded(0)
self.dataPanel:SetLabel('')
self.dataPanel:GetChildren()[1]:SetTall(45)
self.dataPanel.Paint = function(pnl, w, h)
draw.RoundedBox(0, 0, 0, w, h, Advocate_Scoreboard.Colors.BASE_HEADER)
end
self.hiddenList = vgui.Create("DPanelList", self.dataPanel)
self.hiddenList:SetSpacing(1)
self.dataPanel:SetContents(self.hiddenList)
self.hiddenPanel = vgui.Create("DPanel", self.hiddenList)
self.hiddenList:AddItem(self.hiddenPanel)
self.hiddenPanel.Paint = function(pnl, w, h)
draw.RoundedBox(0, 0, 0, w, h, Color(50, 50, 50))
end
end
function PANEL:PerformLayout()
self.dataPanel:SetSize(self:GetWide(), self:GetTall())
self.dataPanel:GetChildren()[1]:SetTall(45)
self.hiddenList:SetSize(self.dataPanel:GetWide(), self.dataPanel:GetTall())
self.hiddenPanel:SetSize(self.hiddenList:GetWide(), 39)
end
function PANEL:OnMousePressed(keyCode)
print(keyCode)
end
vgui.Register("Advocate_Scoreboard.Row", PANEL)
DCollapsibleCategory
не отвечает ни на какие .DoClick
функции - я не верьте, что у него есть какой-либо из этих методов, полученный из Panel.