Logic sequence: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(New logic entity from Mapbase)
 
m (Fixed a misnamed input)
Line 4: Line 4:


==Keyvalues==
==Keyvalues==
{{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>SetSequenceIndex</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.}}

Revision as of 13:54, 16 January 2022

Template:Mapbase point 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.

This entity is also available in Template:Game name.

Keyvalues

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 <integerRedirectInput/integer>
Fires each time the sequence's current case value changes, e.g. when it's incremented by a passing case.
OnCasePass <stringRedirectInput/string>
Fires when a case is matched, passing the input value.
OnCaseFail <stringRedirectInput/string>
Fires when a case fails, passing the input value.
OnSequenceComplete <stringRedirectInput/string>
Fires when the last case is matched and the sequence is complete.