Logic sequence: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Updated deprecated template)
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{this is a|name=logic_sequence|e0|sprite=1|game=mapbase}} It is a variant of {{ent|logic_case}} which treats the cases as a linear sequence ordered from 1-16, progressing from one case to the next by comparing input values against a current one. This is useful for situations where the player needs to input a combination of numbers or letters, like the password for a keypad.
{{this is a|point entity|name=logic_sequence|sprite=1|game=Mapbase|game1=Strata Source}} It is a variant of {{ent|logic_case}} which treats the cases as a linear sequence ordered from 1-16, progressing from one case to the next by comparing input values against a current one. This is useful for situations where the player needs to input a combination of numbers or letters, like the password for a keypad.
 
This entity is also available in {{P2CE}}.


==Keyvalues==
==Keyvalues==
{{KV Targetname}}
{{KV|Start Disabled|intn=StartDisabled|boolean|If this entity is disabled, it will not accept any case tests. It will still accept other inputs, like <code>SetCurrentCase</code>.}}
{{KV|Start Disabled|intn=StartDisabled|boolean|If this entity is disabled, it will not accept any case tests. It will still accept other inputs, like <code>SetCurrentCase</code>.}}
{{KV|Initial Case|intn=InitialCase|integer|Which case to start on, meaning inputs will initially compare with this case. Uses the case's index. (e.g. 4 for Case 04)}}
{{KV|Initial Case|intn=InitialCase|integer|Which case to start on, meaning inputs will initially compare with this case. Uses the case's index. (e.g. 4 for Case 04)}}
{{KV|Case 01|to=Case 16|intn=Case##|string|The values to test against. The current case fires <code>OnCasePass</code> or <code>OnCaseFail</code> based on whether this value matches the <code>InValue</code> parameter.}}
{{KV|Case 01|to=Case 16|intn=Case##|string|The values to test against. The current case fires <code>OnCasePass</code> or <code>OnCaseFail</code> based on whether this value matches the <code>InValue</code> parameter.}}
{{KV|Suppress auto increment|intn=DontIncrementOnPass|boolean|Prevents automatically incrementing the sequence each time a case passes.)}}
{{KV|Suppress auto increment|intn=DontIncrementOnPass|boolean|Prevents automatically incrementing the sequence each time a case passes.)}}
{{KV BaseEntity|mapbase=1}}


==Inputs==
==Inputs==
{{IO|InValue|Compares the Input value to the current case's value, firing the appropriate output or progresses the sequence if needed.|param=string}}
{{I|InValue|Compares the Input value to the current case's value, firing the appropriate output or progresses the sequence if needed.|param=string}}
{{IO|SetCurrentCase|Sets the sequence's current case. This will fire <code>OutCurCase</code>.|param=integer}}
{{I|SetCurrentCase|Sets the sequence's current case. This will fire <code>OutCurCase</code>.|param=integer}}
{{IO|SetCurrentCaseNoFire|Sets the sequence's current case without firing <code>OutCurCase</code>.|param=integer}}
{{I|SetCurrentCaseNoFire|Sets the sequence's current case without firing <code>OutCurCase</code>.|param=integer}}
{{IO|IncrementSequence|Increments the current case by the specified number. (1 if blank)|param=integer}}
{{I|IncrementSequence|Increments the current case by the specified number. (1 if blank)|param=integer}}
{{IO|ResetSequence|Resets the sequence to Case 01.|param=void}}
{{I|ResetSequence|Resets the sequence to Case 01.|param=void}}
{{I EnableDisable}}
{{I EnableDisable}}
{{I Toggle}}
{{I Toggle}}
{{I BaseEntity|mapbase=1}}


==Outputs==
==Outputs==
{{IO|OutCurCase|Fires each time the sequence's current case value changes, e.g. when it's incremented by a passing case.|param=integer}}
{{O|OutCurCase|Fires each time the sequence's current case value changes, e.g. when it's incremented by a passing case.|param=integer}}
{{IO|OnCasePass|Fires when a case is matched, passing the input value.|param=string}}
{{O|OnCasePass|Fires when a case is matched, passing the input value.|param=string}}
{{IO|OnCaseFail|Fires when a case fails, passing the input value.|param=string}}
{{O|OnCaseFail|Fires when a case fails, passing the input value.|param=string}}
{{IO|OnSequenceComplete|Fires when the last case is matched and the sequence is complete.|param=string}}
{{O|OnSequenceComplete|Fires when the last case is matched and the sequence is complete.|param=string}}
{{O BaseEntity|mapbase=1}}

Latest revision as of 02:08, 26 September 2024

Logic sequence.png

logic_sequence is a point entity available in Mapbase Mapbase and Strata Source Strata Source. It is a variant of logic_case which treats the cases as a linear sequence ordered from 1-16, progressing from one case to the next by comparing input values against a current one. This is useful for situations where the player needs to input a combination of numbers or letters, like the password for a keypad.

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

Start Disabled (StartDisabled) <boolean>
If this entity is disabled, it will not accept any case tests. It will still accept other inputs, like SetCurrentCase.
Initial Case (InitialCase) <integer>
Which case to start on, meaning inputs will initially compare with this case. Uses the case's index. (e.g. 4 for Case 04)
Case 01 (Case##) to Case 16 <string>
The values to test against. The current case fires OnCasePass or OnCaseFail based on whether this value matches the InValue parameter.
Suppress auto increment (DontIncrementOnPass) <boolean>
Prevents automatically incrementing the sequence each time a case passes.)

Inputs

InValue <stringRedirectInput/string>
Compares the Input value to the current case's value, firing the appropriate output or progresses the sequence if needed.
SetCurrentCase <integerRedirectInput/integer>
Sets the sequence's current case. This will fire OutCurCase.
SetCurrentCaseNoFire <integerRedirectInput/integer>
Sets the sequence's current case without firing OutCurCase.
IncrementSequence <integerRedirectInput/integer>
Increments the current case by the specified number. (1 if blank)
ResetSequence <void>
Resets the sequence to Case 01.

EnableDisable:

Enable / Disable
Enable/disable this entity from performing its task. It might also disappear from view.
Toggle:
Toggle
Toggle the enabled/disabled status of this entity.

Outputs

OutCurCase <integerRedirectOutput/integer>
Fires each time the sequence's current case value changes, e.g. when it's incremented by a passing case.
OnCasePass <stringRedirectOutput/string>
Fires when a case is matched, passing the input value.
OnCaseFail <stringRedirectOutput/string>
Fires when a case fails, passing the input value.
OnSequenceComplete <stringRedirectOutput/string>
Fires when the last case is matched and the sequence is complete.