math_counter
Jump to navigation
Jump to search
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.
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.