Revision Difference
ENTITY:Draw#515765
<function name="Draw" parent="ENTITY" type="hook">⤶
<ishook>yes</ishook>⤶
<description>⤶
Called if and when the entity should be drawn opaquely, based on the <page>Entity:GetRenderGroup</page> of the entity.⤶
⤶
See <page>ENT</page> and <page>RENDERGROUP</page> for more information.⤶
⤶
See also <page>ENTITY:DrawTranslucent</page>.⤶
</description>⤶
<realm>Client</realm>⤶
<predicted>No</predicted>⤶
<args>⤶
<arg name="flags" type="number">The bit flags from <page>STUDIO</page></arg>⤶
</args>⤶
</function>⤶
⤶
<example>⤶
<description>Draws the model and makes a rotating text over the entity</description>⤶
<code>⤶
-- Draw some 3D text⤶
local function Draw3DText( pos, ang, scale, text, flipView )⤶
if ( flipView ) then⤶
-- Flip the angle 180 degrees around the UP axis⤶
ang:RotateAroundAxis( Vector( 0, 0, 1 ), 180 )⤶
end⤶
⤶
cam.Start3D2D( pos, ang, scale )⤶
-- Actually draw the text. Customize this to your liking.⤶
draw.DrawText( text, "Default", 0, 0, Color( 0, 255, 0, 255 ), TEXT_ALIGN_CENTER )⤶
cam.End3D2D()⤶
end⤶
⤶
function ENT:Draw()⤶
-- Draw the model⤶
self:DrawModel()⤶
⤶
-- The text to display⤶
local text = "Example Text"⤶
⤶
-- The position. We use model bounds to make the text appear just above the model. Customize this to your liking.⤶
local mins, maxs = self:GetModelBounds()⤶
local pos = self:GetPos() + Vector( 0, 0, maxs.z + 2 )⤶
⤶
-- The angle⤶
local ang = Angle( 0, SysTime() * 100 % 360, 90 )⤶
⤶
-- Draw front⤶
Draw3DText( pos, ang, 0.2, text, false )⤶
-- DrawDraw3DTextback⤶
Draw3DText( pos, ang, 0.2, text, true )⤶
end⤶
</code>⤶
⤶
</example>