11include (" shared.lua" )
22
3+ local C_SignalDebug = GetConVar (" metrostroi_drawsignaldebug" )
34local 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 ()
2120end
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