This article's documentation is for anything that uses the Source engine. Click here for more information.

Logic branch: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (clarified true=1, false=0 for those who dont know boolean logic)
 
(30 intermediate revisions by 18 users not shown)
Line 1: Line 1:
{{wrongtitle|title=logic_branch}}
{{LanguageBar}}
{{CD|CLogicBranch|file1=logicentities.cpp}}
{{this is a|logical entity|name=logic_branch|sprite=1}} It tests a [[boolean]] value and fires an [[output]] based on whether the value is true (one) or false (zero). Use this [[entity]] to branch between two potential sets of events.
{{note|Values greater than 1 are treated as 0.}}
__NOTOC__
== Keyvalues ==
{{KV Targetname}}
{{KV|Initial value|boolean|intn=InitialValue|Initial value for the boolean value (0 or 1).}}


==Entity Description==
== Inputs ==
[[Image:logic_branch.png|right]]
{{I|SetValue|Set the boolean value without performing the comparison. Use this to hold a value for a future test.|param=bool}}
Tests a [[Wikipedia:Boolean_datatype|boolean]] value and fires an output based on whether the value is true (one) or false (zero). Use this entity to branch between two potential sets of events.
{{I|SetValueTest|Set the boolean value and test it, firing OnTrue or OnFalse based on the new value.|param=bool}}
{{clr}}{{note|Values greater than 1 are treated as 0.}}
{{I|Toggle|Toggle the boolean value between true and false.}}
{{I|ToggleTest|Toggle the boolean value and tests it, firing OnTrue or OnFalse based on the new value.}}
{{I|Test|Test the input value and fire OnTrue or OnFalse based on the value.}}


==Keyvalues==
== Outputs ==
{{O|OnTrue|activator=activator of the input causing this to fire|This Output fires when the stored boolean value is true (1) and the Test input is fired ''or'' when the stored boolean value is set to true (1) by either the SetValueTest or ToggleTest inputs with parameter value 1.}}
{{O|OnFalse|activator=activator of the input causing this to fire|This Output fires when the stored boolean value is false (0) and the Test input is fired ''or'' when the stored boolean value is set to false (0) by either the SetValueTest or ToggleTest inputs with parameter value 0.}}


* {{kv targetname}}
== See also ==
* {{ent|logic_branch_listener}}
* [[Logic gate]]


* '''initialvalue'''
[[Category:IO System]]
: {{boolean}}
 
==Inputs==
 
* {{i targetname}}
* '''SetValue {{boolean}}'''
: Set the boolean value without performing the comparison. Use this to hold a value for a future test.
* '''SetValueTest {{boolean}}'''
: Set the boolean value and test it, firing OnTrue or OnFalse based on the new value.
* '''Toggle'''
: Toggle the boolean value between true and false.
* '''ToggleTest'''
: Toggle the boolean value and tests it, firing OnTrue or OnFalse based on the new value.
* '''Test'''
: Test the input value and fire OnTrue or OnFalse based on the value.
 
 
==Outputs==
 
* {{o targetname}}
* '''OnTrue {{boolean}}'''
: Fired when the input value is true (nonzero). {{activator|activator}}
 
* '''OnFalse {{boolean}}'''
: Fired when the input value is false (zero). {{activator|activator}}
 
[[Category:Entities]]

Latest revision as of 19:21, 30 April 2025

English (en)中文 (zh)Translate (Translate)
C++ Class hierarchy
CLogicBranch
CLogicalEntity
CServerOnlyEntity
CBaseEntity
C++ logicentities.cpp
Logic branch.png

logic_branch is a logical entity available in all Source Source games. It tests a boolean value and fires an output based on whether the value is true (one) or false (zero). Use this entity to branch between two potential sets of events.

Note.pngNote:Values greater than 1 are treated as 0.

Keyvalues

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Initial value (InitialValue) <boolean>
Initial value for the boolean value (0 or 1).

Inputs

SetValue <booleanRedirectInput/boolean>
Set the boolean value without performing the comparison. Use this to hold a value for a future test.
SetValueTest <booleanRedirectInput/boolean>
Set the boolean value and test it, firing OnTrue or OnFalse based on the new value.
Toggle
Toggle the boolean value between true and false.
ToggleTest
Toggle the boolean value and tests it, firing OnTrue or OnFalse based on the new value.
Test
Test the input value and fire OnTrue or OnFalse based on the value.

Outputs

OnTrue
!activator = activator of the input causing this to fire
!caller = this entity
This Output fires when the stored boolean value is true (1) and the Test input is fired or when the stored boolean value is set to true (1) by either the SetValueTest or ToggleTest inputs with parameter value 1.
OnFalse
!activator = activator of the input causing this to fire
!caller = this entity
This Output fires when the stored boolean value is false (0) and the Test input is fired or when the stored boolean value is set to false (0) by either the SetValueTest or ToggleTest inputs with parameter value 0.

See also