# Templates [Go back to index]

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>(&gt;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>(&gt;B:#IE_PRESET_ID#_#STR_STATE_OFF#)</UP_CODE> <DOWN_CODE>(&gt;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>(&gt;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>(&gt;B:#IE_PRESET_ID#_#STR_STATE_4#)</ON_UP_EVENT> <COMP_INIT_CODE>(&gt;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 &lt; 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 (&gt;O:_IsLimited) (O:#IE_PRESET_ID#_Position) 4 != if{ (&gt;B:#IE_PRESET_ID#_#STR_STATE_4#) } els{ (&gt;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 (&gt;O:_IsLimited) (O:#IE_PRESET_ID#_Position) 4 != if{ (&gt;B:#IE_PRESET_ID#_#STR_STATE_4#) } els{ (&gt;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 (&gt;O:_IsLimited) (O:#IE_PRESET_ID#_Position) 4 != if{ (&gt;B:#IE_PRESET_ID#_#STR_STATE_4#) } els{ (&gt;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 (&gt;O:_IsLimited) (O:#IE_PRESET_ID#_Position) 4 != if{ (&gt;B:#IE_PRESET_ID#_#STR_STATE_4#) } els{ (&gt;B:#IE_PRESET_ID#_#STR_STATE_3#) } } </JOYSTICK_Y_CODE_UP> <SET_STATE_0> (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_LEFT#) (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_1#_#IE_ID_EXTERNAL_1_BINDING_STANDBY#) </SET_STATE_0> <SET_STATE_1> (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_RIGHT#) (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_1#_#IE_ID_EXTERNAL_1_BINDING_STANDBY#) </SET_STATE_1> <SET_STATE_2> (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_STANDBY#) (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_1#_#IE_ID_EXTERNAL_1_BINDING_DOWN#) </SET_STATE_2> <SET_STATE_3> (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_STANDBY#) (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_1#_#IE_ID_EXTERNAL_1_BINDING_UP#) </SET_STATE_3> <SET_STATE_4> (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_STANDBY#) (&gt;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>(&gt;B:#IE_PRESET_ID#_#STR_STATE_0#)</JOYSTICK_X_CODE_LEFT> <JOYSTICK_X_CODE_RIGHT>(&gt;B:#IE_PRESET_ID#_#STR_STATE_1#)</JOYSTICK_X_CODE_RIGHT> <JOYSTICK_Y_CODE_DOWN>(&gt;B:#IE_PRESET_ID#_#STR_STATE_2#)</JOYSTICK_Y_CODE_DOWN> <JOYSTICK_Y_CODE_UP>(&gt;B:#IE_PRESET_ID#_#STR_STATE_3#)</JOYSTICK_Y_CODE_UP> <SET_STATE_0>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_LEFT#)</SET_STATE_0> <SET_STATE_1>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_RIGHT#)</SET_STATE_1> <SET_STATE_2>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_1#_#IE_ID_EXTERNAL_1_BINDING_DOWN#)</SET_STATE_2> <SET_STATE_3>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_1#_#IE_ID_EXTERNAL_1_BINDING_UP#)</SET_STATE_3> <SET_STATE_4> (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_STANDBY#) (&gt;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#>(&gt;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>(&gt;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>(&gt;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>(&gt;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>(&gt;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 (&gt;B:#IE_PRESET_ID#_Inc)</CLOCKWISE_CODE> <ANTICLOCKWISE_CODE>1 (&gt;B:#IE_PRESET_ID#_Dec)</ANTICLOCKWISE_CODE> <Switch Param="TEMPLATE_VARIANT"> <Case Value="Switch"> <LEFT_SINGLE_CODE>(&gt;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>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_NAME#)</LEFT_SINGLE_CODE> </Case> <Case Value="PushPull"> <PUSH_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_NAME#)</PUSH_CODE> <PULL_CODE>(&gt;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>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID_EXTERNAL_0#_#IE_ID_EXTERNAL_0_BINDING_NAME#)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>(&gt;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# (&gt;B:#IE_PRESET_ID#_Set)</DRAG_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:#IE_PRESET_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;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 &gt; if{ (E:SIMULATION TIME, second) (O:_PressTime) - #LONG_CLICK_TIME_1# &lt; if{ #ON_EVENT# 1 (&gt;O:_ReleaseInteraction) } els{ (E:SIMULATION TIME, second) (O:_PressTime) - #LONG_CLICK_TIME_2# &lt; if{ (O:_Process_Step) 0 == if{ #ON_EVENT_LONG_1# (O:_Process_Step) 1 + (&gt;O:_Process_Step) } } els{ (O:_Process_Step) 1 == if{ #ON_EVENT_LONG_2# (O:_Process_Step) 1 + (&gt;O:_Process_Step) } } } (O:_ReleaseInteraction) if{ 0 (&gt;O:_PressTime) 0 (&gt;O:_PressForDuration) 0 (&gt;O:_ReleaseInteraction) 0 (&gt;O:_Process_Step) } } } l0 1 == if{ (E:SIMULATION TIME, second) (&gt;O:_PressTime) p1 (&gt;O:_PressForDuration) 0 (&gt;O:_ReleaseInteraction) 0 (&gt;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 &gt; if{ (E:SIMULATION TIME, second) (O:_PressTime) - #LONG_CLICK_TIME# &lt; if{ #ON_EVENT# 0 (&gt;O:_PressTime) } els{ #ON_EVENT_LONG# 0 (&gt;O:_PressTime) } } } l0 1 == if{ (E:SIMULATION TIME, second) (&gt;O:_PressTime) p1 (&gt;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 (&gt;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 (&gt;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# (&gt;O:#INPUT_EVENT_ID_SOURCE#_#IE_NAME#_Position)</IE_INC_CODE> <IE_STANDBY_CODE>#POS_STANDBY# (&gt;O:#INPUT_EVENT_ID_SOURCE#_#IE_NAME#_Position)</IE_STANDBY_CODE> <IE_DEC_CODE>#POS_DEC# (&gt;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
  2. ASOBO_Interaction_Base_SubTemplate
  3. ASOBO_Interaction_Push_Event_Base_Template
  4. ASOBO_Interaction_Pull_Event_Base_Template
  5. ASOBO_Interaction_Single_Event_Base_Template
  6. ASOBO_Interaction_Axis_Event_Base_Template

ParametersFn