# Templates.xml [[Go back to index]](..\..\Template_Explorer.html) Asobo\(Inputs\)Templates.xml ---------------------------- Source XML <ModelBehaviors> <!-- \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# --> <!-- \#\#\#\# Templates simplifying setup of InputEvents \#\#\# --> <!-- \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# --> <!-- Required: --> <!-- WWISE\_PREFIX: for sound events (depending on INTERACTION\_TYPE) --> <!-- USE\_INPUT\_EVENT\_ID: which InputEvent to use (useInputEvent ID) --> <!-- INPUT\_EVENT\_ID\_SOURCE: The prefix given to the InputEventPreset instance --> <!-- IE\_NAME: The suffix given to the InputEventPreset instance --> <!-- INTERACTION\_TYPE: One of the following - Push/Switch/Knob/Lever --> <!-- \#\#\#\#\#\#\#\#\#\#\#\# --> <!-- Overridable: --> <!-- > INTERACTION\_TYPE:Knob --> <!-- \#\# KNOB\_TYPE: Unspecified:Float IE, X\_STATES:Integer IE --> <!-- \#\# IS\_INFINITE: if true the knob can rotate indefinitely --> <!-- > INTERACTION\_TYPE:Lever --> <!-- \#\# LEVER\_TYPE: Unspecified:Float IE, 2\_STATES:Integer IE --> <!-- \#\#\#\#\#\#\#\#\#\#\#\# --> <!-- Optional: --> <!-- IE\_ID\_EXTERNAL\_X: (starting at 0) additional TOOLTIP\_ENTRY\_X for the same interaction (IE\_NAMES without INPUT\_EVENT\_ID\_SOURCE) --> <Template Name="ASOBO\_Interaction\_Base\_Template"> <Parameters Type="Default"> <WWISE\_PREFIX/> <IS\_EMISSIVE>True</IS\_EMISSIVE> <USE\_INPUT\_EVENT\_TEMPLATE>Default</USE\_INPUT\_EVENT\_TEMPLATE> <CREATE\_COMPONENT>True</CREATE\_COMPONENT> <IE\_PRESET\_ID>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#</IE\_PRESET\_ID> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <EXTRA\_OPTION/> <NUM\_STATES>2</NUM\_STATES> </Case> <Case Value="Switch"> <NUM\_STATES>2</NUM\_STATES> </Case> <Case Value="Knob"> <IS\_INFINITE>False</IS\_INFINITE> <Switch Param="KNOB\_TYPE"> <Case Value="X\_STATES"> <NUM\_STATES>2</NUM\_STATES> <INTERACTION\_AXIS>X</INTERACTION\_AXIS> </Case> </Switch> </Case> <Case Value="Lever"> <INTERACTION\_AXIS>Y</INTERACTION\_AXIS> <DRAG\_VALUE\_TO\_EVENT\_SET/> </Case> </Switch> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="Compute\_First\_Available\_Bindings"> </UseParametersFn> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> </Case> <Case Value="Switch"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <ANIM>EXTERNAL</ANIM> </Case> <Case Value="Knob"> <Switch Param="KNOB\_TYPE"> <Case Value="X\_STATES"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <TT\_ICON>ROTATE</TT\_ICON> <ANIM>EXTERNAL</ANIM> <Switch Param="NUM\_STATES"> <Case Value="2"> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> </Case> <Default> <TT\_INTERACTION>PRIMARY\_DOWN+\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION\_LOCKABLE> <Switch Param="INTERACTION\_AXIS"> <Case Value="X"> <SWITCH\_DIRECTION>Horizontal</SWITCH\_DIRECTION> </Case> <Case Value="Y"> <SWITCH\_DIRECTION>Vertical</SWITCH\_DIRECTION> </Case> </Switch> </Default> </Switch> </Case> <Default> <KNOB\_ID>\#IE\_NAME\#</KNOB\_ID> <Condition Valid="IS\_INFINITE"> <True> <KNOB\_INTERACTION\_TYPE>Infinite</KNOB\_INTERACTION\_TYPE> <NO\_KNOB\_ANIM\_VAR\_UPDATE>True</NO\_KNOB\_ANIM\_VAR\_UPDATE> </True> <False> <Condition NotEmpty="TEMPLATE\_VARIANT"> <True> <KNOB\_INTERACTION\_TYPE>Finite</KNOB\_INTERACTION\_TYPE> </True> <False> <KNOB\_INTERACTION\_TYPE>Finite\_Code</KNOB\_INTERACTION\_TYPE> </False> </Condition> </False> </Condition> <Condition> <Test> <And> <Arg NotEmpty="IE\_ID\_EXTERNAL\_0"/> <Arg NotEmpty="IE\_ID\_EXTERNAL\_1"/> </And> </Test> <True> <TEMPLATE\_VARIANT>PushPull</TEMPLATE\_VARIANT> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME>Push</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME> <IE\_ID\_EXTERNAL\_1\_BINDING\_NAME>Pull</IE\_ID\_EXTERNAL\_1\_BINDING\_NAME> </True> <False> <Condition NotEmpty="IE\_ID\_EXTERNAL\_0"> <True> <Condition Valid="IS\_TIMED"> <True> <TEMPLATE\_VARIANT>Push\_Timed</TEMPLATE\_VARIANT> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\_RELEASE>Release</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\_RELEASE> </True> <False> <TEMPLATE\_VARIANT>Push</TEMPLATE\_VARIANT> </False> </Condition> <Condition Valid="IS\_PULL"> <True> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME>Pull</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME> </True> <False> <Switch Param="TEMPLATE\_VARIANT"> <Case Value="Switch"> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME>Toggle</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME> </Case> <Default> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME>Push</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME> </Default> </Switch> </False> </Condition> </True> <False> <TEMPLATE\_VARIANT/> </False> </Condition> </False> </Condition> </Default> </Switch> </Case> <Case Value="Lever"> <Switch Param="LEVER\_TYPE"> <Case Value="2\_STATES"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <TT\_ICON>MOVE\_AXIS\_\#INTERACTION\_AXIS\#</TT\_ICON> <TT\_INTERACTION>PRIMARY\_DOWN+\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION\_LOCKABLE> <ANIM>EXTERNAL</ANIM> <NUM\_STATES>2</NUM\_STATES> <ANIM\_LAG>400</ANIM\_LAG> <DRAG\_SCALAR>10</DRAG\_SCALAR> <ALWAYS\_USE\_ANIM\_LAG>True</ALWAYS\_USE\_ANIM\_LAG> <STR\_STATE\_ON>Down</STR\_STATE\_ON> <STR\_STATE\_OFF>Up</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_DOWN)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_UP)</TT\_VALUE\_OFF> </Case> <Default> <LEVER\_ID>\#IE\_NAME\#</LEVER\_ID> </Default> </Switch> </Case> <Case Value="Joystick"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <Switch Param="JOYSTICK\_TYPE"> <Case Value="5\_STATES"> <NUM\_STATES>5</NUM\_STATES> <STR\_STATE\_0>Left</STR\_STATE\_0> <STR\_STATE\_1>Right</STR\_STATE\_1> <STR\_STATE\_2>Down</STR\_STATE\_2> <STR\_STATE\_3>Up</STR\_STATE\_3> <STR\_STATE\_4>Standby</STR\_STATE\_4> <TT\_VALUE\_0>@TT\_Package.GT\_STATE\_LEFT</TT\_VALUE\_0> <TT\_VALUE\_1>@TT\_Package.GT\_STATE\_RIGHT</TT\_VALUE\_1> <TT\_VALUE\_2>@TT\_Package.GT\_STATE\_DOWN</TT\_VALUE\_2> <TT\_VALUE\_3>@TT\_Package.GT\_STATE\_UP</TT\_VALUE\_3> <TT\_VALUE\_4>@TT\_Package.GT\_STATE\_STANDBY</TT\_VALUE\_4> <IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT>Left</IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT> <IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT>Right</IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT> <IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN>Down</IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN> <IE\_ID\_EXTERNAL\_1\_BINDING\_UP>Up</IE\_ID\_EXTERNAL\_1\_BINDING\_UP> <IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY>Standby</IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY> <IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY>Standby</IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY> <GET\_STATE\_EXTERNAL>(O:\#IE\_PRESET\_ID\#\_Position) sp0</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL>l0</ENUM\_VAL\_TO\_POS\_EXTERNAL> <FREQUENCY>20</FREQUENCY> <ON\_POS\_LEFT/> <ON\_POS\_RIGHT/> <ON\_POS\_DOWN/> <ON\_POS\_UP/> <ANIM>EXTERNAL</ANIM> </Case> </Switch> <TT\_ICON>MOVE\_AXIS</TT\_ICON> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch> <Case NotEmpty="BTN\_ID"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <WWISE\_EVENT\_1>\#WWISE\_PREFIX\#\_push\_button\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>\#WWISE\_PREFIX\#\_push\_button\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> <Case Value="Lever"> <WWISE\_EVENT\_1>\#WWISE\_PREFIX\#\_lever\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.25</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>\#WWISE\_PREFIX\#\_lever\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.75</NORMALIZED\_TIME\_2> </Case> <Case Value="Joystick"> <WWISE\_JOYSTICK\_EVENT\_L>\#WWISE\_PREFIX\#\_joystick</WWISE\_JOYSTICK\_EVENT\_L> <WWISE\_JOYSTICK\_EVENT\_R>\#WWISE\_PREFIX\#\_joystick</WWISE\_JOYSTICK\_EVENT\_R> <WWISE\_JOYSTICK\_EVENT\_UP>\#WWISE\_PREFIX\#\_joystick</WWISE\_JOYSTICK\_EVENT\_UP> <WWISE\_JOYSTICK\_EVENT\_DN>\#WWISE\_PREFIX\#\_joystick</WWISE\_JOYSTICK\_EVENT\_DN> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> <Default> <Switch Param="NUM\_STATES"> <Case Value="2"> <WWISE\_EVENT\_1>\#WWISE\_PREFIX\#\_switch\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>\#WWISE\_PREFIX\#\_switch\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> <Default> <Switch Param="INTERACTION\_TYPE"> <Case Value="Knob"> <WWISE\_EVENT>\#WWISE\_PREFIX\#\_knob</WWISE\_EVENT> </Case> <Default> <WWISE\_EVENT>\#WWISE\_PREFIX\#\_switch</WWISE\_EVENT> </Default> </Switch> </Default> </Switch> </Default> </Switch> <Condition NotEmpty="NUM\_STATES"> <MAX\_POS Process="Int">\#NUM\_STATES\# 1 -</MAX\_POS> </Condition> </Case> <Case NotEmpty="KNOB\_ID"> <WWISE\_EVENT>\#WWISE\_PREFIX\#\_knob</WWISE\_EVENT> <Switch> <Case NotEmpty="TEMPLATE\_VARIANT"> <WWISE\_EVENT\_1>\#WWISE\_PREFIX\#\_push\_button\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>\#WWISE\_PREFIX\#\_push\_button\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> </Switch> </Case> <Case NotEmpty="LEVER\_ID"> <WWISE\_EVENT>\#WWISE\_PREFIX\#\_lever</WWISE\_EVENT> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Condition> <Test> <Or> <Arg Valid="TOOLTIP\_TITLE"/> <Arg Valid="TOOLTIP\_TITLE\_ID"/> </Or> </Test> <True> <TOOLTIP\_ENTRY\_0>\#IE\_PRESET\_ID\#</TOOLTIP\_ENTRY\_0> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg NotEmpty="IE\_ID\_EXTERNAL\_\#CUR\_ID\#"/> </While> </Setup> <Do> <Parameters Type="Override"> <CUR\_TT\_ID Process="Int">\#CUR\_ID\# 1 +</CUR\_TT\_ID> <CUR\_IE\_ID\_EXTERNAL Process="Param">IE\_ID\_EXTERNAL\_\#CUR\_ID\#</CUR\_IE\_ID\_EXTERNAL> </Parameters> <TOOLTIP\_ENTRY\_\#CUR\_TT\_ID\#>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#CUR\_IE\_ID\_EXTERNAL\#</TOOLTIP\_ENTRY\_\#CUR\_TT\_ID\#> </Do> </Loop> </True> </Condition> <Switch> <Case NotEmpty="BTN\_ID"> <Condition NotEmpty="GET\_STATE\_EXTERNAL"> <True> <Switch Param="NUM\_STATES"> <Case Value="2"> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <Condition Valid="IS\_AIRLINER"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Push\_Button\_Airliner</TEMPLATE\_TO\_USE> </True> <False> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Push\_Button\#EXTRA\_OPTION\#</TEMPLATE\_TO\_USE> </False> </Condition> <LEFT\_SINGLE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </Case> <Case Value="Lever"> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Lever\_DraggingYAxis\_Code</TEMPLATE\_TO\_USE> <ANIM\_CODE>(B:\#IE\_PRESET\_ID\#, Bool) 100 \*</ANIM\_CODE> <UP\_CODE>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_OFF\#)</UP\_CODE> <DOWN\_CODE>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_ON\#)</DOWN\_CODE> </Case> <Default> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Switch\_Code</TEMPLATE\_TO\_USE> <ANIM\_CODE>(B:\#IE\_PRESET\_ID\#, Bool) 100 \*</ANIM\_CODE> <LEFT\_SINGLE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </Default> </Switch> </Case> <Default> <Switch Param="INTERACTION\_TYPE"> <Case Value="Joystick"> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Joystick\_Interaction\_Knob</TEMPLATE\_TO\_USE> <Switch Param="JOYSTICK\_TYPE"> <Case Value="5\_STATES"> <JOYSTICK\_INTERACTION>PAN\_ONLY</JOYSTICK\_INTERACTION> <IM\_DRAG\_ADDITIONAL\_EVENT\_HANDLING/> <ON\_UP\_EVENT>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#)</ON\_UP\_EVENT> <COMP\_INIT\_CODE>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#)</COMP\_INIT\_CODE> <Switch Param="JOYSTICK\_INTERACTION\_TYPE"> <Case Value="POSITIONAL"> <USE\_PAD\_DRAG\_IM\_LOCK>True</USE\_PAD\_DRAG\_IM\_LOCK> <COMP\_UPDATE\_CODE> (O:\#IE\_PRESET\_ID\#\_Position) 4 < if{ (O:\#IE\_PRESET\_ID\#\_Position) 0 == if{ \#ON\_POS\_LEFT\# quit } (O:\#IE\_PRESET\_ID\#\_Position) 1 == if{ \#ON\_POS\_RIGHT\# quit } (O:\#IE\_PRESET\_ID\#\_Position) 2 == if{ \#ON\_POS\_DOWN\# quit } (O:\#IE\_PRESET\_ID\#\_Position) 3 == if{ \#ON\_POS\_UP\# quit } } </COMP\_UPDATE\_CODE> <JOYSTICK\_X\_CODE\_LEFT> (O:\#IE\_PRESET\_ID\#\_Position) 0 != (O:\_IsLimited) ! and if{ 1 (>O:\_IsLimited) (O:\#IE\_PRESET\_ID\#\_Position) 4 != if{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#) } els{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_0\#) } } </JOYSTICK\_X\_CODE\_LEFT> <JOYSTICK\_X\_CODE\_RIGHT> (O:\#IE\_PRESET\_ID\#\_Position) 1 != (O:\_IsLimited) ! and if{ 1 (>O:\_IsLimited) (O:\#IE\_PRESET\_ID\#\_Position) 4 != if{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#) } els{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_1\#) } } </JOYSTICK\_X\_CODE\_RIGHT> <JOYSTICK\_Y\_CODE\_DOWN> (O:\#IE\_PRESET\_ID\#\_Position) 2 != (O:\_IsLimited) ! and if{ 1 (>O:\_IsLimited) (O:\#IE\_PRESET\_ID\#\_Position) 4 != if{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#) } els{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_2\#) } } </JOYSTICK\_Y\_CODE\_DOWN> <JOYSTICK\_Y\_CODE\_UP> (O:\#IE\_PRESET\_ID\#\_Position) 3 != (O:\_IsLimited) ! and if{ 1 (>O:\_IsLimited) (O:\#IE\_PRESET\_ID\#\_Position) 4 != if{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#) } els{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_3\#) } } </JOYSTICK\_Y\_CODE\_UP> <SET\_STATE\_0> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY\#) </SET\_STATE\_0> <SET\_STATE\_1> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY\#) </SET\_STATE\_1> <SET\_STATE\_2> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN\#) </SET\_STATE\_2> <SET\_STATE\_3> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_UP\#) </SET\_STATE\_3> <SET\_STATE\_4> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY\#) </SET\_STATE\_4> <USE\_DEFAULT\_ANIMATION>False</USE\_DEFAULT\_ANIMATION> <ANIM\_CODE\_AXIS\_X>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#) 50 \*</ANIM\_CODE\_AXIS\_X> <ANIM\_CODE\_AXIS\_Y>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#) 50 \*</ANIM\_CODE\_AXIS\_Y> </Case> <Default> <JOYSTICK\_X\_CODE\_LEFT>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_0\#)</JOYSTICK\_X\_CODE\_LEFT> <JOYSTICK\_X\_CODE\_RIGHT>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_1\#)</JOYSTICK\_X\_CODE\_RIGHT> <JOYSTICK\_Y\_CODE\_DOWN>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_2\#)</JOYSTICK\_Y\_CODE\_DOWN> <JOYSTICK\_Y\_CODE\_UP>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_3\#)</JOYSTICK\_Y\_CODE\_UP> <SET\_STATE\_0>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT\#)</SET\_STATE\_0> <SET\_STATE\_1>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT\#)</SET\_STATE\_1> <SET\_STATE\_2>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN\#)</SET\_STATE\_2> <SET\_STATE\_3>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_UP\#)</SET\_STATE\_3> <SET\_STATE\_4> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY\#) </SET\_STATE\_4> </Default> </Switch> <TOOLTIP\_ENTRY\_0>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#</TOOLTIP\_ENTRY\_0> <TOOLTIP\_ENTRY\_1>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#</TOOLTIP\_ENTRY\_1> <TOOLTIP\_ENTRY\_2/> </Case> </Switch> </Case> <Default> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Switch\_XStates</TEMPLATE\_TO\_USE> <Condition NotEmpty="ON\_STATE\_CHANGED\_EXTERNAL\_CODE"> <DISABLE\_ON\_STATE\_CHANGED\_EXTERNAL\_CODE\_IN\_MR>True</DISABLE\_ON\_STATE\_CHANGED\_EXTERNAL\_CODE\_IN\_MR> </Condition> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <To>\#MAX\_POS\#</To> </Setup> <Do> <Parameters Type="Override"> <ID\_POS Process="Param">STR\_STATE\_\#CUR\_ID\#</ID\_POS> </Parameters> <Condition NotEmpty="TT\_VALUE\_\#CUR\_ID\#"> <False> <TT\_VALUE\_\#CUR\_ID\#>@TT\_OverrideMe\_Value</TT\_VALUE\_\#CUR\_ID\#> <TT\_VALUE\_\#CUR\_ID\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#CUR\_ID\#\_IS\_DYNAMIC> </False> </Condition> <CODE\_POS\_\#CUR\_ID\#>(>B:\#IE\_PRESET\_ID\#\_\#ID\_POS\#)</CODE\_POS\_\#CUR\_ID\#> <STATE\#CUR\_ID\#\_TEST>(B:\#IE\_PRESET\_ID\#) \#CUR\_ID\# ==</STATE\#CUR\_ID\#\_TEST> </Do> </Loop> </Default> </Switch> </Default> </Switch> </True> <False> <Condition Valid="IS\_AIRLINER"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Push\_Button\_Airliner</TEMPLATE\_TO\_USE> </True> <False> <Condition Valid="NO\_PUSH\_ANIMATION"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Interaction\_LeftSingle\_Code</TEMPLATE\_TO\_USE> </True> <False> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Push\_Button\#EXTRA\_OPTION\#</TEMPLATE\_TO\_USE> </False> </Condition> </False> </Condition> <LEFT\_SINGLE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Push)</LEFT\_SINGLE\_CODE> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#>Push</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0>1</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0> <Condition NotEmpty="EVENT\_ID"> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_EVENT\_ID>\#EVENT\_ID\#</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_EVENT\_ID> </Condition> <Switch Param="EXTRA\_OPTION"> <Case Value="\_Timed"> <LEFT\_LEAVE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Release)</LEFT\_LEAVE\_CODE> <IS\_TIMED>True</IS\_TIMED> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <RELEASE\_EVENT>True</RELEASE\_EVENT> <!-- Prevent physically releasing the button allowing to trigger timed release events on a sequence --> <LONG\_CLICK\_CODE\_1>(>B:\#IE\_PRESET\_ID\#\_Release\_Tick)</LONG\_CLICK\_CODE\_1> </Case> <Default> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#>Release</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>0</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> </Default> </Switch> </Case> <Case Value="\_Held"> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#>Release</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>0</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> <ANIM\_HANDLED\_SEPARATELY>True</ANIM\_HANDLED\_SEPARATELY> <LEFT\_LEAVE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Release)</LEFT\_LEAVE\_CODE> <IS\_TIMED>True</IS\_TIMED> </Case> </Switch> </False> </Condition> </Case> <Case NotEmpty="KNOB\_ID"> <Condition NotEmpty="TEMPLATE\_VARIANT"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\#\_\#TEMPLATE\_VARIANT\#</TEMPLATE\_TO\_USE> </True> <False> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\#</TEMPLATE\_TO\_USE> </False> </Condition> <CLOCKWISE\_CODE>1 (>B:\#IE\_PRESET\_ID\#\_Inc)</CLOCKWISE\_CODE> <ANTICLOCKWISE\_CODE>1 (>B:\#IE\_PRESET\_ID\#\_Dec)</ANTICLOCKWISE\_CODE> <Switch Param="TEMPLATE\_VARIANT"> <Case Value="Switch"> <LEFT\_SINGLE\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\#)</LEFT\_SINGLE\_CODE> </Case> <Case Value="Push"> <LEFT\_SINGLE\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\#)</LEFT\_SINGLE\_CODE> </Case> <Case Value="PushPull"> <PUSH\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\#)</PUSH\_CODE> <PULL\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_NAME\#)</PULL\_CODE> </Case> <Case Value="Push\_Timed"> <LEFT\_SINGLE\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\#)</LEFT\_SINGLE\_CODE> <LEFT\_LEAVE\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\_RELEASE\#)</LEFT\_LEAVE\_CODE> <TIMER\_EVENTS\_HANDLED\_EXTERNALLY>True</TIMER\_EVENTS\_HANDLED\_EXTERNALLY> <LOCKABLE\_EVENT\_SECONDARY>LeftRelease</LOCKABLE\_EVENT\_SECONDARY> <NO\_LOCK\_EVENT\_SECONDARY>RightRelease</NO\_LOCK\_EVENT\_SECONDARY> <MOUSEFLAGS\_DRAG\_IM>RightAll+LeftAll+Wheel+Lock+Unlock</MOUSEFLAGS\_DRAG\_IM> <LONG\_CLICK\_TIME>1</LONG\_CLICK\_TIME> </Case> </Switch> <ANIM\_CODE>(B:\#IE\_PRESET\_ID\#, percent)</ANIM\_CODE> </Case> <Case NotEmpty="LEVER\_ID"> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis</TEMPLATE\_TO\_USE> <CURSOR>Grab</CURSOR> <NO\_ARROWS/> <USE\_TRAJECTORY\_DRAG\_MODE>True</USE\_TRAJECTORY\_DRAG\_MODE> <DRAG\_CODE>(M:DragPercent) \#DRAG\_VALUE\_TO\_EVENT\_SET\# (>B:\#IE\_PRESET\_ID\#\_Set)</DRAG\_CODE> <POSITIVE\_AXIS\_CODE>1 (>B:\#IE\_PRESET\_ID\#\_Inc)</POSITIVE\_AXIS\_CODE> <NEGATIVE\_AXIS\_CODE>1 (>B:\#IE\_PRESET\_ID\#\_Dec)</NEGATIVE\_AXIS\_CODE> <ANIM\_CODE>(B:\#IE\_PRESET\_ID\#, percent)</ANIM\_CODE> </Case> </Switch> <Switch Param="USE\_INPUT\_EVENT\_TEMPLATE"> <Case Value="Push"> <IS\_DIRECT\_EVENT>True</IS\_DIRECT\_EVENT> </Case> <Case Value="Pull"> <IS\_DIRECT\_EVENT>True</IS\_DIRECT\_EVENT> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TEMPLATE\_TO\_USE"> <Case Value="ASOBO\_GT\_Push\_Button\_Airliner"> <CREATE\_COMPONENT>Airliner</CREATE\_COMPONENT> </Case> </Switch> </Parameters> <Switch Param="CREATE\_COMPONENT"> <Case Value="True"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_Interaction\_Base\_SubTemplate"/> </Component> </Case> <Case Value="Airliner"> <Component ID="\#NODE\_ID\#\_IE\_Container"> <UseTemplate Name="ASOBO\_Interaction\_Base\_SubTemplate"> <INPUT\_EVENT\_ID>\#USE\_INPUT\_EVENT\_ID\#</INPUT\_EVENT\_ID> </UseTemplate> </Component> </Case> <Default> <UseTemplate Name="ASOBO\_Interaction\_Base\_SubTemplate"/> </Default> </Switch> </Template> <Template Name="ASOBO\_Interaction\_Base\_SubTemplate"> <Parameters Type="Default"> <Condition> <Test> <And> <Arg Valid="IS\_EMISSIVE"/> <Arg NotEmpty="EMISSIVE\_CODE"/> </And> </Test> <True> <EMISSIVE\_TEMPLATE\_TO\_USE>ASOBO\_GT\_Emissive\_Gauge</EMISSIVE\_TEMPLATE\_TO\_USE> </True> </Condition> </Parameters> <Condition NotEmpty="COMP\_INIT\_CODE"> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_ONCE>True</UPDATE\_ONCE> <UPDATE\_CODE>\#COMP\_INIT\_CODE\#</UPDATE\_CODE> </UseTemplate> </Condition> <Condition NotEmpty="COMP\_UPDATE\_CODE"> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_CODE>\#COMP\_UPDATE\_CODE\#</UPDATE\_CODE> </UseTemplate> </Condition> <Condition Valid="INPUT\_EVENT\_ID"> <False> <Switch Param="USE\_INPUT\_EVENT\_TEMPLATE"> <Case Value="Default"> <UseInputEvent ID="\#USE\_INPUT\_EVENT\_ID\#"/> </Case> <Case Value="Push"> <UseTemplate Name="ASOBO\_Interaction\_Push\_Event\_Base\_Template"/> </Case> <Case Value="Pull"> <UseTemplate Name="ASOBO\_Interaction\_Pull\_Event\_Base\_Template"/> </Case> <Default> <Condition NotEmpty="USE\_INPUT\_EVENT\_TEMPLATE"> <UseTemplate Name="\#USE\_INPUT\_EVENT\_TEMPLATE\#"/> </Condition> </Default> </Switch> </False> </Condition> <UseTemplate Name="\#TEMPLATE\_TO\_USE\#"> <Condition Valid="IS\_INOP"> <TOOLTIP\_TITLE/> <TOOLTIP\_TITLE\_ID/> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.INOP</TOOLTIPID> <DISABLE\_MOUSERECT>True</DISABLE\_MOUSERECT> <TOOLTIP\_DISABLED>True</TOOLTIP\_DISABLED> </Condition> </UseTemplate> <Condition NotEmpty="EMISSIVE\_TEMPLATE\_TO\_USE"> <UseTemplate Name="\#EMISSIVE\_TEMPLATE\_TO\_USE\#"/> </Condition> </Template> <Template Name="ASOBO\_Interaction\_Push\_Event\_Base\_Template"> <UseTemplate Name="ASOBO\_Interaction\_Single\_Event\_Base\_Template"> <EVENT\_TYPE>Push</EVENT\_TYPE> <Condition Valid="IS\_TIMED"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <Condition NotEmpty="ON\_PUSH\_EVENT\_LONG\_1"> <ON\_EVENT\_LONG\_1>\#ON\_PUSH\_EVENT\_LONG\_1\#</ON\_EVENT\_LONG\_1> </Condition> <Condition NotEmpty="ON\_PUSH\_EVENT\_LONG\_2"> <ON\_EVENT\_LONG\_2>\#ON\_PUSH\_EVENT\_LONG\_2\#</ON\_EVENT\_LONG\_2> </Condition> </Case> <Default> <Condition NotEmpty="ON\_PUSH\_EVENT\_LONG"> <ON\_EVENT\_LONG>\#ON\_PUSH\_EVENT\_LONG\#</ON\_EVENT\_LONG> </Condition> </Default> </Switch> </Condition> <Condition NotEmpty="ON\_PUSH\_EVENT"> <ON\_EVENT>\#ON\_PUSH\_EVENT\#</ON\_EVENT> </Condition> </UseTemplate> </Template> <Template Name="ASOBO\_Interaction\_Pull\_Event\_Base\_Template"> <UseTemplate Name="ASOBO\_Interaction\_Single\_Event\_Base\_Template"> <EVENT\_TYPE>Pull</EVENT\_TYPE> <Condition Valid="IS\_TIMED"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <Condition NotEmpty="ON\_PULL\_EVENT\_LONG\_1"> <ON\_EVENT\_LONG\_1>\#ON\_PULL\_EVENT\_LONG\_1\#</ON\_EVENT\_LONG\_1> </Condition> <Condition NotEmpty="ON\_PULL\_EVENT\_LONG\_2"> <ON\_EVENT\_LONG\_2>\#ON\_PULL\_EVENT\_LONG\_2\#</ON\_EVENT\_LONG\_2> </Condition> </Case> <Default> <Condition NotEmpty="ON\_PULL\_EVENT\_LONG"> <ON\_EVENT\_LONG>\#ON\_PULL\_EVENT\_LONG\#</ON\_EVENT\_LONG> </Condition> </Default> </Switch> </Condition> <Condition NotEmpty="ON\_PULL\_EVENT"> <ON\_EVENT>\#ON\_PULL\_EVENT\#</ON\_EVENT> </Condition> </UseTemplate> </Template> <Template Name="ASOBO\_Interaction\_Single\_Event\_Base\_Template"> <Parameters Type="Default"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <Loop> <Setup> <Param>CUR\_ID</Param> <From>1</From> <Inc>1</Inc> <To>\#TIMED\_EVENTS\_COUNT\#</To> </Setup> <Do> <ON\_EVENT\_LONG\_\#CUR\_ID\#/> <LONG\_CLICK\_TIME\_\#CUR\_ID\#>\#CUR\_ID\#</LONG\_CLICK\_TIME\_\#CUR\_ID\#> </Do> </Loop> </Case> <Default> <ON\_EVENT\_LONG/> <LONG\_CLICK\_TIME>1</LONG\_CLICK\_TIME> </Default> </Switch> <ON\_EVENT/> <Condition NotEmpty="IE\_NAME"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> </Condition> <Condition Valid="IS\_TIMED"> <RELEASE\_EVENT>True</RELEASE\_EVENT> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="Compute\_First\_Available\_Bindings"> </UseParametersFn> </Parameters> <Parameters Type="Default"> <Condition Valid="IS\_TIMED"> <True> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <!-- p0: Press/Release, p1:PressDuration, 0 = infinite (if pressing) p2=PressEvent --> <SET\_ARG\_COUNT>2</SET\_ARG\_COUNT> <SET\_STATE\_EXTERNAL>sp0 l0 0 == if{ (O:\_PressTime) 0 > if{ (E:SIMULATION TIME, second) (O:\_PressTime) - \#LONG\_CLICK\_TIME\_1\# < if{ \#ON\_EVENT\# 1 (>O:\_ReleaseInteraction) } els{ (E:SIMULATION TIME, second) (O:\_PressTime) - \#LONG\_CLICK\_TIME\_2\# < if{ (O:\_Process\_Step) 0 == if{ \#ON\_EVENT\_LONG\_1\# (O:\_Process\_Step) 1 + (>O:\_Process\_Step) } } els{ (O:\_Process\_Step) 1 == if{ \#ON\_EVENT\_LONG\_2\# (O:\_Process\_Step) 1 + (>O:\_Process\_Step) } } } (O:\_ReleaseInteraction) if{ 0 (>O:\_PressTime) 0 (>O:\_PressForDuration) 0 (>O:\_ReleaseInteraction) 0 (>O:\_Process\_Step) } } } l0 1 == if{ (E:SIMULATION TIME, second) (>O:\_PressTime) p1 (>O:\_PressForDuration) 0 (>O:\_ReleaseInteraction) 0 (>O:\_Process\_Step) } </SET\_STATE\_EXTERNAL> </Case> <Default> <!-- p0: Press/Release, p1:PressDuration, 0 = infinite (if pressing) --> <SET\_ARG\_COUNT>2</SET\_ARG\_COUNT> <SET\_STATE\_EXTERNAL>sp0 l0 0 == if{ (O:\_PressTime) 0 > if{ (E:SIMULATION TIME, second) (O:\_PressTime) - \#LONG\_CLICK\_TIME\# < if{ \#ON\_EVENT\# 0 (>O:\_PressTime) } els{ \#ON\_EVENT\_LONG\# 0 (>O:\_PressTime) } } } l0 1 == if{ (E:SIMULATION TIME, second) (>O:\_PressTime) p1 (>O:\_PressForDuration) } </SET\_STATE\_EXTERNAL> </Default> </Switch> </True> <False> <SET\_STATE\_EXTERNAL>if{ \#ON\_EVENT\# }</SET\_STATE\_EXTERNAL> </False> </Condition> <DEFAULT\_BINDING\_STR>\#EVENT\_TYPE\#</DEFAULT\_BINDING\_STR> <Condition Valid="IS\_TIMED"> <ANIM>EXTERNAL</ANIM> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <DEFAULT\_BINDING\_STR\_LONG\_1>\#EVENT\_TYPE\#\_Long\_1</DEFAULT\_BINDING\_STR\_LONG\_1> <DEFAULT\_BINDING\_STR\_LONG\_2>\#EVENT\_TYPE\#\_Long\_2</DEFAULT\_BINDING\_STR\_LONG\_2> </Case> <Default> <DEFAULT\_BINDING\_STR\_LONG>\#EVENT\_TYPE\#\_Long</DEFAULT\_BINDING\_STR\_LONG> </Default> </Switch> </Condition> <Switch Param="EVENT\_TYPE"> <Case Value="Push"> <Condition Valid="IS\_DIRECT\_EVENT"> <True> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> <TT\_ICON>Push</TT\_ICON> </True> <False> <TT\_INTERACTION>PRIMARY\_DOWN+SECONDARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>PRIMARY\_DOWN</TT\_INTERACTION\_LOCKABLE> <ANIM\_VAR>\_PushAnimVar</ANIM\_VAR> <TT\_ICON>Push</TT\_ICON> </False> </Condition> </Case> <Case Value="Pull"> <Condition Valid="IS\_DIRECT\_EVENT"> <True> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> <TT\_ICON>Pull</TT\_ICON> </True> <False> <TT\_INTERACTION>PRIMARY\_DOWN+TERTIARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>SECONDARY\_DOWN</TT\_INTERACTION\_LOCKABLE> <ANIM\_VAR>\_PullAnimVar</ANIM\_VAR> <TT\_ICON>Pull</TT\_ICON> </False> </Condition> </Case> </Switch> <Condition Valid="IS\_DIRECT\_EVENT"> <False> <ANIM>HOLD</ANIM> </False> </Condition> <Condition Valid="RELEASE\_EVENT"> <DEFAULT\_BINDING\_STR\_RELEASE>Release</DEFAULT\_BINDING\_STR\_RELEASE> </Condition> </Parameters> <UseInputEvent ID="\#USE\_INPUT\_EVENT\_ID\#"> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#>\#DEFAULT\_BINDING\_STR\#</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0>1</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0> <Condition Valid="IS\_TIMED"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#>\#DEFAULT\_BINDING\_STR\_LONG\_1\#</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0>1</BINDING\_SET\_0\_PARAM\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1>\#LONG\_CLICK\_TIME\_1\#</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1> <BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#>\#DEFAULT\_BINDING\_STR\_LONG\_2\#</BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#> <BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0>1</BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0> <BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1>\#LONG\_CLICK\_TIME\_2\#</BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1> </Case> <Default> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#>\#DEFAULT\_BINDING\_STR\_LONG\#</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0>1</BINDING\_SET\_0\_PARAM\_\#FIRST\_AVAILABLE\_SET\_BINDING\#> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1>\#LONG\_CLICK\_TIME\#</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1> </Default> </Switch> <Condition Valid="RELEASE\_EVENT"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#>\#DEFAULT\_BINDING\_STR\_RELEASE\#</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>1 (>O:\_ReleaseInteraction)</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC>True</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC> <BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#>\#DEFAULT\_BINDING\_STR\_RELEASE\#\_Tick</BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>0 (>O:\_ReleaseInteraction)</BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> <BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC>True</BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC> </Case> <Default> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#>\#DEFAULT\_BINDING\_STR\_RELEASE\#</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>0</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> </Default> </Switch> </Condition> </Condition> </UseInputEvent> </Template> <!-- Req: AXIS --> <Template Name="ASOBO\_Interaction\_Axis\_Event\_Base\_Template"> <Parameters Type="Default"> <Switch Param="AXIS"> <Case Value="X"> <DEFAULT\_BINDING\_STR\_DEC>Left</DEFAULT\_BINDING\_STR\_DEC> <DEFAULT\_BINDING\_STR\_INC>Right</DEFAULT\_BINDING\_STR\_INC> <Condition NotEmpty="LEFT\_CODE\_EXTERNAL"> <IE\_DEC\_CODE>\#LEFT\_CODE\_EXTERNAL\#</IE\_DEC\_CODE> </Condition> <Condition NotEmpty="RIGHT\_CODE\_EXTERNAL"> <IE\_INC\_CODE>\#RIGHT\_CODE\_EXTERNAL\#</IE\_INC\_CODE> </Condition> <POS\_DEC>0</POS\_DEC> <POS\_STANDBY>1</POS\_STANDBY> <POS\_INC>2</POS\_INC> </Case> <Case Value="Y"> <DEFAULT\_BINDING\_STR\_INC>Up</DEFAULT\_BINDING\_STR\_INC> <DEFAULT\_BINDING\_STR\_DEC>Down</DEFAULT\_BINDING\_STR\_DEC> <Condition NotEmpty="UP\_CODE\_EXTERNAL"> <IE\_INC\_CODE>\#UP\_CODE\_EXTERNAL\#</IE\_INC\_CODE> </Condition> <Condition NotEmpty="DOWN\_CODE\_EXTERNAL"> <IE\_DEC\_CODE>\#DOWN\_CODE\_EXTERNAL\#</IE\_DEC\_CODE> </Condition> <POS\_INC>0</POS\_INC> <POS\_STANDBY>1</POS\_STANDBY> <POS\_DEC>2</POS\_DEC> </Case> </Switch> <DEFAULT\_BINDING\_STR\_STANDBY>Standby</DEFAULT\_BINDING\_STR\_STANDBY> <TT\_ICON>MOVE\_AXIS</TT\_ICON> <TT\_INTERACTION>PRIMARY\_DOWN+\#AXIS\#\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>\#AXIS\#\_AXIS</TT\_INTERACTION\_LOCKABLE> <Condition Valid="IS\_DIRECT\_EVENT"> <False> <ANIM>EXTERNAL</ANIM> </False> </Condition> </Parameters> <Parameters Type="Default"> <TT\_VALUE\_INC/> <TT\_VALUE\_STANDBY/> <TT\_VALUE\_DEC/> <NUM\_STATES>3</NUM\_STATES> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <GET\_STATE\_EXTERNAL>(O:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#\_Position) sp0</GET\_STATE\_EXTERNAL> </Parameters> <Parameters Type="Default"> <IE\_INC\_CODE>\#POS\_INC\# (>O:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#\_Position)</IE\_INC\_CODE> <IE\_STANDBY\_CODE>\#POS\_STANDBY\# (>O:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#\_Position)</IE\_STANDBY\_CODE> <IE\_DEC\_CODE>\#POS\_DEC\# (>O:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#\_Position)</IE\_DEC\_CODE> </Parameters> <UseInputEvent ID="\#USE\_INPUT\_EVENT\_ID\#"> <STR\_STATE\_\#POS\_INC\#>\#DEFAULT\_BINDING\_STR\_INC\#</STR\_STATE\_\#POS\_INC\#> <STR\_STATE\_\#POS\_STANDBY\#>\#DEFAULT\_BINDING\_STR\_STANDBY\#</STR\_STATE\_\#POS\_STANDBY\#> <STR\_STATE\_\#POS\_DEC\#>\#DEFAULT\_BINDING\_STR\_DEC\#</STR\_STATE\_\#POS\_DEC\#> <SET\_STATE\_\#POS\_INC\#>\#IE\_INC\_CODE\#</SET\_STATE\_\#POS\_INC\#> <SET\_STATE\_\#POS\_STANDBY\#>\#IE\_STANDBY\_CODE\#</SET\_STATE\_\#POS\_STANDBY\#> <SET\_STATE\_\#POS\_DEC\#>\#IE\_DEC\_CODE\#</SET\_STATE\_\#POS\_DEC\#> <Condition NotEmpty="TT\_VALUE"> <False> <TT\_VALUE\_\#POS\_INC\#>\#TT\_VALUE\_INC\#</TT\_VALUE\_\#POS\_INC\#> <TT\_VALUE\_\#POS\_STANDBY\#>\#TT\_VALUE\_STANDBY\#</TT\_VALUE\_\#POS\_STANDBY\#> <TT\_VALUE\_\#POS\_DEC\#>\#TT\_VALUE\_DEC\#</TT\_VALUE\_\#POS\_DEC\#> </False> </Condition> </UseInputEvent> </Template> <ParametersFn Name="Compute\_First\_Available\_Bindings"> <Parameters Type="Default"> <MAX\_INC\_BINDING>-1</MAX\_INC\_BINDING> <MAX\_DEC\_BINDING>-1</MAX\_DEC\_BINDING> <MAX\_SET\_BINDING>-1</MAX\_SET\_BINDING> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg NotEmpty="BINDING\_INC\_\#CUR\_ID\#"/> </While> </Setup> <Do> <MAX\_INC\_BINDING>\#CUR\_ID\#</MAX\_INC\_BINDING> </Do> </Loop> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg NotEmpty="BINDING\_DEC\_\#CUR\_ID\#"/> </While> </Setup> <Do> <MAX\_DEC\_BINDING>\#CUR\_ID\#</MAX\_DEC\_BINDING> </Do> </Loop> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg NotEmpty="BINDING\_SET\_\#CUR\_ID\#"/> </While> </Setup> <Do> <MAX\_SET\_BINDING>\#CUR\_ID\#</MAX\_SET\_BINDING> </Do> </Loop> </Parameters> <ReturnParameters> <FIRST\_AVAILABLE\_INC\_BINDING Process="Int">\#MAX\_INC\_BINDING\# 1 +</FIRST\_AVAILABLE\_INC\_BINDING> <SECOND\_AVAILABLE\_INC\_BINDING Process="Int">\#MAX\_INC\_BINDING\# 2 +</SECOND\_AVAILABLE\_INC\_BINDING> <THIRD\_AVAILABLE\_INC\_BINDING Process="Int">\#MAX\_INC\_BINDING\# 3 +</THIRD\_AVAILABLE\_INC\_BINDING> <FIRST\_AVAILABLE\_DEC\_BINDING Process="Int">\#MAX\_DEC\_BINDING\# 1 +</FIRST\_AVAILABLE\_DEC\_BINDING> <SECOND\_AVAILABLE\_DEC\_BINDING Process="Int">\#MAX\_DEC\_BINDING\# 2 +</SECOND\_AVAILABLE\_DEC\_BINDING> <THIRD\_AVAILABLE\_DEC\_BINDING Process="Int">\#MAX\_DEC\_BINDING\# 3 +</THIRD\_AVAILABLE\_DEC\_BINDING> <FIRST\_AVAILABLE\_SET\_BINDING Process="Int">\#MAX\_SET\_BINDING\# 1 +</FIRST\_AVAILABLE\_SET\_BINDING> <SECOND\_AVAILABLE\_SET\_BINDING Process="Int">\#MAX\_SET\_BINDING\# 2 +</SECOND\_AVAILABLE\_SET\_BINDING> <THIRD\_AVAILABLE\_SET\_BINDING Process="Int">\#MAX\_SET\_BINDING\# 3 +</THIRD\_AVAILABLE\_SET\_BINDING> </ReturnParameters> </ParametersFn> </ModelBehaviors>     ### Templates Template list 1. [ASOBO\_Interaction\_Base\_Template](#ASOBO_Interaction_Base_Template) 2. [ASOBO\_Interaction\_Base\_SubTemplate](#ASOBO_Interaction_Base_SubTemplate) 3. [ASOBO\_Interaction\_Push\_Event\_Base\_Template](#ASOBO_Interaction_Push_Event_Base_Template) 4. [ASOBO\_Interaction\_Pull\_Event\_Base\_Template](#ASOBO_Interaction_Pull_Event_Base_Template) 5. [ASOBO\_Interaction\_Single\_Event\_Base\_Template](#ASOBO_Interaction_Single_Event_Base_Template) 6. [ASOBO\_Interaction\_Axis\_Event\_Base\_Template](#ASOBO_Interaction_Axis_Event_Base_Template) - #### ASOBO\_Interaction\_Base\_Template Definition from XML <Template Name="ASOBO\_Interaction\_Base\_Template"> <Parameters Type="Default"> <WWISE\_PREFIX/> <IS\_EMISSIVE>True</IS\_EMISSIVE> <USE\_INPUT\_EVENT\_TEMPLATE>Default</USE\_INPUT\_EVENT\_TEMPLATE> <CREATE\_COMPONENT>True</CREATE\_COMPONENT> <IE\_PRESET\_ID>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#</IE\_PRESET\_ID> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <EXTRA\_OPTION/> <NUM\_STATES>2</NUM\_STATES> </Case> <Case Value="Switch"> <NUM\_STATES>2</NUM\_STATES> </Case> <Case Value="Knob"> <IS\_INFINITE>False</IS\_INFINITE> <Switch Param="KNOB\_TYPE"> <Case Value="X\_STATES"> <NUM\_STATES>2</NUM\_STATES> <INTERACTION\_AXIS>X</INTERACTION\_AXIS> </Case> </Switch> </Case> <Case Value="Lever"> <INTERACTION\_AXIS>Y</INTERACTION\_AXIS> <DRAG\_VALUE\_TO\_EVENT\_SET/> </Case> </Switch> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="Compute\_First\_Available\_Bindings"/> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> </Case> <Case Value="Switch"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <ANIM>EXTERNAL</ANIM> </Case> <Case Value="Knob"> <Switch Param="KNOB\_TYPE"> <Case Value="X\_STATES"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <TT\_ICON>ROTATE</TT\_ICON> <ANIM>EXTERNAL</ANIM> <Switch Param="NUM\_STATES"> <Case Value="2"> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> </Case> <Default> <TT\_INTERACTION>PRIMARY\_DOWN+\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION\_LOCKABLE> <Switch Param="INTERACTION\_AXIS"> <Case Value="X"> <SWITCH\_DIRECTION>Horizontal</SWITCH\_DIRECTION> </Case> <Case Value="Y"> <SWITCH\_DIRECTION>Vertical</SWITCH\_DIRECTION> </Case> </Switch> </Default> </Switch> </Case> <Default> <KNOB\_ID>\#IE\_NAME\#</KNOB\_ID> <Condition Valid="IS\_INFINITE"> <True> <KNOB\_INTERACTION\_TYPE>Infinite</KNOB\_INTERACTION\_TYPE> <NO\_KNOB\_ANIM\_VAR\_UPDATE>True</NO\_KNOB\_ANIM\_VAR\_UPDATE> </True> <False> <Condition NotEmpty="TEMPLATE\_VARIANT"> <True> <KNOB\_INTERACTION\_TYPE>Finite</KNOB\_INTERACTION\_TYPE> </True> <False> <KNOB\_INTERACTION\_TYPE>Finite\_Code</KNOB\_INTERACTION\_TYPE> </False> </Condition> </False> </Condition> <Condition> <Test> <And> <Arg NotEmpty="IE\_ID\_EXTERNAL\_0"/> <Arg NotEmpty="IE\_ID\_EXTERNAL\_1"/> </And> </Test> <True> <TEMPLATE\_VARIANT>PushPull</TEMPLATE\_VARIANT> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME>Push</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME> <IE\_ID\_EXTERNAL\_1\_BINDING\_NAME>Pull</IE\_ID\_EXTERNAL\_1\_BINDING\_NAME> </True> <False> <Condition NotEmpty="IE\_ID\_EXTERNAL\_0"> <True> <Condition Valid="IS\_TIMED"> <True> <TEMPLATE\_VARIANT>Push\_Timed</TEMPLATE\_VARIANT> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\_RELEASE>Release</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\_RELEASE> </True> <False> <TEMPLATE\_VARIANT>Push</TEMPLATE\_VARIANT> </False> </Condition> <Condition Valid="IS\_PULL"> <True> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME>Pull</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME> </True> <False> <Switch Param="TEMPLATE\_VARIANT"> <Case Value="Switch"> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME>Toggle</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME> </Case> <Default> <IE\_ID\_EXTERNAL\_0\_BINDING\_NAME>Push</IE\_ID\_EXTERNAL\_0\_BINDING\_NAME> </Default> </Switch> </False> </Condition> </True> <False> <TEMPLATE\_VARIANT/> </False> </Condition> </False> </Condition> </Default> </Switch> </Case> <Case Value="Lever"> <Switch Param="LEVER\_TYPE"> <Case Value="2\_STATES"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <TT\_ICON>MOVE\_AXIS\_\#INTERACTION\_AXIS\#</TT\_ICON> <TT\_INTERACTION>PRIMARY\_DOWN+\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION\_LOCKABLE> <ANIM>EXTERNAL</ANIM> <NUM\_STATES>2</NUM\_STATES> <ANIM\_LAG>400</ANIM\_LAG> <DRAG\_SCALAR>10</DRAG\_SCALAR> <ALWAYS\_USE\_ANIM\_LAG>True</ALWAYS\_USE\_ANIM\_LAG> <STR\_STATE\_ON>Down</STR\_STATE\_ON> <STR\_STATE\_OFF>Up</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_DOWN)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_UP)</TT\_VALUE\_OFF> </Case> <Default> <LEVER\_ID>\#IE\_NAME\#</LEVER\_ID> </Default> </Switch> </Case> <Case Value="Joystick"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <Switch Param="JOYSTICK\_TYPE"> <Case Value="5\_STATES"> <NUM\_STATES>5</NUM\_STATES> <STR\_STATE\_0>Left</STR\_STATE\_0> <STR\_STATE\_1>Right</STR\_STATE\_1> <STR\_STATE\_2>Down</STR\_STATE\_2> <STR\_STATE\_3>Up</STR\_STATE\_3> <STR\_STATE\_4>Standby</STR\_STATE\_4> <TT\_VALUE\_0>@TT\_Package.GT\_STATE\_LEFT</TT\_VALUE\_0> <TT\_VALUE\_1>@TT\_Package.GT\_STATE\_RIGHT</TT\_VALUE\_1> <TT\_VALUE\_2>@TT\_Package.GT\_STATE\_DOWN</TT\_VALUE\_2> <TT\_VALUE\_3>@TT\_Package.GT\_STATE\_UP</TT\_VALUE\_3> <TT\_VALUE\_4>@TT\_Package.GT\_STATE\_STANDBY</TT\_VALUE\_4> <IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT>Left</IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT> <IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT>Right</IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT> <IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN>Down</IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN> <IE\_ID\_EXTERNAL\_1\_BINDING\_UP>Up</IE\_ID\_EXTERNAL\_1\_BINDING\_UP> <IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY>Standby</IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY> <IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY>Standby</IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY> <GET\_STATE\_EXTERNAL>(O:\#IE\_PRESET\_ID\#\_Position) sp0</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL>l0</ENUM\_VAL\_TO\_POS\_EXTERNAL> <FREQUENCY>20</FREQUENCY> <ON\_POS\_LEFT/> <ON\_POS\_RIGHT/> <ON\_POS\_DOWN/> <ON\_POS\_UP/> <ANIM>EXTERNAL</ANIM> </Case> </Switch> <TT\_ICON>MOVE\_AXIS</TT\_ICON> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch> <Case NotEmpty="BTN\_ID"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <WWISE\_EVENT\_1>\#WWISE\_PREFIX\#\_push\_button\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>\#WWISE\_PREFIX\#\_push\_button\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> <Case Value="Lever"> <WWISE\_EVENT\_1>\#WWISE\_PREFIX\#\_lever\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.25</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>\#WWISE\_PREFIX\#\_lever\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.75</NORMALIZED\_TIME\_2> </Case> <Case Value="Joystick"> <WWISE\_JOYSTICK\_EVENT\_L>\#WWISE\_PREFIX\#\_joystick</WWISE\_JOYSTICK\_EVENT\_L> <WWISE\_JOYSTICK\_EVENT\_R>\#WWISE\_PREFIX\#\_joystick</WWISE\_JOYSTICK\_EVENT\_R> <WWISE\_JOYSTICK\_EVENT\_UP>\#WWISE\_PREFIX\#\_joystick</WWISE\_JOYSTICK\_EVENT\_UP> <WWISE\_JOYSTICK\_EVENT\_DN>\#WWISE\_PREFIX\#\_joystick</WWISE\_JOYSTICK\_EVENT\_DN> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> <Default> <Switch Param="NUM\_STATES"> <Case Value="2"> <WWISE\_EVENT\_1>\#WWISE\_PREFIX\#\_switch\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>\#WWISE\_PREFIX\#\_switch\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> <Default> <Switch Param="INTERACTION\_TYPE"> <Case Value="Knob"> <WWISE\_EVENT>\#WWISE\_PREFIX\#\_knob</WWISE\_EVENT> </Case> <Default> <WWISE\_EVENT>\#WWISE\_PREFIX\#\_switch</WWISE\_EVENT> </Default> </Switch> </Default> </Switch> </Default> </Switch> <Condition NotEmpty="NUM\_STATES"> <MAX\_POS Process="Int">\#NUM\_STATES\# 1 -</MAX\_POS> </Condition> </Case> <Case NotEmpty="KNOB\_ID"> <WWISE\_EVENT>\#WWISE\_PREFIX\#\_knob</WWISE\_EVENT> <Switch> <Case NotEmpty="TEMPLATE\_VARIANT"> <WWISE\_EVENT\_1>\#WWISE\_PREFIX\#\_push\_button\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>\#WWISE\_PREFIX\#\_push\_button\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> </Switch> </Case> <Case NotEmpty="LEVER\_ID"> <WWISE\_EVENT>\#WWISE\_PREFIX\#\_lever</WWISE\_EVENT> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Condition> <Test> <Or> <Arg Valid="TOOLTIP\_TITLE"/> <Arg Valid="TOOLTIP\_TITLE\_ID"/> </Or> </Test> <True> <TOOLTIP\_ENTRY\_0>\#IE\_PRESET\_ID\#</TOOLTIP\_ENTRY\_0> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg NotEmpty="IE\_ID\_EXTERNAL\_\#CUR\_ID\#"/> </While> </Setup> <Do> <Parameters Type="Override"> <CUR\_TT\_ID Process="Int">\#CUR\_ID\# 1 +</CUR\_TT\_ID> <CUR\_IE\_ID\_EXTERNAL Process="Param">IE\_ID\_EXTERNAL\_\#CUR\_ID\#</CUR\_IE\_ID\_EXTERNAL> </Parameters> <TOOLTIP\_ENTRY\_\#CUR\_TT\_ID\#>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#CUR\_IE\_ID\_EXTERNAL\#</TOOLTIP\_ENTRY\_\#CUR\_TT\_ID\#> </Do> </Loop> </True> </Condition> <Switch> <Case NotEmpty="BTN\_ID"> <Condition NotEmpty="GET\_STATE\_EXTERNAL"> <True> <Switch Param="NUM\_STATES"> <Case Value="2"> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <Condition Valid="IS\_AIRLINER"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Push\_Button\_Airliner</TEMPLATE\_TO\_USE> </True> <False> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Push\_Button\#EXTRA\_OPTION\#</TEMPLATE\_TO\_USE> </False> </Condition> <LEFT\_SINGLE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </Case> <Case Value="Lever"> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Lever\_DraggingYAxis\_Code</TEMPLATE\_TO\_USE> <ANIM\_CODE>(B:\#IE\_PRESET\_ID\#, Bool) 100 \*</ANIM\_CODE> <UP\_CODE>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_OFF\#)</UP\_CODE> <DOWN\_CODE>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_ON\#)</DOWN\_CODE> </Case> <Default> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Switch\_Code</TEMPLATE\_TO\_USE> <ANIM\_CODE>(B:\#IE\_PRESET\_ID\#, Bool) 100 \*</ANIM\_CODE> <LEFT\_SINGLE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </Default> </Switch> </Case> <Default> <Switch Param="INTERACTION\_TYPE"> <Case Value="Joystick"> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Joystick\_Interaction\_Knob</TEMPLATE\_TO\_USE> <Switch Param="JOYSTICK\_TYPE"> <Case Value="5\_STATES"> <JOYSTICK\_INTERACTION>PAN\_ONLY</JOYSTICK\_INTERACTION> <IM\_DRAG\_ADDITIONAL\_EVENT\_HANDLING/> <ON\_UP\_EVENT>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#)</ON\_UP\_EVENT> <COMP\_INIT\_CODE>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#)</COMP\_INIT\_CODE> <Switch Param="JOYSTICK\_INTERACTION\_TYPE"> <Case Value="POSITIONAL"> <USE\_PAD\_DRAG\_IM\_LOCK>True</USE\_PAD\_DRAG\_IM\_LOCK> <COMP\_UPDATE\_CODE> (O:\#IE\_PRESET\_ID\#\_Position) 4 < if{ (O:\#IE\_PRESET\_ID\#\_Position) 0 == if{ \#ON\_POS\_LEFT\# quit } (O:\#IE\_PRESET\_ID\#\_Position) 1 == if{ \#ON\_POS\_RIGHT\# quit } (O:\#IE\_PRESET\_ID\#\_Position) 2 == if{ \#ON\_POS\_DOWN\# quit } (O:\#IE\_PRESET\_ID\#\_Position) 3 == if{ \#ON\_POS\_UP\# quit } } </COMP\_UPDATE\_CODE> <JOYSTICK\_X\_CODE\_LEFT> (O:\#IE\_PRESET\_ID\#\_Position) 0 != (O:\_IsLimited) ! and if{ 1 (>O:\_IsLimited) (O:\#IE\_PRESET\_ID\#\_Position) 4 != if{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#) } els{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_0\#) } } </JOYSTICK\_X\_CODE\_LEFT> <JOYSTICK\_X\_CODE\_RIGHT> (O:\#IE\_PRESET\_ID\#\_Position) 1 != (O:\_IsLimited) ! and if{ 1 (>O:\_IsLimited) (O:\#IE\_PRESET\_ID\#\_Position) 4 != if{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#) } els{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_1\#) } } </JOYSTICK\_X\_CODE\_RIGHT> <JOYSTICK\_Y\_CODE\_DOWN> (O:\#IE\_PRESET\_ID\#\_Position) 2 != (O:\_IsLimited) ! and if{ 1 (>O:\_IsLimited) (O:\#IE\_PRESET\_ID\#\_Position) 4 != if{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#) } els{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_2\#) } } </JOYSTICK\_Y\_CODE\_DOWN> <JOYSTICK\_Y\_CODE\_UP> (O:\#IE\_PRESET\_ID\#\_Position) 3 != (O:\_IsLimited) ! and if{ 1 (>O:\_IsLimited) (O:\#IE\_PRESET\_ID\#\_Position) 4 != if{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_4\#) } els{ (>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_3\#) } } </JOYSTICK\_Y\_CODE\_UP> <SET\_STATE\_0> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY\#) </SET\_STATE\_0> <SET\_STATE\_1> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY\#) </SET\_STATE\_1> <SET\_STATE\_2> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN\#) </SET\_STATE\_2> <SET\_STATE\_3> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_UP\#) </SET\_STATE\_3> <SET\_STATE\_4> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY\#) </SET\_STATE\_4> <USE\_DEFAULT\_ANIMATION>False</USE\_DEFAULT\_ANIMATION> <ANIM\_CODE\_AXIS\_X>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#) 50 \*</ANIM\_CODE\_AXIS\_X> <ANIM\_CODE\_AXIS\_Y>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#) 50 \*</ANIM\_CODE\_AXIS\_Y> </Case> <Default> <JOYSTICK\_X\_CODE\_LEFT>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_0\#)</JOYSTICK\_X\_CODE\_LEFT> <JOYSTICK\_X\_CODE\_RIGHT>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_1\#)</JOYSTICK\_X\_CODE\_RIGHT> <JOYSTICK\_Y\_CODE\_DOWN>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_2\#)</JOYSTICK\_Y\_CODE\_DOWN> <JOYSTICK\_Y\_CODE\_UP>(>B:\#IE\_PRESET\_ID\#\_\#STR\_STATE\_3\#)</JOYSTICK\_Y\_CODE\_UP> <SET\_STATE\_0>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT\#)</SET\_STATE\_0> <SET\_STATE\_1>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT\#)</SET\_STATE\_1> <SET\_STATE\_2>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN\#)</SET\_STATE\_2> <SET\_STATE\_3>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_UP\#)</SET\_STATE\_3> <SET\_STATE\_4> (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY\#) (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY\#) </SET\_STATE\_4> </Default> </Switch> <TOOLTIP\_ENTRY\_0>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#</TOOLTIP\_ENTRY\_0> <TOOLTIP\_ENTRY\_1>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#</TOOLTIP\_ENTRY\_1> <TOOLTIP\_ENTRY\_2/> </Case> </Switch> </Case> <Default> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Switch\_XStates</TEMPLATE\_TO\_USE> <Condition NotEmpty="ON\_STATE\_CHANGED\_EXTERNAL\_CODE"> <DISABLE\_ON\_STATE\_CHANGED\_EXTERNAL\_CODE\_IN\_MR>True</DISABLE\_ON\_STATE\_CHANGED\_EXTERNAL\_CODE\_IN\_MR> </Condition> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <To>\#MAX\_POS\#</To> </Setup> <Do> <Parameters Type="Override"> <ID\_POS Process="Param">STR\_STATE\_\#CUR\_ID\#</ID\_POS> </Parameters> <Condition NotEmpty="TT\_VALUE\_\#CUR\_ID\#"> <False> <TT\_VALUE\_\#CUR\_ID\#>@TT\_OverrideMe\_Value</TT\_VALUE\_\#CUR\_ID\#> <TT\_VALUE\_\#CUR\_ID\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#CUR\_ID\#\_IS\_DYNAMIC> </False> </Condition> <CODE\_POS\_\#CUR\_ID\#>(>B:\#IE\_PRESET\_ID\#\_\#ID\_POS\#)</CODE\_POS\_\#CUR\_ID\#> <STATE\#CUR\_ID\#\_TEST>(B:\#IE\_PRESET\_ID\#) \#CUR\_ID\# ==</STATE\#CUR\_ID\#\_TEST> </Do> </Loop> </Default> </Switch> </Default> </Switch> </True> <False> <Condition Valid="IS\_AIRLINER"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Push\_Button\_Airliner</TEMPLATE\_TO\_USE> </True> <False> <Condition Valid="NO\_PUSH\_ANIMATION"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Interaction\_LeftSingle\_Code</TEMPLATE\_TO\_USE> </True> <False> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Push\_Button\#EXTRA\_OPTION\#</TEMPLATE\_TO\_USE> </False> </Condition> </False> </Condition> <LEFT\_SINGLE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Push)</LEFT\_SINGLE\_CODE> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#>Push</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0>1</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0> <Condition NotEmpty="EVENT\_ID"> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_EVENT\_ID>\#EVENT\_ID\#</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_EVENT\_ID> </Condition> <Switch Param="EXTRA\_OPTION"> <Case Value="\_Timed"> <LEFT\_LEAVE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Release)</LEFT\_LEAVE\_CODE> <IS\_TIMED>True</IS\_TIMED> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <RELEASE\_EVENT>True</RELEASE\_EVENT> <LONG\_CLICK\_CODE\_1>(>B:\#IE\_PRESET\_ID\#\_Release\_Tick)</LONG\_CLICK\_CODE\_1> </Case> <Default> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#>Release</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>0</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> </Default> </Switch> </Case> <Case Value="\_Held"> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#>Release</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>0</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> <ANIM\_HANDLED\_SEPARATELY>True</ANIM\_HANDLED\_SEPARATELY> <LEFT\_LEAVE\_CODE>(>B:\#IE\_PRESET\_ID\#\_Release)</LEFT\_LEAVE\_CODE> <IS\_TIMED>True</IS\_TIMED> </Case> </Switch> </False> </Condition> </Case> <Case NotEmpty="KNOB\_ID"> <Condition NotEmpty="TEMPLATE\_VARIANT"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\#\_\#TEMPLATE\_VARIANT\#</TEMPLATE\_TO\_USE> </True> <False> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\#</TEMPLATE\_TO\_USE> </False> </Condition> <CLOCKWISE\_CODE>1 (>B:\#IE\_PRESET\_ID\#\_Inc)</CLOCKWISE\_CODE> <ANTICLOCKWISE\_CODE>1 (>B:\#IE\_PRESET\_ID\#\_Dec)</ANTICLOCKWISE\_CODE> <Switch Param="TEMPLATE\_VARIANT"> <Case Value="Switch"> <LEFT\_SINGLE\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\#)</LEFT\_SINGLE\_CODE> </Case> <Case Value="Push"> <LEFT\_SINGLE\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\#)</LEFT\_SINGLE\_CODE> </Case> <Case Value="PushPull"> <PUSH\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\#)</PUSH\_CODE> <PULL\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_1\#\_\#IE\_ID\_EXTERNAL\_1\_BINDING\_NAME\#)</PULL\_CODE> </Case> <Case Value="Push\_Timed"> <LEFT\_SINGLE\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\#)</LEFT\_SINGLE\_CODE> <LEFT\_LEAVE\_CODE>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_ID\_EXTERNAL\_0\#\_\#IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\_RELEASE\#)</LEFT\_LEAVE\_CODE> <TIMER\_EVENTS\_HANDLED\_EXTERNALLY>True</TIMER\_EVENTS\_HANDLED\_EXTERNALLY> <LOCKABLE\_EVENT\_SECONDARY>LeftRelease</LOCKABLE\_EVENT\_SECONDARY> <NO\_LOCK\_EVENT\_SECONDARY>RightRelease</NO\_LOCK\_EVENT\_SECONDARY> <MOUSEFLAGS\_DRAG\_IM>RightAll+LeftAll+Wheel+Lock+Unlock</MOUSEFLAGS\_DRAG\_IM> <LONG\_CLICK\_TIME>1</LONG\_CLICK\_TIME> </Case> </Switch> <ANIM\_CODE>(B:\#IE\_PRESET\_ID\#, percent)</ANIM\_CODE> </Case> <Case NotEmpty="LEVER\_ID"> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis</TEMPLATE\_TO\_USE> <CURSOR>Grab</CURSOR> <NO\_ARROWS/> <USE\_TRAJECTORY\_DRAG\_MODE>True</USE\_TRAJECTORY\_DRAG\_MODE> <DRAG\_CODE>(M:DragPercent) \#DRAG\_VALUE\_TO\_EVENT\_SET\# (>B:\#IE\_PRESET\_ID\#\_Set)</DRAG\_CODE> <POSITIVE\_AXIS\_CODE>1 (>B:\#IE\_PRESET\_ID\#\_Inc)</POSITIVE\_AXIS\_CODE> <NEGATIVE\_AXIS\_CODE>1 (>B:\#IE\_PRESET\_ID\#\_Dec)</NEGATIVE\_AXIS\_CODE> <ANIM\_CODE>(B:\#IE\_PRESET\_ID\#, percent)</ANIM\_CODE> </Case> </Switch> <Switch Param="USE\_INPUT\_EVENT\_TEMPLATE"> <Case Value="Push"> <IS\_DIRECT\_EVENT>True</IS\_DIRECT\_EVENT> </Case> <Case Value="Pull"> <IS\_DIRECT\_EVENT>True</IS\_DIRECT\_EVENT> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TEMPLATE\_TO\_USE"> <Case Value="ASOBO\_GT\_Push\_Button\_Airliner"> <CREATE\_COMPONENT>Airliner</CREATE\_COMPONENT> </Case> </Switch> </Parameters> <Switch Param="CREATE\_COMPONENT"> <Case Value="True"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_Interaction\_Base\_SubTemplate"/> </Component> </Case> <Case Value="Airliner"> <Component ID="\#NODE\_ID\#\_IE\_Container"> <UseTemplate Name="ASOBO\_Interaction\_Base\_SubTemplate"> <INPUT\_EVENT\_ID>\#USE\_INPUT\_EVENT\_ID\#</INPUT\_EVENT\_ID> </UseTemplate> </Component> </Case> <Default> <UseTemplate Name="ASOBO\_Interaction\_Base\_SubTemplate"/> </Default> </Switch> </Template> Parameters initialization: - Default Parameters set: - WWISE\_PREFIX - IS\_EMISSIVE - USE\_INPUT\_EVENT\_TEMPLATE - CREATE\_COMPONENT - IE\_PRESET\_ID (using INPUT\_EVENT\_ID\_SOURCE, IE\_NAME) Condition: Switch(INTERACTION\_TYPE) - Case: Push Parameters set: - EXTRA\_OPTION - NUM\_STATES - Case: Switch Parameters set: - NUM\_STATES - Case: Knob Parameters set: - IS\_INFINITE Condition: Switch(KNOB\_TYPE) - Case: X\_STATES Parameters set: - NUM\_STATES - INTERACTION\_AXIS - Case: Lever Parameters set: - INTERACTION\_AXIS - DRAG\_VALUE\_TO\_EVENT\_SET - Override ParametersFn used: - [Compute\_First\_Available\_Bindings](templates/#Compute_First_Available_Bindings) - Default Condition: Switch(INTERACTION\_TYPE) - Case: Push Parameters set: - BTN\_ID (using IE\_NAME) - Case: Switch Parameters set: - BTN\_ID (using IE\_NAME) - ANIM - Case: Knob Condition: Switch(KNOB\_TYPE) - Case: X\_STATES Parameters set: - BTN\_ID (using IE\_NAME) - TT\_ICON - ANIM Condition: Switch(NUM\_STATES) - Case: 2 Parameters set: - TT\_INTERACTION - TT\_INTERACTION\_LOCKABLE - Default case: Parameters set: - TT\_INTERACTION (using INTERACTION\_AXIS) - TT\_INTERACTION\_LOCKABLE (using INTERACTION\_AXIS) Condition: Switch(INTERACTION\_AXIS) - Case: X Parameters set: - SWITCH\_DIRECTION - Case: Y Parameters set: - SWITCH\_DIRECTION - Default case: Parameters set: - KNOB\_ID (using IE\_NAME) Condition: Valid(IS\_INFINITE) - Case: True Parameters set: - KNOB\_INTERACTION\_TYPE - NO\_KNOB\_ANIM\_VAR\_UPDATE - Case: False Condition: NotEmpty(TEMPLATE\_VARIANT) - Case: True Parameters set: - KNOB\_INTERACTION\_TYPE - Case: False Parameters set: - KNOB\_INTERACTION\_TYPE Condition: Test(IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_1) - Case: True Parameters set: - TEMPLATE\_VARIANT - IE\_ID\_EXTERNAL\_0\_BINDING\_NAME - IE\_ID\_EXTERNAL\_1\_BINDING\_NAME - Case: False Condition: NotEmpty(IE\_ID\_EXTERNAL\_0) - Case: True Condition: Valid(IS\_TIMED) - Case: True Parameters set: - TEMPLATE\_VARIANT - IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\_RELEASE - Case: False Parameters set: - TEMPLATE\_VARIANT Condition: Valid(IS\_PULL) - Case: True Parameters set: - IE\_ID\_EXTERNAL\_0\_BINDING\_NAME - Case: False Condition: Switch(TEMPLATE\_VARIANT) - Case: Switch Parameters set: - IE\_ID\_EXTERNAL\_0\_BINDING\_NAME - Default case: Parameters set: - IE\_ID\_EXTERNAL\_0\_BINDING\_NAME - Case: False Parameters set: - TEMPLATE\_VARIANT - Case: Lever Condition: Switch(LEVER\_TYPE) - Case: 2\_STATES Parameters set: - BTN\_ID (using IE\_NAME) - TT\_ICON (using INTERACTION\_AXIS) - TT\_INTERACTION (using INTERACTION\_AXIS) - TT\_INTERACTION\_LOCKABLE (using INTERACTION\_AXIS) - ANIM - NUM\_STATES - ANIM\_LAG - DRAG\_SCALAR - ALWAYS\_USE\_ANIM\_LAG - STR\_STATE\_ON - STR\_STATE\_OFF - TT\_VALUE\_ON - TT\_VALUE\_OFF - Default case: Parameters set: - LEVER\_ID (using IE\_NAME) - Case: Joystick Parameters set: - BTN\_ID (using IE\_NAME) - TT\_ICON Condition: Switch(JOYSTICK\_TYPE) - Case: 5\_STATES Parameters set: - NUM\_STATES - STR\_STATE\_0 - STR\_STATE\_1 - STR\_STATE\_2 - STR\_STATE\_3 - STR\_STATE\_4 - TT\_VALUE\_0 - TT\_VALUE\_1 - TT\_VALUE\_2 - TT\_VALUE\_3 - TT\_VALUE\_4 - IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT - IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT - IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN - IE\_ID\_EXTERNAL\_1\_BINDING\_UP - IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY - IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY - GET\_STATE\_EXTERNAL (using IE\_PRESET\_ID) - ENUM\_VAL\_TO\_POS\_EXTERNAL - FREQUENCY - ON\_POS\_LEFT - ON\_POS\_RIGHT - ON\_POS\_DOWN - ON\_POS\_UP - ANIM - Default Condition: Switch - Case: NotEmpty(BTN\_ID) Condition: Switch(INTERACTION\_TYPE) - Case: Push Parameters set: - WWISE\_EVENT\_1 (using WWISE\_PREFIX) - NORMALIZED\_TIME\_1 - WWISE\_EVENT\_2 (using WWISE\_PREFIX) - NORMALIZED\_TIME\_2 - Case: Lever Parameters set: - WWISE\_EVENT\_1 (using WWISE\_PREFIX) - NORMALIZED\_TIME\_1 - WWISE\_EVENT\_2 (using WWISE\_PREFIX) - NORMALIZED\_TIME\_2 - Case: Joystick Parameters set: - WWISE\_JOYSTICK\_EVENT\_L (using WWISE\_PREFIX) - WWISE\_JOYSTICK\_EVENT\_R (using WWISE\_PREFIX) - WWISE\_JOYSTICK\_EVENT\_UP (using WWISE\_PREFIX) - WWISE\_JOYSTICK\_EVENT\_DN (using WWISE\_PREFIX) - NORMALIZED\_TIME\_1 - NORMALIZED\_TIME\_2 - Default case: Condition: Switch(NUM\_STATES) - Case: 2 Parameters set: - WWISE\_EVENT\_1 (using WWISE\_PREFIX) - NORMALIZED\_TIME\_1 - WWISE\_EVENT\_2 (using WWISE\_PREFIX) - NORMALIZED\_TIME\_2 - Default case: Condition: Switch(INTERACTION\_TYPE) - Case: Knob Parameters set: - WWISE\_EVENT (using WWISE\_PREFIX) - Default case: Parameters set: - WWISE\_EVENT (using WWISE\_PREFIX) Condition: NotEmpty(NUM\_STATES) - Case: True Parameters set: - MAX\_POS (using NUM\_STATES) - Case: NotEmpty(KNOB\_ID) Parameters set: - WWISE\_EVENT (using WWISE\_PREFIX) Condition: Switch - Case: NotEmpty(TEMPLATE\_VARIANT) Parameters set: - WWISE\_EVENT\_1 (using WWISE\_PREFIX) - NORMALIZED\_TIME\_1 - WWISE\_EVENT\_2 (using WWISE\_PREFIX) - NORMALIZED\_TIME\_2 - Case: NotEmpty(LEVER\_ID) Parameters set: - WWISE\_EVENT (using WWISE\_PREFIX) - Default Condition: Test(TOOLTIP\_TITLE, TOOLTIP\_TITLE\_ID) - Case: True Parameters read: - CUR\_ID Parameters set: - TOOLTIP\_ENTRY\_0 (using IE\_PRESET\_ID) - CUR\_ID - CUR\_TT\_ID (using CUR\_ID) - CUR\_IE\_ID\_EXTERNAL (using CUR\_ID) - TOOLTIP\_ENTRY\_\#CUR\_TT\_ID\# (using INPUT\_EVENT\_ID\_SOURCE, CUR\_IE\_ID\_EXTERNAL) Condition: Switch - Case: NotEmpty(BTN\_ID) Condition: NotEmpty(GET\_STATE\_EXTERNAL) - Case: True Condition: Switch(NUM\_STATES) - Case: 2 Parameters set: - SIM\_STATE\_IS\_ON\_EXTERNAL Condition: Switch(INTERACTION\_TYPE) - Case: Push Parameters set: - LEFT\_SINGLE\_CODE (using IE\_PRESET\_ID) Condition: Valid(IS\_AIRLINER) - Case: True Parameters set: - TEMPLATE\_TO\_USE - Case: False Parameters set: - TEMPLATE\_TO\_USE (using EXTRA\_OPTION) - Case: Lever Parameters set: - TEMPLATE\_TO\_USE - ANIM\_CODE (using IE\_PRESET\_ID) - UP\_CODE (using IE\_PRESET\_ID, STR\_STATE\_OFF) - DOWN\_CODE (using IE\_PRESET\_ID, STR\_STATE\_ON) - Default case: Parameters set: - TEMPLATE\_TO\_USE - ANIM\_CODE (using IE\_PRESET\_ID) - LEFT\_SINGLE\_CODE (using IE\_PRESET\_ID) - Default case: Condition: Switch(INTERACTION\_TYPE) - Case: Joystick Parameters set: - TEMPLATE\_TO\_USE Condition: Switch(JOYSTICK\_TYPE) - Case: 5\_STATES Parameters set: - JOYSTICK\_INTERACTION - IM\_DRAG\_ADDITIONAL\_EVENT\_HANDLING - ON\_UP\_EVENT (using IE\_PRESET\_ID, STR\_STATE\_4) - COMP\_INIT\_CODE (using IE\_PRESET\_ID, STR\_STATE\_4) - TOOLTIP\_ENTRY\_0 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0) - TOOLTIP\_ENTRY\_1 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_1) - TOOLTIP\_ENTRY\_2 Condition: Switch(JOYSTICK\_INTERACTION\_TYPE) - Case: POSITIONAL Parameters set: - USE\_PAD\_DRAG\_IM\_LOCK - COMP\_UPDATE\_CODE (using IE\_PRESET\_ID, ON\_POS\_LEFT, ON\_POS\_RIGHT, ON\_POS\_DOWN, ON\_POS\_UP) - JOYSTICK\_X\_CODE\_LEFT (using IE\_PRESET\_ID, STR\_STATE\_4, STR\_STATE\_0) - JOYSTICK\_X\_CODE\_RIGHT (using IE\_PRESET\_ID, STR\_STATE\_4, STR\_STATE\_1) - JOYSTICK\_Y\_CODE\_DOWN (using IE\_PRESET\_ID, STR\_STATE\_4, STR\_STATE\_2) - JOYSTICK\_Y\_CODE\_UP (using IE\_PRESET\_ID, STR\_STATE\_4, STR\_STATE\_3) - SET\_STATE\_0 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY) - SET\_STATE\_1 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY) - SET\_STATE\_2 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN) - SET\_STATE\_3 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_UP) - SET\_STATE\_4 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY) - USE\_DEFAULT\_ANIMATION - ANIM\_CODE\_AXIS\_X (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0) - ANIM\_CODE\_AXIS\_Y (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_1) - Default case: Parameters set: - JOYSTICK\_X\_CODE\_LEFT (using IE\_PRESET\_ID, STR\_STATE\_0) - JOYSTICK\_X\_CODE\_RIGHT (using IE\_PRESET\_ID, STR\_STATE\_1) - JOYSTICK\_Y\_CODE\_DOWN (using IE\_PRESET\_ID, STR\_STATE\_2) - JOYSTICK\_Y\_CODE\_UP (using IE\_PRESET\_ID, STR\_STATE\_3) - SET\_STATE\_0 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_LEFT) - SET\_STATE\_1 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_RIGHT) - SET\_STATE\_2 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_DOWN) - SET\_STATE\_3 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_UP) - SET\_STATE\_4 (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_STANDBY, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_STANDBY) - Default case: Parameters read: - MAX\_POS Parameters set: - TEMPLATE\_TO\_USE - CUR\_ID - ID\_POS (using CUR\_ID) - CODE\_POS\_\#CUR\_ID\# (using IE\_PRESET\_ID, ID\_POS) - STATE\#CUR\_ID\#\_TEST (using IE\_PRESET\_ID, CUR\_ID) Condition: NotEmpty(ON\_STATE\_CHANGED\_EXTERNAL\_CODE) - Case: True Parameters set: - DISABLE\_ON\_STATE\_CHANGED\_EXTERNAL\_CODE\_IN\_MR Condition: NotEmpty(TT\_VALUE\_\#CUR\_ID\#) - Case: False Parameters set: - TT\_VALUE\_\#CUR\_ID\# - TT\_VALUE\_\#CUR\_ID\#\_IS\_DYNAMIC - Case: False Parameters set: - LEFT\_SINGLE\_CODE (using IE\_PRESET\_ID) - BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\# - BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0 Condition: Valid(IS\_AIRLINER) - Case: True Parameters set: - TEMPLATE\_TO\_USE - Case: False Condition: Valid(NO\_PUSH\_ANIMATION) - Case: True Parameters set: - TEMPLATE\_TO\_USE - Case: False Parameters set: - TEMPLATE\_TO\_USE (using EXTRA\_OPTION) Condition: NotEmpty(EVENT\_ID) - Case: True Parameters set: - BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_EVENT\_ID (using EVENT\_ID) Condition: Switch(EXTRA\_OPTION) - Case: \_Timed Parameters set: - LEFT\_LEAVE\_CODE (using IE\_PRESET\_ID) - IS\_TIMED Condition: Switch(TIMED\_TYPE) - Case: X\_EVENTS Parameters set: - RELEASE\_EVENT - LONG\_CLICK\_CODE\_1 (using IE\_PRESET\_ID) - Default case: Parameters set: - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\# - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0 - Case: \_Held Parameters set: - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\# - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0 - ANIM\_HANDLED\_SEPARATELY - LEFT\_LEAVE\_CODE (using IE\_PRESET\_ID) - IS\_TIMED - Case: NotEmpty(KNOB\_ID) Parameters set: - CLOCKWISE\_CODE (using IE\_PRESET\_ID) - ANTICLOCKWISE\_CODE (using IE\_PRESET\_ID) - ANIM\_CODE (using IE\_PRESET\_ID) Condition: NotEmpty(TEMPLATE\_VARIANT) - Case: True Parameters set: - TEMPLATE\_TO\_USE (using KNOB\_INTERACTION\_TYPE, TEMPLATE\_VARIANT) - Case: False Parameters set: - TEMPLATE\_TO\_USE (using KNOB\_INTERACTION\_TYPE) Condition: Switch(TEMPLATE\_VARIANT) - Case: Switch Parameters set: - LEFT\_SINGLE\_CODE (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_NAME) - Case: Push Parameters set: - LEFT\_SINGLE\_CODE (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_NAME) - Case: PushPull Parameters set: - PUSH\_CODE (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_NAME) - PULL\_CODE (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_1, IE\_ID\_EXTERNAL\_1\_BINDING\_NAME) - Case: Push\_Timed Parameters set: - LEFT\_SINGLE\_CODE (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_NAME) - LEFT\_LEAVE\_CODE (using INPUT\_EVENT\_ID\_SOURCE, IE\_ID\_EXTERNAL\_0, IE\_ID\_EXTERNAL\_0\_BINDING\_NAME\_RELEASE) - TIMER\_EVENTS\_HANDLED\_EXTERNALLY - LOCKABLE\_EVENT\_SECONDARY - NO\_LOCK\_EVENT\_SECONDARY - MOUSEFLAGS\_DRAG\_IM - LONG\_CLICK\_TIME - Case: NotEmpty(LEVER\_ID) Parameters set: - TEMPLATE\_TO\_USE - CURSOR - NO\_ARROWS - USE\_TRAJECTORY\_DRAG\_MODE - DRAG\_CODE (using DRAG\_VALUE\_TO\_EVENT\_SET, IE\_PRESET\_ID) - POSITIVE\_AXIS\_CODE (using IE\_PRESET\_ID) - NEGATIVE\_AXIS\_CODE (using IE\_PRESET\_ID) - ANIM\_CODE (using IE\_PRESET\_ID) Condition: Switch(USE\_INPUT\_EVENT\_TEMPLATE) - Case: Push Parameters set: - IS\_DIRECT\_EVENT - Case: Pull Parameters set: - IS\_DIRECT\_EVENT - Override Condition: Switch(TEMPLATE\_TO\_USE) - Case: ASOBO\_GT\_Push\_Button\_Airliner Parameters set: - CREATE\_COMPONENT Condition: Switch(CREATE\_COMPONENT) - Case: True Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_Interaction\_Base\_SubTemplate](templates/#ASOBO_Interaction_Base_SubTemplate) - May include a subtemplate using the parameter 'EMISSIVE\_TEMPLATE\_TO\_USE' and resolve to the following template(s): - [ASOBO\_GT\_Emissive\_Gauge](../generic/emissive/#ASOBO_GT_Emissive_Gauge) - May include a subtemplate using the parameter 'USE\_INPUT\_EVENT\_TEMPLATE' and resolve to the following template(s): - Default - May include a subtemplate using the parameter 'TEMPLATE\_TO\_USE' and resolve to the following template(s): - [ASOBO\_GT\_Joystick\_Interaction\_Knob](../generic/complex/joystick/#ASOBO_GT_Joystick_Interaction_Knob) - [ASOBO\_GT\_Lever\_DraggingYAxis\_Code](../generic/complex/lever/#ASOBO_GT_Lever_DraggingYAxis_Code) - [ASOBO\_GT\_Push\_Button\_Airliner](../generic/complex/pushbutton/#ASOBO_GT_Push_Button_Airliner) - ASOBO\_GT\_Push\_Button\#EXTRA\_OPTION\# - [ASOBO\_GT\_Switch\_Code](../generic/complex/switch/#ASOBO_GT_Switch_Code) - [ASOBO\_GT\_Switch\_XStates](../generic/complex/switch/#ASOBO_GT_Switch_XStates) - [ASOBO\_GT\_Interaction\_LeftSingle\_Code](../generic/interactions/#ASOBO_GT_Interaction_LeftSingle_Code) - ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\#\_\#TEMPLATE\_VARIANT\# - ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\# - [ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis](../generic/complex/lever/#ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis) - Case: Airliner Parameters read: - NODE\_ID Components: - \#NODE\_ID\#\_IE\_Container   Templates used: - [ASOBO\_Interaction\_Base\_SubTemplate](templates/#ASOBO_Interaction_Base_SubTemplate) - May include a subtemplate using the parameter 'EMISSIVE\_TEMPLATE\_TO\_USE' and resolve to the following template(s): - [ASOBO\_GT\_Emissive\_Gauge](../generic/emissive/#ASOBO_GT_Emissive_Gauge) - May include a subtemplate using the parameter 'USE\_INPUT\_EVENT\_TEMPLATE' and resolve to the following template(s): - Default - May include a subtemplate using the parameter 'TEMPLATE\_TO\_USE' and resolve to the following template(s): - [ASOBO\_GT\_Joystick\_Interaction\_Knob](../generic/complex/joystick/#ASOBO_GT_Joystick_Interaction_Knob) - [ASOBO\_GT\_Lever\_DraggingYAxis\_Code](../generic/complex/lever/#ASOBO_GT_Lever_DraggingYAxis_Code) - [ASOBO\_GT\_Push\_Button\_Airliner](../generic/complex/pushbutton/#ASOBO_GT_Push_Button_Airliner) - ASOBO\_GT\_Push\_Button\#EXTRA\_OPTION\# - [ASOBO\_GT\_Switch\_Code](../generic/complex/switch/#ASOBO_GT_Switch_Code) - [ASOBO\_GT\_Switch\_XStates](../generic/complex/switch/#ASOBO_GT_Switch_XStates) - [ASOBO\_GT\_Interaction\_LeftSingle\_Code](../generic/interactions/#ASOBO_GT_Interaction_LeftSingle_Code) - ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\#\_\#TEMPLATE\_VARIANT\# - ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\# - [ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis](../generic/complex/lever/#ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis) Parameters set: - INPUT\_EVENT\_ID (using USE\_INPUT\_EVENT\_ID) - Default case:   Templates used: - [ASOBO\_Interaction\_Base\_SubTemplate](templates/#ASOBO_Interaction_Base_SubTemplate) - May include a subtemplate using the parameter 'EMISSIVE\_TEMPLATE\_TO\_USE' and resolve to the following template(s): - [ASOBO\_GT\_Emissive\_Gauge](../generic/emissive/#ASOBO_GT_Emissive_Gauge) - May include a subtemplate using the parameter 'USE\_INPUT\_EVENT\_TEMPLATE' and resolve to the following template(s): - Default - May include a subtemplate using the parameter 'TEMPLATE\_TO\_USE' and resolve to the following template(s): - [ASOBO\_GT\_Joystick\_Interaction\_Knob](../generic/complex/joystick/#ASOBO_GT_Joystick_Interaction_Knob) - [ASOBO\_GT\_Lever\_DraggingYAxis\_Code](../generic/complex/lever/#ASOBO_GT_Lever_DraggingYAxis_Code) - [ASOBO\_GT\_Push\_Button\_Airliner](../generic/complex/pushbutton/#ASOBO_GT_Push_Button_Airliner) - ASOBO\_GT\_Push\_Button\#EXTRA\_OPTION\# - [ASOBO\_GT\_Switch\_Code](../generic/complex/switch/#ASOBO_GT_Switch_Code) - [ASOBO\_GT\_Switch\_XStates](../generic/complex/switch/#ASOBO_GT_Switch_XStates) - [ASOBO\_GT\_Interaction\_LeftSingle\_Code](../generic/interactions/#ASOBO_GT_Interaction_LeftSingle_Code) - ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\#\_\#TEMPLATE\_VARIANT\# - ASOBO\_GT\_Knob\_\#KNOB\_INTERACTION\_TYPE\# - [ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis](../generic/complex/lever/#ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis) [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html) - #### ASOBO\_Interaction\_Base\_SubTemplate Definition from XML <Template Name="ASOBO\_Interaction\_Base\_SubTemplate"> <Parameters Type="Default"> <Condition> <Test> <And> <Arg Valid="IS\_EMISSIVE"/> <Arg NotEmpty="EMISSIVE\_CODE"/> </And> </Test> <True> <EMISSIVE\_TEMPLATE\_TO\_USE>ASOBO\_GT\_Emissive\_Gauge</EMISSIVE\_TEMPLATE\_TO\_USE> </True> </Condition> </Parameters> <Condition NotEmpty="COMP\_INIT\_CODE"> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_ONCE>True</UPDATE\_ONCE> <UPDATE\_CODE>\#COMP\_INIT\_CODE\#</UPDATE\_CODE> </UseTemplate> </Condition> <Condition NotEmpty="COMP\_UPDATE\_CODE"> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_CODE>\#COMP\_UPDATE\_CODE\#</UPDATE\_CODE> </UseTemplate> </Condition> <Condition Valid="INPUT\_EVENT\_ID"> <False> <Switch Param="USE\_INPUT\_EVENT\_TEMPLATE"> <Case Value="Default"> <UseInputEvent ID="\#USE\_INPUT\_EVENT\_ID\#"/> </Case> <Case Value="Push"> <UseTemplate Name="ASOBO\_Interaction\_Push\_Event\_Base\_Template"/> </Case> <Case Value="Pull"> <UseTemplate Name="ASOBO\_Interaction\_Pull\_Event\_Base\_Template"/> </Case> <Default> <Condition NotEmpty="USE\_INPUT\_EVENT\_TEMPLATE"> <UseTemplate Name="\#USE\_INPUT\_EVENT\_TEMPLATE\#"/> </Condition> </Default> </Switch> </False> </Condition> <UseTemplate Name="\#TEMPLATE\_TO\_USE\#"> <Condition Valid="IS\_INOP"> <TOOLTIP\_TITLE/> <TOOLTIP\_TITLE\_ID/> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.INOP</TOOLTIPID> <DISABLE\_MOUSERECT>True</DISABLE\_MOUSERECT> <TOOLTIP\_DISABLED>True</TOOLTIP\_DISABLED> </Condition> </UseTemplate> <Condition NotEmpty="EMISSIVE\_TEMPLATE\_TO\_USE"> <UseTemplate Name="\#EMISSIVE\_TEMPLATE\_TO\_USE\#"/> </Condition> </Template> Parameters initialization: - Default Condition: Test(IS\_EMISSIVE, EMISSIVE\_CODE) - Case: True Parameters set: - EMISSIVE\_TEMPLATE\_TO\_USE Parameters read: - TEMPLATE\_TO\_USE   Templates used: - \#TEMPLATE\_TO\_USE\# - (Values for 'TEMPLATE\_TO\_USE' and templates it may resolve to were not found) Condition: Valid(IS\_INOP) - Case: True Parameters set: - TOOLTIP\_TITLE - TOOLTIP\_TITLE\_ID - TOOLTIPID - DISABLE\_MOUSERECT - TOOLTIP\_DISABLED Condition: NotEmpty(COMP\_INIT\_CODE) - Case: True   Templates used: - [ASOBO\_GT\_Update](../generic/updates/#ASOBO_GT_Update) Parameters set: - UPDATE\_ONCE - UPDATE\_CODE (using COMP\_INIT\_CODE) Condition: NotEmpty(COMP\_UPDATE\_CODE) - Case: True   Templates used: - [ASOBO\_GT\_Update](../generic/updates/#ASOBO_GT_Update) Parameters set: - UPDATE\_CODE (using COMP\_UPDATE\_CODE) Condition: Valid(INPUT\_EVENT\_ID) - Case: False Condition: Switch(USE\_INPUT\_EVENT\_TEMPLATE) - Case: Default Parameters read: - USE\_INPUT\_EVENT\_ID - Case: Push   Templates used: - [ASOBO\_Interaction\_Push\_Event\_Base\_Template](templates/#ASOBO_Interaction_Push_Event_Base_Template) - Case: Pull   Templates used: - [ASOBO\_Interaction\_Pull\_Event\_Base\_Template](templates/#ASOBO_Interaction_Pull_Event_Base_Template) - Default case: Condition: NotEmpty(USE\_INPUT\_EVENT\_TEMPLATE) - Case: True Parameters read: - USE\_INPUT\_EVENT\_TEMPLATE   Templates used: - \#USE\_INPUT\_EVENT\_TEMPLATE\# - (Values for 'USE\_INPUT\_EVENT\_TEMPLATE' and templates it may resolve to were not found) Condition: NotEmpty(EMISSIVE\_TEMPLATE\_TO\_USE) - Case: True Parameters read: - EMISSIVE\_TEMPLATE\_TO\_USE   Templates used: - \#EMISSIVE\_TEMPLATE\_TO\_USE\# - May resolve to the following template(s): - [ASOBO\_GT\_Emissive\_Gauge](../generic/emissive/#ASOBO_GT_Emissive_Gauge) [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html) - #### ASOBO\_Interaction\_Push\_Event\_Base\_Template Definition from XML <Template Name="ASOBO\_Interaction\_Push\_Event\_Base\_Template"> <UseTemplate Name="ASOBO\_Interaction\_Single\_Event\_Base\_Template"> <EVENT\_TYPE>Push</EVENT\_TYPE> <Condition Valid="IS\_TIMED"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <Condition NotEmpty="ON\_PUSH\_EVENT\_LONG\_1"> <ON\_EVENT\_LONG\_1>\#ON\_PUSH\_EVENT\_LONG\_1\#</ON\_EVENT\_LONG\_1> </Condition> <Condition NotEmpty="ON\_PUSH\_EVENT\_LONG\_2"> <ON\_EVENT\_LONG\_2>\#ON\_PUSH\_EVENT\_LONG\_2\#</ON\_EVENT\_LONG\_2> </Condition> </Case> <Default> <Condition NotEmpty="ON\_PUSH\_EVENT\_LONG"> <ON\_EVENT\_LONG>\#ON\_PUSH\_EVENT\_LONG\#</ON\_EVENT\_LONG> </Condition> </Default> </Switch> </Condition> <Condition NotEmpty="ON\_PUSH\_EVENT"> <ON\_EVENT>\#ON\_PUSH\_EVENT\#</ON\_EVENT> </Condition> </UseTemplate> </Template>   Templates used: - [ASOBO\_Interaction\_Single\_Event\_Base\_Template](templates/#ASOBO_Interaction_Single_Event_Base_Template) Parameters set: - EVENT\_TYPE Condition: Valid(IS\_TIMED) - Case: True Condition: Switch(TIMED\_TYPE) - Case: X\_EVENTS Condition: NotEmpty(ON\_PUSH\_EVENT\_LONG\_1) - Case: True Parameters set: - ON\_EVENT\_LONG\_1 (using ON\_PUSH\_EVENT\_LONG\_1) Condition: NotEmpty(ON\_PUSH\_EVENT\_LONG\_2) - Case: True Parameters set: - ON\_EVENT\_LONG\_2 (using ON\_PUSH\_EVENT\_LONG\_2) - Default case: Condition: NotEmpty(ON\_PUSH\_EVENT\_LONG) - Case: True Parameters set: - ON\_EVENT\_LONG (using ON\_PUSH\_EVENT\_LONG) Condition: NotEmpty(ON\_PUSH\_EVENT) - Case: True Parameters set: - ON\_EVENT (using ON\_PUSH\_EVENT) [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html) - #### ASOBO\_Interaction\_Pull\_Event\_Base\_Template Definition from XML <Template Name="ASOBO\_Interaction\_Pull\_Event\_Base\_Template"> <UseTemplate Name="ASOBO\_Interaction\_Single\_Event\_Base\_Template"> <EVENT\_TYPE>Pull</EVENT\_TYPE> <Condition Valid="IS\_TIMED"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <Condition NotEmpty="ON\_PULL\_EVENT\_LONG\_1"> <ON\_EVENT\_LONG\_1>\#ON\_PULL\_EVENT\_LONG\_1\#</ON\_EVENT\_LONG\_1> </Condition> <Condition NotEmpty="ON\_PULL\_EVENT\_LONG\_2"> <ON\_EVENT\_LONG\_2>\#ON\_PULL\_EVENT\_LONG\_2\#</ON\_EVENT\_LONG\_2> </Condition> </Case> <Default> <Condition NotEmpty="ON\_PULL\_EVENT\_LONG"> <ON\_EVENT\_LONG>\#ON\_PULL\_EVENT\_LONG\#</ON\_EVENT\_LONG> </Condition> </Default> </Switch> </Condition> <Condition NotEmpty="ON\_PULL\_EVENT"> <ON\_EVENT>\#ON\_PULL\_EVENT\#</ON\_EVENT> </Condition> </UseTemplate> </Template>   Templates used: - [ASOBO\_Interaction\_Single\_Event\_Base\_Template](templates/#ASOBO_Interaction_Single_Event_Base_Template) Parameters set: - EVENT\_TYPE Condition: Valid(IS\_TIMED) - Case: True Condition: Switch(TIMED\_TYPE) - Case: X\_EVENTS Condition: NotEmpty(ON\_PULL\_EVENT\_LONG\_1) - Case: True Parameters set: - ON\_EVENT\_LONG\_1 (using ON\_PULL\_EVENT\_LONG\_1) Condition: NotEmpty(ON\_PULL\_EVENT\_LONG\_2) - Case: True Parameters set: - ON\_EVENT\_LONG\_2 (using ON\_PULL\_EVENT\_LONG\_2) - Default case: Condition: NotEmpty(ON\_PULL\_EVENT\_LONG) - Case: True Parameters set: - ON\_EVENT\_LONG (using ON\_PULL\_EVENT\_LONG) Condition: NotEmpty(ON\_PULL\_EVENT) - Case: True Parameters set: - ON\_EVENT (using ON\_PULL\_EVENT) [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html) - #### ASOBO\_Interaction\_Single\_Event\_Base\_Template Definition from XML <Template Name="ASOBO\_Interaction\_Single\_Event\_Base\_Template"> <Parameters Type="Default"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <Loop> <Setup> <Param>CUR\_ID</Param> <From>1</From> <Inc>1</Inc> <To>\#TIMED\_EVENTS\_COUNT\#</To> </Setup> <Do> <ON\_EVENT\_LONG\_\#CUR\_ID\#/> <LONG\_CLICK\_TIME\_\#CUR\_ID\#>\#CUR\_ID\#</LONG\_CLICK\_TIME\_\#CUR\_ID\#> </Do> </Loop> </Case> <Default> <ON\_EVENT\_LONG/> <LONG\_CLICK\_TIME>1</LONG\_CLICK\_TIME> </Default> </Switch> <ON\_EVENT/> <Condition NotEmpty="IE\_NAME"> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> </Condition> <Condition Valid="IS\_TIMED"> <RELEASE\_EVENT>True</RELEASE\_EVENT> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="Compute\_First\_Available\_Bindings"/> </Parameters> <Parameters Type="Default"> <Condition Valid="IS\_TIMED"> <True> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <SET\_ARG\_COUNT>2</SET\_ARG\_COUNT> <SET\_STATE\_EXTERNAL>sp0 l0 0 == if{ (O:\_PressTime) 0 > if{ (E:SIMULATION TIME, second) (O:\_PressTime) - \#LONG\_CLICK\_TIME\_1\# < if{ \#ON\_EVENT\# 1 (>O:\_ReleaseInteraction) } els{ (E:SIMULATION TIME, second) (O:\_PressTime) - \#LONG\_CLICK\_TIME\_2\# < if{ (O:\_Process\_Step) 0 == if{ \#ON\_EVENT\_LONG\_1\# (O:\_Process\_Step) 1 + (>O:\_Process\_Step) } } els{ (O:\_Process\_Step) 1 == if{ \#ON\_EVENT\_LONG\_2\# (O:\_Process\_Step) 1 + (>O:\_Process\_Step) } } } (O:\_ReleaseInteraction) if{ 0 (>O:\_PressTime) 0 (>O:\_PressForDuration) 0 (>O:\_ReleaseInteraction) 0 (>O:\_Process\_Step) } } } l0 1 == if{ (E:SIMULATION TIME, second) (>O:\_PressTime) p1 (>O:\_PressForDuration) 0 (>O:\_ReleaseInteraction) 0 (>O:\_Process\_Step) } </SET\_STATE\_EXTERNAL> </Case> <Default> <SET\_ARG\_COUNT>2</SET\_ARG\_COUNT> <SET\_STATE\_EXTERNAL>sp0 l0 0 == if{ (O:\_PressTime) 0 > if{ (E:SIMULATION TIME, second) (O:\_PressTime) - \#LONG\_CLICK\_TIME\# < if{ \#ON\_EVENT\# 0 (>O:\_PressTime) } els{ \#ON\_EVENT\_LONG\# 0 (>O:\_PressTime) } } } l0 1 == if{ (E:SIMULATION TIME, second) (>O:\_PressTime) p1 (>O:\_PressForDuration) } </SET\_STATE\_EXTERNAL> </Default> </Switch> </True> <False> <SET\_STATE\_EXTERNAL>if{ \#ON\_EVENT\# }</SET\_STATE\_EXTERNAL> </False> </Condition> <DEFAULT\_BINDING\_STR>\#EVENT\_TYPE\#</DEFAULT\_BINDING\_STR> <Condition Valid="IS\_TIMED"> <ANIM>EXTERNAL</ANIM> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <DEFAULT\_BINDING\_STR\_LONG\_1>\#EVENT\_TYPE\#\_Long\_1</DEFAULT\_BINDING\_STR\_LONG\_1> <DEFAULT\_BINDING\_STR\_LONG\_2>\#EVENT\_TYPE\#\_Long\_2</DEFAULT\_BINDING\_STR\_LONG\_2> </Case> <Default> <DEFAULT\_BINDING\_STR\_LONG>\#EVENT\_TYPE\#\_Long</DEFAULT\_BINDING\_STR\_LONG> </Default> </Switch> </Condition> <Switch Param="EVENT\_TYPE"> <Case Value="Push"> <Condition Valid="IS\_DIRECT\_EVENT"> <True> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> <TT\_ICON>Push</TT\_ICON> </True> <False> <TT\_INTERACTION>PRIMARY\_DOWN+SECONDARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>PRIMARY\_DOWN</TT\_INTERACTION\_LOCKABLE> <ANIM\_VAR>\_PushAnimVar</ANIM\_VAR> <TT\_ICON>Push</TT\_ICON> </False> </Condition> </Case> <Case Value="Pull"> <Condition Valid="IS\_DIRECT\_EVENT"> <True> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> <TT\_ICON>Pull</TT\_ICON> </True> <False> <TT\_INTERACTION>PRIMARY\_DOWN+TERTIARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>SECONDARY\_DOWN</TT\_INTERACTION\_LOCKABLE> <ANIM\_VAR>\_PullAnimVar</ANIM\_VAR> <TT\_ICON>Pull</TT\_ICON> </False> </Condition> </Case> </Switch> <Condition Valid="IS\_DIRECT\_EVENT"> <False> <ANIM>HOLD</ANIM> </False> </Condition> <Condition Valid="RELEASE\_EVENT"> <DEFAULT\_BINDING\_STR\_RELEASE>Release</DEFAULT\_BINDING\_STR\_RELEASE> </Condition> </Parameters> <UseInputEvent ID="\#USE\_INPUT\_EVENT\_ID\#"> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#>\#DEFAULT\_BINDING\_STR\#</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#> <BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0>1</BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0> <Condition Valid="IS\_TIMED"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#>\#DEFAULT\_BINDING\_STR\_LONG\_1\#</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0>1</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1>\#LONG\_CLICK\_TIME\_1\#</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1> <BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#>\#DEFAULT\_BINDING\_STR\_LONG\_2\#</BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#> <BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0>1</BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0> <BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1>\#LONG\_CLICK\_TIME\_2\#</BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1> </Case> <Default> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#>\#DEFAULT\_BINDING\_STR\_LONG\#</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0>1</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0> <BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1>\#LONG\_CLICK\_TIME\#</BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1> </Default> </Switch> <Condition Valid="RELEASE\_EVENT"> <Switch Param="TIMED\_TYPE"> <Case Value="X\_EVENTS"> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#>\#DEFAULT\_BINDING\_STR\_RELEASE\#</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>1 (>O:\_ReleaseInteraction)</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC>True</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC> <BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#>\#DEFAULT\_BINDING\_STR\_RELEASE\#\_Tick</BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>0 (>O:\_ReleaseInteraction)</BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> <BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC>True</BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC> </Case> <Default> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#>\#DEFAULT\_BINDING\_STR\_RELEASE\#</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#> <BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0>0</BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0> </Default> </Switch> </Condition> </Condition> </UseInputEvent> </Template> Parameters initialization: - Default Parameters set: - ON\_EVENT Condition: Switch(TIMED\_TYPE) - Case: X\_EVENTS Parameters read: - TIMED\_EVENTS\_COUNT Parameters set: - CUR\_ID - ON\_EVENT\_LONG\_\#CUR\_ID\# - LONG\_CLICK\_TIME\_\#CUR\_ID\# (using CUR\_ID) - Default case: Parameters set: - ON\_EVENT\_LONG - LONG\_CLICK\_TIME Condition: NotEmpty(IE\_NAME) - Case: True Parameters set: - BTN\_ID (using IE\_NAME) Condition: Valid(IS\_TIMED) - Case: True Parameters set: - RELEASE\_EVENT - Override ParametersFn used: - [Compute\_First\_Available\_Bindings](templates/#Compute_First_Available_Bindings) - Default Parameters set: - DEFAULT\_BINDING\_STR (using EVENT\_TYPE) Condition: Valid(IS\_TIMED) - Case: True Condition: Switch(TIMED\_TYPE) - Case: X\_EVENTS Parameters set: - SET\_ARG\_COUNT - SET\_STATE\_EXTERNAL (using LONG\_CLICK\_TIME\_1, ON\_EVENT, LONG\_CLICK\_TIME\_2, ON\_EVENT\_LONG\_1, ON\_EVENT\_LONG\_2) - Default case: Parameters set: - SET\_ARG\_COUNT - SET\_STATE\_EXTERNAL (using LONG\_CLICK\_TIME, ON\_EVENT, ON\_EVENT\_LONG) - Case: False Parameters set: - SET\_STATE\_EXTERNAL (using ON\_EVENT) Condition: Valid(IS\_TIMED) - Case: True Parameters set: - ANIM Condition: Switch(TIMED\_TYPE) - Case: X\_EVENTS Parameters set: - DEFAULT\_BINDING\_STR\_LONG\_1 (using EVENT\_TYPE) - DEFAULT\_BINDING\_STR\_LONG\_2 (using EVENT\_TYPE) - Default case: Parameters set: - DEFAULT\_BINDING\_STR\_LONG (using EVENT\_TYPE) Condition: Switch(EVENT\_TYPE) - Case: Push Condition: Valid(IS\_DIRECT\_EVENT) - Case: True Parameters set: - TT\_INTERACTION - TT\_INTERACTION\_LOCKABLE - TT\_ICON - Case: False Parameters set: - TT\_INTERACTION - TT\_INTERACTION\_LOCKABLE - ANIM\_VAR - TT\_ICON - Case: Pull Condition: Valid(IS\_DIRECT\_EVENT) - Case: True Parameters set: - TT\_INTERACTION - TT\_INTERACTION\_LOCKABLE - TT\_ICON - Case: False Parameters set: - TT\_INTERACTION - TT\_INTERACTION\_LOCKABLE - ANIM\_VAR - TT\_ICON Condition: Valid(IS\_DIRECT\_EVENT) - Case: False Parameters set: - ANIM Condition: Valid(RELEASE\_EVENT) - Case: True Parameters set: - DEFAULT\_BINDING\_STR\_RELEASE Parameters read: - USE\_INPUT\_EVENT\_ID Parameters set: - BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\# (using DEFAULT\_BINDING\_STR) - BINDING\_INC\_\#FIRST\_AVAILABLE\_INC\_BINDING\#\_PARAM\_0 Condition: Valid(IS\_TIMED) - Case: True Condition: Switch(TIMED\_TYPE) - Case: X\_EVENTS Parameters set: - BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\# (using DEFAULT\_BINDING\_STR\_LONG\_1) - BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0 - BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1 (using LONG\_CLICK\_TIME\_1) - BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\# (using DEFAULT\_BINDING\_STR\_LONG\_2) - BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0 - BINDING\_SET\_\#SECOND\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1 (using LONG\_CLICK\_TIME\_2) - Default case: Parameters set: - BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\# (using DEFAULT\_BINDING\_STR\_LONG) - BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_0 - BINDING\_SET\_\#FIRST\_AVAILABLE\_SET\_BINDING\#\_PARAM\_1 (using LONG\_CLICK\_TIME) Condition: Valid(RELEASE\_EVENT) - Case: True Condition: Switch(TIMED\_TYPE) - Case: X\_EVENTS Parameters set: - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\# (using DEFAULT\_BINDING\_STR\_RELEASE) - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0 - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC - BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\# (using DEFAULT\_BINDING\_STR\_RELEASE) - BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0 - BINDING\_DEC\_\#SECOND\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0\_IS\_DYNAMIC - Default case: Parameters set: - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\# (using DEFAULT\_BINDING\_STR\_RELEASE) - BINDING\_DEC\_\#FIRST\_AVAILABLE\_DEC\_BINDING\#\_PARAM\_0 [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html) - #### ASOBO\_Interaction\_Axis\_Event\_Base\_Template Definition from XML <Template Name="ASOBO\_Interaction\_Axis\_Event\_Base\_Template"> <Parameters Type="Default"> <Switch Param="AXIS"> <Case Value="X"> <DEFAULT\_BINDING\_STR\_DEC>Left</DEFAULT\_BINDING\_STR\_DEC> <DEFAULT\_BINDING\_STR\_INC>Right</DEFAULT\_BINDING\_STR\_INC> <Condition NotEmpty="LEFT\_CODE\_EXTERNAL"> <IE\_DEC\_CODE>\#LEFT\_CODE\_EXTERNAL\#</IE\_DEC\_CODE> </Condition> <Condition NotEmpty="RIGHT\_CODE\_EXTERNAL"> <IE\_INC\_CODE>\#RIGHT\_CODE\_EXTERNAL\#</IE\_INC\_CODE> </Condition> <POS\_DEC>0</POS\_DEC> <POS\_STANDBY>1</POS\_STANDBY> <POS\_INC>2</POS\_INC> </Case> <Case Value="Y"> <DEFAULT\_BINDING\_STR\_INC>Up</DEFAULT\_BINDING\_STR\_INC> <DEFAULT\_BINDING\_STR\_DEC>Down</DEFAULT\_BINDING\_STR\_DEC> <Condition NotEmpty="UP\_CODE\_EXTERNAL"> <IE\_INC\_CODE>\#UP\_CODE\_EXTERNAL\#</IE\_INC\_CODE> </Condition> <Condition NotEmpty="DOWN\_CODE\_EXTERNAL"> <IE\_DEC\_CODE>\#DOWN\_CODE\_EXTERNAL\#</IE\_DEC\_CODE> </Condition> <POS\_INC>0</POS\_INC> <POS\_STANDBY>1</POS\_STANDBY> <POS\_DEC>2</POS\_DEC> </Case> </Switch> <DEFAULT\_BINDING\_STR\_STANDBY>Standby</DEFAULT\_BINDING\_STR\_STANDBY> <TT\_ICON>MOVE\_AXIS</TT\_ICON> <TT\_INTERACTION>PRIMARY\_DOWN+\#AXIS\#\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>\#AXIS\#\_AXIS</TT\_INTERACTION\_LOCKABLE> <Condition Valid="IS\_DIRECT\_EVENT"> <False> <ANIM>EXTERNAL</ANIM> </False> </Condition> </Parameters> <Parameters Type="Default"> <TT\_VALUE\_INC/> <TT\_VALUE\_STANDBY/> <TT\_VALUE\_DEC/> <NUM\_STATES>3</NUM\_STATES> <BTN\_ID>\#IE\_NAME\#</BTN\_ID> <GET\_STATE\_EXTERNAL>(O:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#\_Position) sp0</GET\_STATE\_EXTERNAL> </Parameters> <Parameters Type="Default"> <IE\_INC\_CODE>\#POS\_INC\# (>O:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#\_Position)</IE\_INC\_CODE> <IE\_STANDBY\_CODE>\#POS\_STANDBY\# (>O:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#\_Position)</IE\_STANDBY\_CODE> <IE\_DEC\_CODE>\#POS\_DEC\# (>O:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#IE\_NAME\#\_Position)</IE\_DEC\_CODE> </Parameters> <UseInputEvent ID="\#USE\_INPUT\_EVENT\_ID\#"> <STR\_STATE\_\#POS\_INC\#>\#DEFAULT\_BINDING\_STR\_INC\#</STR\_STATE\_\#POS\_INC\#> <STR\_STATE\_\#POS\_STANDBY\#>\#DEFAULT\_BINDING\_STR\_STANDBY\#</STR\_STATE\_\#POS\_STANDBY\#> <STR\_STATE\_\#POS\_DEC\#>\#DEFAULT\_BINDING\_STR\_DEC\#</STR\_STATE\_\#POS\_DEC\#> <SET\_STATE\_\#POS\_INC\#>\#IE\_INC\_CODE\#</SET\_STATE\_\#POS\_INC\#> <SET\_STATE\_\#POS\_STANDBY\#>\#IE\_STANDBY\_CODE\#</SET\_STATE\_\#POS\_STANDBY\#> <SET\_STATE\_\#POS\_DEC\#>\#IE\_DEC\_CODE\#</SET\_STATE\_\#POS\_DEC\#> <Condition NotEmpty="TT\_VALUE"> <False> <TT\_VALUE\_\#POS\_INC\#>\#TT\_VALUE\_INC\#</TT\_VALUE\_\#POS\_INC\#> <TT\_VALUE\_\#POS\_STANDBY\#>\#TT\_VALUE\_STANDBY\#</TT\_VALUE\_\#POS\_STANDBY\#> <TT\_VALUE\_\#POS\_DEC\#>\#TT\_VALUE\_DEC\#</TT\_VALUE\_\#POS\_DEC\#> </False> </Condition> </UseInputEvent> </Template> Parameters initialization: - Default Parameters set: - DEFAULT\_BINDING\_STR\_STANDBY - TT\_ICON - TT\_INTERACTION (using AXIS) - TT\_INTERACTION\_LOCKABLE (using AXIS) Condition: Switch(AXIS) - Case: X Parameters set: - DEFAULT\_BINDING\_STR\_DEC - DEFAULT\_BINDING\_STR\_INC - POS\_DEC - POS\_STANDBY - POS\_INC Condition: NotEmpty(LEFT\_CODE\_EXTERNAL) - Case: True Parameters set: - IE\_DEC\_CODE (using LEFT\_CODE\_EXTERNAL) Condition: NotEmpty(RIGHT\_CODE\_EXTERNAL) - Case: True Parameters set: - IE\_INC\_CODE (using RIGHT\_CODE\_EXTERNAL) - Case: Y Parameters set: - DEFAULT\_BINDING\_STR\_INC - DEFAULT\_BINDING\_STR\_DEC - POS\_INC - POS\_STANDBY - POS\_DEC Condition: NotEmpty(UP\_CODE\_EXTERNAL) - Case: True Parameters set: - IE\_INC\_CODE (using UP\_CODE\_EXTERNAL) Condition: NotEmpty(DOWN\_CODE\_EXTERNAL) - Case: True Parameters set: - IE\_DEC\_CODE (using DOWN\_CODE\_EXTERNAL) Condition: Valid(IS\_DIRECT\_EVENT) - Case: False Parameters set: - ANIM - Default Parameters set: - TT\_VALUE\_INC - TT\_VALUE\_STANDBY - TT\_VALUE\_DEC - NUM\_STATES - BTN\_ID (using IE\_NAME) - GET\_STATE\_EXTERNAL (using INPUT\_EVENT\_ID\_SOURCE, IE\_NAME) - Default Parameters set: - IE\_INC\_CODE (using POS\_INC, INPUT\_EVENT\_ID\_SOURCE, IE\_NAME) - IE\_STANDBY\_CODE (using POS\_STANDBY, INPUT\_EVENT\_ID\_SOURCE, IE\_NAME) - IE\_DEC\_CODE (using POS\_DEC, INPUT\_EVENT\_ID\_SOURCE, IE\_NAME) Parameters read: - USE\_INPUT\_EVENT\_ID Parameters set: - STR\_STATE\_\#POS\_INC\# (using DEFAULT\_BINDING\_STR\_INC) - STR\_STATE\_\#POS\_STANDBY\# (using DEFAULT\_BINDING\_STR\_STANDBY) - STR\_STATE\_\#POS\_DEC\# (using DEFAULT\_BINDING\_STR\_DEC) - SET\_STATE\_\#POS\_INC\# (using IE\_INC\_CODE) - SET\_STATE\_\#POS\_STANDBY\# (using IE\_STANDBY\_CODE) - SET\_STATE\_\#POS\_DEC\# (using IE\_DEC\_CODE) Condition: NotEmpty(TT\_VALUE) - Case: False Parameters set: - TT\_VALUE\_\#POS\_INC\# (using TT\_VALUE\_INC) - TT\_VALUE\_\#POS\_STANDBY\# (using TT\_VALUE\_STANDBY) - TT\_VALUE\_\#POS\_DEC\# (using TT\_VALUE\_DEC) [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html) ### ParametersFn - #### Compute\_First\_Available\_Bindings Definition from XML <ParametersFn Name="Compute\_First\_Available\_Bindings"> <Parameters Type="Default"> <MAX\_INC\_BINDING>-1</MAX\_INC\_BINDING> <MAX\_DEC\_BINDING>-1</MAX\_DEC\_BINDING> <MAX\_SET\_BINDING>-1</MAX\_SET\_BINDING> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg NotEmpty="BINDING\_INC\_\#CUR\_ID\#"/> </While> </Setup> <Do> <MAX\_INC\_BINDING>\#CUR\_ID\#</MAX\_INC\_BINDING> </Do> </Loop> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg NotEmpty="BINDING\_DEC\_\#CUR\_ID\#"/> </While> </Setup> <Do> <MAX\_DEC\_BINDING>\#CUR\_ID\#</MAX\_DEC\_BINDING> </Do> </Loop> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg NotEmpty="BINDING\_SET\_\#CUR\_ID\#"/> </While> </Setup> <Do> <MAX\_SET\_BINDING>\#CUR\_ID\#</MAX\_SET\_BINDING> </Do> </Loop> </Parameters> <ReturnParameters> <FIRST\_AVAILABLE\_INC\_BINDING Process="Int">\#MAX\_INC\_BINDING\# 1 +</FIRST\_AVAILABLE\_INC\_BINDING> <SECOND\_AVAILABLE\_INC\_BINDING Process="Int">\#MAX\_INC\_BINDING\# 2 +</SECOND\_AVAILABLE\_INC\_BINDING> <THIRD\_AVAILABLE\_INC\_BINDING Process="Int">\#MAX\_INC\_BINDING\# 3 +</THIRD\_AVAILABLE\_INC\_BINDING> <FIRST\_AVAILABLE\_DEC\_BINDING Process="Int">\#MAX\_DEC\_BINDING\# 1 +</FIRST\_AVAILABLE\_DEC\_BINDING> <SECOND\_AVAILABLE\_DEC\_BINDING Process="Int">\#MAX\_DEC\_BINDING\# 2 +</SECOND\_AVAILABLE\_DEC\_BINDING> <THIRD\_AVAILABLE\_DEC\_BINDING Process="Int">\#MAX\_DEC\_BINDING\# 3 +</THIRD\_AVAILABLE\_DEC\_BINDING> <FIRST\_AVAILABLE\_SET\_BINDING Process="Int">\#MAX\_SET\_BINDING\# 1 +</FIRST\_AVAILABLE\_SET\_BINDING> <SECOND\_AVAILABLE\_SET\_BINDING Process="Int">\#MAX\_SET\_BINDING\# 2 +</SECOND\_AVAILABLE\_SET\_BINDING> <THIRD\_AVAILABLE\_SET\_BINDING Process="Int">\#MAX\_SET\_BINDING\# 3 +</THIRD\_AVAILABLE\_SET\_BINDING> </ReturnParameters> </ParametersFn> Parameters initialization: - Default Parameters set: - MAX\_INC\_BINDING - MAX\_DEC\_BINDING - MAX\_SET\_BINDING - Override Parameters read: - CUR\_ID Parameters set: - CUR\_ID - MAX\_INC\_BINDING (using CUR\_ID) - MAX\_DEC\_BINDING (using CUR\_ID) - MAX\_SET\_BINDING (using CUR\_ID) Return parameters: Parameters set: - FIRST\_AVAILABLE\_INC\_BINDING (using MAX\_INC\_BINDING) - SECOND\_AVAILABLE\_INC\_BINDING (using MAX\_INC\_BINDING) - THIRD\_AVAILABLE\_INC\_BINDING (using MAX\_INC\_BINDING) - FIRST\_AVAILABLE\_DEC\_BINDING (using MAX\_DEC\_BINDING) - SECOND\_AVAILABLE\_DEC\_BINDING (using MAX\_DEC\_BINDING) - THIRD\_AVAILABLE\_DEC\_BINDING (using MAX\_DEC\_BINDING) - FIRST\_AVAILABLE\_SET\_BINDING (using MAX\_SET\_BINDING) - SECOND\_AVAILABLE\_SET\_BINDING (using MAX\_SET\_BINDING) - THIRD\_AVAILABLE\_SET\_BINDING (using MAX\_SET\_BINDING)