Skip to content

Commit e393387

Browse files
authored
Merge pull request #616 from metrostroi-repo/#448
Отрисовка ПА маркера при дебаге
2 parents 349b2bf + 2a25a52 commit e393387

File tree

1 file changed

+19
-41
lines changed

1 file changed

+19
-41
lines changed
Lines changed: 19 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,27 @@
11
include("shared.lua")
22

3+
local C_SignalDebug = GetConVar("metrostroi_drawsignaldebug")
34
local mat = Material("vgui/bg-lines")
4-
--[[
5-
function ENT:Draw()
6-
if not self.CanDraw then return end
7-
cam.Start3D()
8-
render.SetMaterial(mat)
9-
--render.DrawQuadEasy(self:GetPos(),self:GetAngles():Forward(),600,600,Color(255,255,255),0)
5+
function ENT:DrawTranslucent(flags)
6+
if not C_SignalDebug:GetBool() then
7+
self:SetNoDraw(true)
8+
return
9+
end
1010

11-
render.DrawQuadEasy(self:GetPos(),-self:GetAngles():Forward(),600,300,Color(255,0,0),0)
12-
render.DrawLine( self:GetPos(), self:LocalToWorld(Vector(50,0,0)), Color(255,0,0))
13-
render.DrawLine( self:GetPos(), self:LocalToWorld(Vector(0,50,0)), Color(0,255,0))
14-
render.DrawLine( self:GetPos(), self:LocalToWorld(Vector(0,0,50)), Color(0,0,255))
15-
--render.DrawSprite( pos, 16, 16, white )
16-
cam.End3D()
17-
self:DrawModel()
18-
end]]
11+
self:DrawModel(flags)
1912

20-
function ENT:Draw()
13+
cam.Start3D()
14+
render.SetMaterial(mat)
15+
render.DrawQuadEasy(self:GetPos(),-self:GetAngles():Forward(),600,300,Color(255,0,0),0)
16+
render.DrawLine(self:GetPos(), self:LocalToWorld(Vector(50,0,0)), Color(255,0,0))
17+
render.DrawLine(self:GetPos(), self:LocalToWorld(Vector(0,50,0)), Color(0,255,0))
18+
render.DrawLine(self:GetPos(), self:LocalToWorld(Vector(0,0,50)), Color(0,0,255))
19+
cam.End3D()
2120
end
2221

23-
local debug = GetConVar("metrostroi_drawsignaldebug")
24-
local function enableDebug()
25-
if debug:GetBool() then
26-
hook.Add("PostDrawTranslucentRenderables","MetrostroiPAMarkerDebug",function(bDrawingDepth,bDrawingSkybox)
27-
for _,ent in pairs(ents.FindByClass("gmod_track_autodrive_plate")) do
28-
if bDrawingDepth and LocalPlayer():GetPos():DistToSqr(sig:GetPos()) < 262144 then
29-
cam.Start3D()
30-
render.SetMaterial(mat)
31-
--render.DrawQuadEasy(self:GetPos(),self:GetAngles():Forward(),600,600,Color(255,255,255),0)
32-
33-
render.DrawQuadEasy(ent:GetPos(),-ent:GetAngles():Forward(),600,300,Color(255,0,0),0)
34-
render.DrawLine( ent:GetPos(), ent:LocalToWorld(Vector(50,0,0)), Color(255,0,0))
35-
render.DrawLine( ent:GetPos(), ent:LocalToWorld(Vector(0,50,0)), Color(0,255,0))
36-
render.DrawLine( ent:GetPos(), ent:LocalToWorld(Vector(0,0,50)), Color(0,0,255))
37-
--render.DrawSprite( pos, 16, 16, white )
38-
cam.End3D()
39-
ent:DrawModel()
40-
end
41-
end
42-
end)
43-
else
44-
hook.Remove("PostDrawTranslucentRenderables","MetrostroiPAMarkerDebug")
22+
cvars.AddChangeCallback("metrostroi_drawsignaldebug", function (name, oldValue, newValue)
23+
local noDraw = not C_SignalDebug:GetBool()
24+
for _,ent in pairs(ents.FindByClass("gmod_track_pa_marker")) do
25+
ent:SetNoDraw(noDraw)
4526
end
46-
end
47-
hook.Remove("PostDrawTranslucentRenderables","MetrostroiPAMarkerDebug")
48-
cvars.AddChangeCallback( "metrostroi_drawsignaldebug", enableDebug)
49-
enableDebug()
27+
end)

0 commit comments

Comments
 (0)