Files
2026-03-15 14:54:49 +03:00

46 lines
1.3 KiB
Lua

local PANEL = {}
local function canBuyFood(food)
local ply = LocalPlayer()
if (food.requiresCook == nil or food.requiresCook == true) and not ply:isCook() then return false, true end
if food.customCheck and not food.customCheck(LocalPlayer()) then return false, false end
if not ply:canAfford(food.price) then return false, false end
return true
end
function PANEL:generateButtons()
for _, v in pairs(FoodItems) do
local pnl = vgui.Create("F4MenuEntityButton", self)
pnl:setDarkRPItem(v)
pnl.DoClick = fn.Partial(RunConsoleCommand, "DarkRP", "buyfood", v.name)
self:AddItem(pnl)
end
end
function PANEL:shouldHide()
for _, v in pairs(FoodItems) do
local canBuy, important = canBuyFood(v)
if not self:isItemHidden(not canBuy, important) then return false end
end
return true
end
function PANEL:PerformLayout()
for _, v in pairs(self.Items) do
local canBuy, important = canBuyFood(v.DarkRPItem)
v:SetDisabled(not canBuy, important)
end
self.BaseClass.PerformLayout(self)
end
derma.DefineControl("F4MenuFood", "DarkRP F4 Food Tab", PANEL, "F4MenuEntitiesBase")
hook.Add("F4MenuTabs", "HungerMod_F4Tabs", function()
if not table.IsEmpty(FoodItems) then
DarkRP.addF4MenuTab(DarkRP.getPhrase("Food"), vgui.Create("F4MenuFood"))
end
end)