Func water analog

From Valve Developer Community

This Brush-based Entity is available in all Source Games.

Table of contents

Entity Description

A water brush entity that moves linearly along a given distance, in a given direction.

Only two materials are known to render correctly across all systems, these are nature/water_movingplane and nature/water_dx70. This is ostensibly because of how the material effects on the more complex water shaders require static brushes, so they can optimize what's visible to the water surface. A moving water surface would break this effect, so therefore full water shaders are unusable on a moving surface.

Keyvalues

Defines the name that other entities refer to this entity by.
  • hammerid [Episode Two Update]
<integer readonly> This id is used for debugging purposes in Hammer.
Specifies the targetname of this entity's Parent in a movement hierarchy. Child entities move with their Parent.
  • origin
<origin> The position of this entity's center in the world. Rotating entities rotate around their origin.
  • movedir
<angle> The direction the water will move, when told to 'Open'.
  • startposition
<float> Position of the water brush when spawned. The range is a value between 0.0 and 1.0, where 0 is the starting position and 1 is the starting position + (move direction * move distance).
  • speed
<integer> The speed that the water brush moves, in inches per second.
  • movedistance
<float> The distance from the starting point that the water brush should move, in inches.
  • startsound
<sound> Sound played when the water brush starts moving.
  • stopsound
<sound> Sound played when the water brush stops moving.

Flags

None.

Inputs

  • Kill
Removes this entity from the world.
Removes this entity and all its children from the world.
  • AddOutput <string>
Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
Format: <key> <value>
Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire (-1 == infinite)>
Causes this entity's OnUser1-4 outputs to be fired. See User Inputs and Outputs.
Changes the entity's parent in the movement hierarchy.
Change this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment.
Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the Parent's Origin and Angles at the time it is attached.
Removes this entity from its current movement hierarchy.
  • Open
Move the water brush to the end position (starting position + (move direction * move distance)).
  • Close
Move the water brush to the starting position.
  • SetPosition <float>
Move the water brush to a specific position between 0.0 and 1.0, where 0 is the starting position and 1 is the starting position + (move direction * move distance).

Outputs

Fired in response to FireUser1-4 inputs. See User Inputs and Outputs.
!activator = activator
  • OnFullyOpen
Fired when the water brush reaches the end position (starting position + (move direction * move distance)).
  • OnFullyClosed
Fired when the water brush reaches the starting position.