if SERVER then
return
end
local DoorHUD = {}
DoorHUD.__index = DoorHUD
function DoorHUD:new()
local obj = setmetatable({
doors = {}
}, self)
local classes = {
"prop_door_rotating",
"func_door",
"func_door_rotating"
}
for _, class in ipairs(classes) do
for _, ent in ipairs(ents.FindByClass(class)) do
if ent:MapCreationID() ~= -1 then
obj.doors[#obj.doors + 1] = ent
end
end
end
return obj
end
function DoorHUD:Draw()
for _, ent in ipairs(self.doors) do
if IsValid(ent) then
local p = ent:WorldSpaceCenter():ToScreen()
draw.SimpleTextOutlined(
"map id: " .. ent:MapCreationID(),
"DermaDefaultBold",
p.x,
p.y,
color_white,
TEXT_ALIGN_CENTER,
TEXT_ALIGN_CENTER,
1,
color_black
)
-- draw.SimpleTextOutlined(
-- "sup id: " .. (ent:EntIndex() - game.MaxPlayers()),
-- "DermaDefaultBold",
-- p.x,
-- p.y + 14,
-- color_white,
-- TEXT_ALIGN_CENTER,
-- TEXT_ALIGN_CENTER,
-- 1,
-- color_black
-- )
end
end
end
local hud = DoorHUD:new()
hook.Add("DrawOverlay", "DoorHUD", function()
hud:Draw()
end)