mirror of
https://github.com/metrostroi-repo/MetrostroiAddon.git
synced 2026-05-02 00:42:29 +00:00
ПА маркер
Убрал кучу лишнего, движок сам вызывает Draw и DrawTranslucent, когда энтити в кадре Оставил cvars.AddChangeCallback, чтобы включить отрисовку в момент, когда галка включена и энтити всё ещё в кадре с выключенной отрисовкой
This commit is contained in:
@@ -1,49 +1,26 @@
|
||||
include("shared.lua")
|
||||
|
||||
local C_SignalDebug = GetConVar("metrostroi_drawsignaldebug")
|
||||
local mat = Material("vgui/bg-lines")
|
||||
--[[
|
||||
function ENT:Draw()
|
||||
if not self.CanDraw then return end
|
||||
function ENT:DrawTranslucent(flags)
|
||||
if not C_SignalDebug:GetBool() then
|
||||
self:SetNoDraw(true)
|
||||
return
|
||||
end
|
||||
|
||||
self:DrawModel(flags)
|
||||
|
||||
cam.Start3D()
|
||||
render.SetMaterial(mat)
|
||||
--render.DrawQuadEasy(self:GetPos(),self:GetAngles():Forward(),600,600,Color(255,255,255),0)
|
||||
|
||||
render.DrawQuadEasy(self:GetPos(),-self:GetAngles():Forward(),600,300,Color(255,0,0),0)
|
||||
render.DrawLine(self:GetPos(), self:LocalToWorld(Vector(50,0,0)), Color(255,0,0))
|
||||
render.DrawLine(self:GetPos(), self:LocalToWorld(Vector(0,50,0)), Color(0,255,0))
|
||||
render.DrawLine(self:GetPos(), self:LocalToWorld(Vector(0,0,50)), Color(0,0,255))
|
||||
--render.DrawSprite( pos, 16, 16, white )
|
||||
cam.End3D()
|
||||
self:DrawModel()
|
||||
end]]
|
||||
|
||||
function ENT:Draw()
|
||||
end
|
||||
|
||||
local debug = GetConVar("metrostroi_drawsignaldebug")
|
||||
local function enableDebug()
|
||||
if debug:GetBool() then
|
||||
hook.Add("PostDrawTranslucentRenderables","MetrostroiPAMarkerDebug",function(bDrawingDepth,bDrawingSkybox)
|
||||
for _,ent in pairs(ents.FindByClass("gmod_track_autodrive_plate")) do
|
||||
if bDrawingDepth and LocalPlayer():GetPos():DistToSqr(sig:GetPos()) < 262144 then
|
||||
cam.Start3D()
|
||||
render.SetMaterial(mat)
|
||||
--render.DrawQuadEasy(self:GetPos(),self:GetAngles():Forward(),600,600,Color(255,255,255),0)
|
||||
|
||||
render.DrawQuadEasy(ent:GetPos(),-ent:GetAngles():Forward(),600,300,Color(255,0,0),0)
|
||||
render.DrawLine( ent:GetPos(), ent:LocalToWorld(Vector(50,0,0)), Color(255,0,0))
|
||||
render.DrawLine( ent:GetPos(), ent:LocalToWorld(Vector(0,50,0)), Color(0,255,0))
|
||||
render.DrawLine( ent:GetPos(), ent:LocalToWorld(Vector(0,0,50)), Color(0,0,255))
|
||||
--render.DrawSprite( pos, 16, 16, white )
|
||||
cam.End3D()
|
||||
ent:DrawModel()
|
||||
end
|
||||
cvars.AddChangeCallback("metrostroi_drawsignaldebug", function (name, oldValue, newValue)
|
||||
for _,ent in pairs(ents.FindByClass("gmod_track_pa_marker")) do
|
||||
ent:SetNoDraw(newValue == 0)
|
||||
end
|
||||
end)
|
||||
else
|
||||
hook.Remove("PostDrawTranslucentRenderables","MetrostroiPAMarkerDebug")
|
||||
end
|
||||
end
|
||||
hook.Remove("PostDrawTranslucentRenderables","MetrostroiPAMarkerDebug")
|
||||
cvars.AddChangeCallback( "metrostroi_drawsignaldebug", enableDebug)
|
||||
enableDebug()
|
||||
Reference in New Issue
Block a user