math_counter
Class hierarchy |
---|
CMathCounter |
logicentities.cpp
|
math_counter
is a point entity available in all Source games. It stores and manipulates a numerical value. It can trigger on reaching user-defined maximum or minimum values, or output its value every time it changes. It also has the ability to perform simple mathematical functions. When the math_counter is disabled, it will become read-only until re-enabled.
Contents
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
- Initial Value
(startvalue)
<float> - Starting value for the counter. If min or max are set, the starting value is clamped.
Bug:When the entity is created at run-time, this value is converted to an integer and will be rounded off! [todo tested in?]
Workaround:Set the initial value at run-time using the entity's
SetValue
input. For example, from a logic_relay
using its OnSpawn
output.- Minimum Legal Value
(min)
<float> - Minimum legal value for the counter. If min=0 and max=0, no clamping is performed.
- Maximum Legal Value
(max)
<float> - Maximum legal value for the counter. If min=0 and max=0, no clamping is performed.
- Start Disabled
(StartDisabled)
<boolean> - Stay dormant until activated (with the
Enable
input).
Inputs
Add
<float>- Add an amount to the counter and fire the
OutValue
output with the result.
Divide
<float>- Divide the counter by an amount and fire the
OutValue
output with the result.
Note:If this causes a division by zero, the counter will ignore the input.
Multiply
<float>- Multiply the counter by an amount and fire the
OutValue
output with the result.
SetValue
<float>- Set the counter to a new value and fire the
OutValue
output with the result.
SetValueNoFire
<float>- Set the counter to a new value without firing any outputs.
Subtract
<float>- Subtract an amount from the counter and fire the
OutValue
output with the result.
SetHitMax
<float>- Set the upper bound of the counter and fire the
OutValue
output with the current value.
SetHitMin
<float>- Set the lower bound of the counter and fire the
OutValue
output with the current value.
GetValue
- Causes the counter to fire its
OnGetValue
output with the current value of the counter. Used for polling the counter when you don't want constant updates from theOutValue
output.
SetMaxValueNoFire
<float> (in all games since )- Set the counter to the MaxValue without firing any outputs.
SetMinValueNoFire
<float> (in all games since )- Set the counter to the MinValue without firing any outputs.
EnableDisable:
Enable / Disable
- Enable/disable this entity from performing its task. It might also disappear from view.
Outputs
OutValue
<float>- Fired when the counter value changes.
If the Target Input's parameters is left empty, the math_counter's value is used.Tip:Useful for entities such as:logic_case
,math_remap
,logic_compare
.
OnHitMin
- Fired when the counter value meets or goes below the min value. The counter must go back above the min value before the output will fire again.
OnHitMax
- Fired when the counter value meets or exceeds the max value. The counter must go below the max value before the output will fire again.
OnGetValue
<float>- Fired in response to the
GetValue
input; used when you don't want constant updates from theOutValue
output.
If the Target Input's parameters is left empty, the math_counter's value is used.Tip:Useful for entities such as:logic_case
,math_remap
,logic_compare
.