env_texturetoggle
Class hierarchy |
---|
CTextureToggle |
env_texturetoggle.cpp
|
env_texturetoggle
is a point entity available in all Source games.
It allows you to change the textures on brush entities or overlays.
Entity Description
LightmappedGeneric
{
$basetexture "path/to/a/VTF/file/with/multiple/frames"
Proxies
{
ToggleTexture
{
ToggleTextureVar $basetexture
ToggleTextureFrameNumVar $frame
}
}
}
In order for env_texturetoggle
to work properly, your overlay or at least one face of your brush must use a VMT material with the ToggleTexture
proxy defined and pointing to an animated VTF file with at least two frames.
Such a VMT file could look like the one on the right.
Tip:You can fire
AddOutput texframeindex #
which will change the texture's frame index without needing this entity. (not in )Example: If we have a brush entity named
brush
and an env_texturetoggle named toggle
whose target brush is brush
, then we can use any of the following outputs on a func_button to toggle the texture for the brush
. The second and third output have the same effect.Note:If a brush has multiple textures with multiple frames, an output will affect all of these textures.
Code:An entity's texture frame can be set via code using the SetTextureFrameIndex function.
Keyvalues
- Name
(targetname)
<string> - The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- Target Brush(es)
(target)
<targetname> - Name of the brushes or
info_overlay
s. AllToggleTexture
materials on all entities (including sprites) matching the targetname will be affected.
Inputs
IncrementTextureIndex
<void>- Increments target brush's current texture frame by one. In other words: switches to the next texture.
SetTextureIndex
<integer>- Sets target brush's texture frame to the specified index.