[Go back to index]

Asobo\Common\Subtemplates\Passenger_Subtemplates.xml

Source XML
<ModelBehaviors> <Template Name="ASOBO_PASSENGER_Cabin_Air_SubTemplate"> <Parameters Type="Default"> <WWISE_PREFIX>cabin_heat</WWISE_PREFIX> <NODE_ID>PASSENGER_#INTERACTION_TYPE#_Cabin_Air#SUFFIX_ID#</NODE_ID> <ANIM_NAME>PASSENGER_#INTERACTION_TYPE#_Cabin_Air#SUFFIX_ID#</ANIM_NAME> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition NotEmpty="BUTTON_NODE_ID"> <BUTTON_ANIM_NAME>#BUTTON_NODE_ID#</BUTTON_ANIM_NAME> <USE_BUTTON>True</USE_BUTTON> </Condition> </Case> </Switch> <TOOLTIP_TITLE>@TT_Package.CABIN_AIR_FLOW_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.CABIN_AIR_FLOW_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseTemplate Name="ASOBO_PASSENGER_Cabin_Base_Template"> <IE_ID>Cabin_Air#SUFFIX_ID#</IE_ID> </UseTemplate> </Template> <Template Name="ASOBO_PASSENGER_Cabin_Heat_SubTemplate"> <Parameters Type="Default"> <WWISE_PREFIX>cabin_heat</WWISE_PREFIX> <NODE_ID>PASSENGER_#INTERACTION_TYPE#_Cabin_Heat#SUFFIX_ID#</NODE_ID> <ANIM_NAME>PASSENGER_#INTERACTION_TYPE#_Cabin_Heat#SUFFIX_ID#</ANIM_NAME> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition NotEmpty="BUTTON_NODE_ID"> <BUTTON_ANIM_NAME>#BUTTON_NODE_ID#</BUTTON_ANIM_NAME> <USE_BUTTON>True</USE_BUTTON> </Condition> </Case> </Switch> <TOOLTIP_TITLE>@TT_Package.CABIN_HOT_AIR_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.CABIN_HOT_AIR_ACTION_SET</TT_DESCRIPTION_ID> </Parameters> <UseTemplate Name="ASOBO_PASSENGER_Cabin_Base_Template"> <IE_ID>Cabin_Heat#SUFFIX_ID#</IE_ID> </UseTemplate> </Template> <Template Name="ASOBO_PASSENGER_Cabin_Base_Template"> <Parameters Type="Default"> <INPUT_EVENT_ID_SOURCE>PASSENGER</INPUT_EVENT_ID_SOURCE> <USE_INPUT_EVENT_ID>PASSENGER</USE_INPUT_EVENT_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <NUM_STATES>2</NUM_STATES> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#IE_ID#</TOOLTIP_ENTRY_0> <ANIM_LENGTH>100</ANIM_LENGTH> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <WWISE_EVENT_1>#WWISE_PREFIX#_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_PREFIX#_switch_off</WWISE_EVENT_2> <SWITCH_ANIM_VAR>XMLVAR_#IE_ID#_Position</SWITCH_ANIM_VAR> <SWITCH_ANIM_SCOPE>O</SWITCH_ANIM_SCOPE> <MAX_POS Process="Int">#NUM_STATES# 1 -</MAX_POS> </Case> <Case Value="Lever"> <AXIS_INCREMENT>5</AXIS_INCREMENT> <AXIS>Y</AXIS> <WWISE_EVENT_1_LEVER>#WWISE_PREFIX#_lever_on</WWISE_EVENT_1_LEVER> <WWISE_EVENT_2_LEVER>#WWISE_PREFIX#_lever_off</WWISE_EVENT_2_LEVER> <LEVER_ANIM_VAR>XMLVAR_#IE_ID#_Position</LEVER_ANIM_VAR> <LEVER_ANIM_SCOPE>O</LEVER_ANIM_SCOPE> <Condition Valid="USE_BUTTON"> <LEVER_BUTTON_ANIM_VAR>XMLVAR_Interacting_With_Lever_#INPUT_EVENT_ID_SOURCE#_#IE_ID#</LEVER_BUTTON_ANIM_VAR> <LEVER_BUTTON_ANIM_SCOPE>I</LEVER_BUTTON_ANIM_SCOPE> <WWISE_EVENT_1_LEVER_BUTTON>#WWISE_PREFIX#_lever_button_on</WWISE_EVENT_1_LEVER_BUTTON> <WWISE_EVENT_2_LEVER_BUTTON>#WWISE_PREFIX#_lever_button_off</WWISE_EVENT_2_LEVER_BUTTON> </Condition> </Case> <Case Value="Knob"> <WWISE_EVENT>#WWISE_PREFIX#_knob</WWISE_EVENT> <COUNT>20</COUNT> <KNOB_ANIM_SCOPE>O</KNOB_ANIM_SCOPE> <KNOB_ANIM_VAR>XMLVAR_#IE_ID#_Position</KNOB_ANIM_VAR> <KNOB_SPEED>5</KNOB_SPEED> <THRESHOLD_INPUT>0.0001 </THRESHOLD_INPUT> <THRESHOLD_MOUSE>0.005</THRESHOLD_MOUSE> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Condition Check="NUM_STATES" Match="2"> <False> <Loop> <Setup> <Param>CUR_ID</Param> <From>0</From> <Inc>1</Inc> <To>#MAX_POS#</To> </Setup> <Do> <Parameters Type="Override"> <Condition NotEmpty="STR_STATE_#CUR_ID#"> <False> <STR_STATE_#CUR_ID#>#CUR_ID#</STR_STATE_#CUR_ID#> </False> </Condition> </Parameters> <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> <STR_STATE_#CUR_ID#>#ID_POS#</STR_STATE_#CUR_ID#> <SET_STATE_#CUR_ID#>#CUR_ID# (&gt;#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#)</SET_STATE_#CUR_ID#> <CODE_POS_#CUR_ID#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_#ID_POS#)</CODE_POS_#CUR_ID#> <STATE#CUR_ID#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#) #CUR_ID# ==</STATE#CUR_ID#_TEST> </Do> </Loop> </False> </Condition> </Case> <Case Value="Lever"> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> </Case> <Case Value="Knob"> <WRAP>False</WRAP> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="NUM_STATES"> <Case Value="2"> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <BTN_ID>#IE_ID#</BTN_ID> <GET_STATE_EXTERNAL>(#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#) sp0</GET_STATE_EXTERNAL> <SET_STATE_ON>1 (&gt;#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#)</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#)</SET_STATE_OFF> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <ANIM_CODE>(#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#) #ANIM_LENGTH# *</ANIM_CODE> <LEFT_SINGLE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Case> <Default> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <BTN_ID>#IE_ID#</BTN_ID> <GET_STATE_EXTERNAL>(#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_XStates"/> </Default> </Switch> </Case> <Case Value="Lever"> <Condition Valid="USE_BUTTON"> <True> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_LAG>800</ANIM_LAG> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <ANIM_CODE>(#LEVER_BUTTON_ANIM_SCOPE#:#LEVER_BUTTON_ANIM_VAR#) 100 *</ANIM_CODE> <ANIM_LENGTH>100</ANIM_LENGTH> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_EVENT_1_LEVER_BUTTON#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_EVENT_2_LEVER_BUTTON#</WWISE_EVENT_2> </UseTemplate> </True> </Condition> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <LEVER_ID>#IE_ID#</LEVER_ID> <SET_STATE_EXTERNAL>(&gt;#LEVER_ANIM_SCOPE#:#LEVER_ANIM_VAR#)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(#LEVER_ANIM_SCOPE#:#LEVER_ANIM_VAR#)</GET_STATE_EXTERNAL> <MAX_VALUE>#ANIM_LENGTH#</MAX_VALUE> <NO_ANIM_VAR_UPDATE>True</NO_ANIM_VAR_UPDATE> <INC_PARAM_0>#AXIS_INCREMENT# p0 *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>#AXIS_INCREMENT# p0 *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <Condition Valid="USE_BUTTON"> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <LOCK_CODE>1 (&gt;#LEVER_BUTTON_ANIM_SCOPE#:#LEVER_BUTTON_ANIM_VAR#)</LOCK_CODE> <UNLOCK_CODE>0 (&gt;#LEVER_BUTTON_ANIM_SCOPE#:#LEVER_BUTTON_ANIM_VAR#)</UNLOCK_CODE> </Condition> <ANIM_CODE>(#LEVER_ANIM_SCOPE#:#LEVER_ANIM_VAR#)</ANIM_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Dec)</NEGATIVE_AXIS_CODE> <DRAG_CODE>#ANIM_LENGTH# (M:DragPercent) * (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Set)</DRAG_CODE> <NO_ARROWS/> <CURSOR>Grab</CURSOR> <WWISE_EVENT_1>#WWISE_EVENT_1_LEVER#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_EVENT_2_LEVER#</WWISE_EVENT_2> </UseTemplate> </Case> <Case Value="Knob"> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <KNOB_ID>#IE_ID#</KNOB_ID> <SET_STATE_EXTERNAL>(&gt;#KNOB_ANIM_SCOPE#:#KNOB_ANIM_VAR#)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(#KNOB_ANIM_SCOPE#:#KNOB_ANIM_VAR#)</GET_STATE_EXTERNAL> <MAX_VALUE>#ANIM_LENGTH#</MAX_VALUE> <NO_ANIM_VAR_UPDATE>True</NO_ANIM_VAR_UPDATE> <INC_PARAM_0>#KNOB_SPEED# p0 *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>#KNOB_SPEED# p0 *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> </UseInputEvent> <Condition NotEmpty="INIT_VALUE"> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#INIT_VALUE# (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Set)</UPDATE_CODE> </UseTemplate> </Condition> <UseTemplate Name="ASOBO_GT_Knob_Finite_Code"> <CLOCKWISE_CODE>1 (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Inc)</CLOCKWISE_CODE> <ANTICLOCKWISE_CODE>1 (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Dec)</ANTICLOCKWISE_CODE> <ANIM_CODE>(#KNOB_ANIM_SCOPE#:#KNOB_ANIM_VAR#)</ANIM_CODE> </UseTemplate> </Case> </Switch> </Component> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template> </ModelBehaviors>

Templates

Template list
  • ASOBO_PASSENGER_Cabin_Air_SubTemplate

    Definition from XML
    <Template Name="ASOBO_PASSENGER_Cabin_Air_SubTemplate"> <Parameters Type="Default"> <WWISE_PREFIX>cabin_heat</WWISE_PREFIX> <NODE_ID>PASSENGER_#INTERACTION_TYPE#_Cabin_Air#SUFFIX_ID#</NODE_ID> <ANIM_NAME>PASSENGER_#INTERACTION_TYPE#_Cabin_Air#SUFFIX_ID#</ANIM_NAME> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition NotEmpty="BUTTON_NODE_ID"> <BUTTON_ANIM_NAME>#BUTTON_NODE_ID#</BUTTON_ANIM_NAME> <USE_BUTTON>True</USE_BUTTON> </Condition> </Case> </Switch> <TOOLTIP_TITLE>@TT_Package.CABIN_AIR_FLOW_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.CABIN_AIR_FLOW_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseTemplate Name="ASOBO_PASSENGER_Cabin_Base_Template"> <IE_ID>Cabin_Air#SUFFIX_ID#</IE_ID> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • WWISE_PREFIX
      • NODE_ID (using INTERACTION_TYPE, SUFFIX_ID)
      • ANIM_NAME (using INTERACTION_TYPE, SUFFIX_ID)
      • TOOLTIP_TITLE
      • TT_DESCRIPTION_ID

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Condition: NotEmpty(BUTTON_NODE_ID)

        • Case: True

          Parameters set:

          • BUTTON_ANIM_NAME (using BUTTON_NODE_ID)
          • USE_BUTTON

    Templates used:

  • ASOBO_PASSENGER_Cabin_Heat_SubTemplate

    Definition from XML
    <Template Name="ASOBO_PASSENGER_Cabin_Heat_SubTemplate"> <Parameters Type="Default"> <WWISE_PREFIX>cabin_heat</WWISE_PREFIX> <NODE_ID>PASSENGER_#INTERACTION_TYPE#_Cabin_Heat#SUFFIX_ID#</NODE_ID> <ANIM_NAME>PASSENGER_#INTERACTION_TYPE#_Cabin_Heat#SUFFIX_ID#</ANIM_NAME> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition NotEmpty="BUTTON_NODE_ID"> <BUTTON_ANIM_NAME>#BUTTON_NODE_ID#</BUTTON_ANIM_NAME> <USE_BUTTON>True</USE_BUTTON> </Condition> </Case> </Switch> <TOOLTIP_TITLE>@TT_Package.CABIN_HOT_AIR_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.CABIN_HOT_AIR_ACTION_SET</TT_DESCRIPTION_ID> </Parameters> <UseTemplate Name="ASOBO_PASSENGER_Cabin_Base_Template"> <IE_ID>Cabin_Heat#SUFFIX_ID#</IE_ID> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • WWISE_PREFIX
      • NODE_ID (using INTERACTION_TYPE, SUFFIX_ID)
      • ANIM_NAME (using INTERACTION_TYPE, SUFFIX_ID)
      • TOOLTIP_TITLE
      • TT_DESCRIPTION_ID

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Condition: NotEmpty(BUTTON_NODE_ID)

        • Case: True

          Parameters set:

          • BUTTON_ANIM_NAME (using BUTTON_NODE_ID)
          • USE_BUTTON

    Templates used:

  • ASOBO_PASSENGER_Cabin_Base_Template

    Definition from XML
    <Template Name="ASOBO_PASSENGER_Cabin_Base_Template"> <Parameters Type="Default"> <INPUT_EVENT_ID_SOURCE>PASSENGER</INPUT_EVENT_ID_SOURCE> <USE_INPUT_EVENT_ID>PASSENGER</USE_INPUT_EVENT_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <NUM_STATES>2</NUM_STATES> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#IE_ID#</TOOLTIP_ENTRY_0> <ANIM_LENGTH>100</ANIM_LENGTH> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <WWISE_EVENT_1>#WWISE_PREFIX#_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_PREFIX#_switch_off</WWISE_EVENT_2> <SWITCH_ANIM_VAR>XMLVAR_#IE_ID#_Position</SWITCH_ANIM_VAR> <SWITCH_ANIM_SCOPE>O</SWITCH_ANIM_SCOPE> <MAX_POS Process="Int">#NUM_STATES# 1 -</MAX_POS> </Case> <Case Value="Lever"> <AXIS_INCREMENT>5</AXIS_INCREMENT> <AXIS>Y</AXIS> <WWISE_EVENT_1_LEVER>#WWISE_PREFIX#_lever_on</WWISE_EVENT_1_LEVER> <WWISE_EVENT_2_LEVER>#WWISE_PREFIX#_lever_off</WWISE_EVENT_2_LEVER> <LEVER_ANIM_VAR>XMLVAR_#IE_ID#_Position</LEVER_ANIM_VAR> <LEVER_ANIM_SCOPE>O</LEVER_ANIM_SCOPE> <Condition Valid="USE_BUTTON"> <LEVER_BUTTON_ANIM_VAR>XMLVAR_Interacting_With_Lever_#INPUT_EVENT_ID_SOURCE#_#IE_ID#</LEVER_BUTTON_ANIM_VAR> <LEVER_BUTTON_ANIM_SCOPE>I</LEVER_BUTTON_ANIM_SCOPE> <WWISE_EVENT_1_LEVER_BUTTON>#WWISE_PREFIX#_lever_button_on</WWISE_EVENT_1_LEVER_BUTTON> <WWISE_EVENT_2_LEVER_BUTTON>#WWISE_PREFIX#_lever_button_off</WWISE_EVENT_2_LEVER_BUTTON> </Condition> </Case> <Case Value="Knob"> <WWISE_EVENT>#WWISE_PREFIX#_knob</WWISE_EVENT> <COUNT>20</COUNT> <KNOB_ANIM_SCOPE>O</KNOB_ANIM_SCOPE> <KNOB_ANIM_VAR>XMLVAR_#IE_ID#_Position</KNOB_ANIM_VAR> <KNOB_SPEED>5</KNOB_SPEED> <THRESHOLD_INPUT>0.0001 </THRESHOLD_INPUT> <THRESHOLD_MOUSE>0.005</THRESHOLD_MOUSE> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Condition Check="NUM_STATES" Match="2"> <False> <Loop> <Setup> <Param>CUR_ID</Param> <From>0</From> <Inc>1</Inc> <To>#MAX_POS#</To> </Setup> <Do> <Parameters Type="Override"> <Condition NotEmpty="STR_STATE_#CUR_ID#"> <False> <STR_STATE_#CUR_ID#>#CUR_ID#</STR_STATE_#CUR_ID#> </False> </Condition> </Parameters> <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> <STR_STATE_#CUR_ID#>#ID_POS#</STR_STATE_#CUR_ID#> <SET_STATE_#CUR_ID#>#CUR_ID# (&gt;#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#)</SET_STATE_#CUR_ID#> <CODE_POS_#CUR_ID#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_#ID_POS#)</CODE_POS_#CUR_ID#> <STATE#CUR_ID#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#) #CUR_ID# ==</STATE#CUR_ID#_TEST> </Do> </Loop> </False> </Condition> </Case> <Case Value="Lever"> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> </Case> <Case Value="Knob"> <WRAP>False</WRAP> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="NUM_STATES"> <Case Value="2"> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <BTN_ID>#IE_ID#</BTN_ID> <GET_STATE_EXTERNAL>(#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#) sp0</GET_STATE_EXTERNAL> <SET_STATE_ON>1 (&gt;#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#)</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#)</SET_STATE_OFF> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <ANIM_CODE>(#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#) #ANIM_LENGTH# *</ANIM_CODE> <LEFT_SINGLE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Case> <Default> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <BTN_ID>#IE_ID#</BTN_ID> <GET_STATE_EXTERNAL>(#SWITCH_ANIM_SCOPE#:#SWITCH_ANIM_VAR#) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_XStates"/> </Default> </Switch> </Case> <Case Value="Lever"> <Condition Valid="USE_BUTTON"> <True> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_LAG>800</ANIM_LAG> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <ANIM_CODE>(#LEVER_BUTTON_ANIM_SCOPE#:#LEVER_BUTTON_ANIM_VAR#) 100 *</ANIM_CODE> <ANIM_LENGTH>100</ANIM_LENGTH> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_EVENT_1_LEVER_BUTTON#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_EVENT_2_LEVER_BUTTON#</WWISE_EVENT_2> </UseTemplate> </True> </Condition> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <LEVER_ID>#IE_ID#</LEVER_ID> <SET_STATE_EXTERNAL>(&gt;#LEVER_ANIM_SCOPE#:#LEVER_ANIM_VAR#)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(#LEVER_ANIM_SCOPE#:#LEVER_ANIM_VAR#)</GET_STATE_EXTERNAL> <MAX_VALUE>#ANIM_LENGTH#</MAX_VALUE> <NO_ANIM_VAR_UPDATE>True</NO_ANIM_VAR_UPDATE> <INC_PARAM_0>#AXIS_INCREMENT# p0 *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>#AXIS_INCREMENT# p0 *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <Condition Valid="USE_BUTTON"> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <LOCK_CODE>1 (&gt;#LEVER_BUTTON_ANIM_SCOPE#:#LEVER_BUTTON_ANIM_VAR#)</LOCK_CODE> <UNLOCK_CODE>0 (&gt;#LEVER_BUTTON_ANIM_SCOPE#:#LEVER_BUTTON_ANIM_VAR#)</UNLOCK_CODE> </Condition> <ANIM_CODE>(#LEVER_ANIM_SCOPE#:#LEVER_ANIM_VAR#)</ANIM_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Dec)</NEGATIVE_AXIS_CODE> <DRAG_CODE>#ANIM_LENGTH# (M:DragPercent) * (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Set)</DRAG_CODE> <NO_ARROWS/> <CURSOR>Grab</CURSOR> <WWISE_EVENT_1>#WWISE_EVENT_1_LEVER#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_EVENT_2_LEVER#</WWISE_EVENT_2> </UseTemplate> </Case> <Case Value="Knob"> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <KNOB_ID>#IE_ID#</KNOB_ID> <SET_STATE_EXTERNAL>(&gt;#KNOB_ANIM_SCOPE#:#KNOB_ANIM_VAR#)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(#KNOB_ANIM_SCOPE#:#KNOB_ANIM_VAR#)</GET_STATE_EXTERNAL> <MAX_VALUE>#ANIM_LENGTH#</MAX_VALUE> <NO_ANIM_VAR_UPDATE>True</NO_ANIM_VAR_UPDATE> <INC_PARAM_0>#KNOB_SPEED# p0 *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>#KNOB_SPEED# p0 *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> </UseInputEvent> <Condition NotEmpty="INIT_VALUE"> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#INIT_VALUE# (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Set)</UPDATE_CODE> </UseTemplate> </Condition> <UseTemplate Name="ASOBO_GT_Knob_Finite_Code"> <CLOCKWISE_CODE>1 (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Inc)</CLOCKWISE_CODE> <ANTICLOCKWISE_CODE>1 (&gt;B:#INPUT_EVENT_ID_SOURCE#_#IE_ID#_Dec)</ANTICLOCKWISE_CODE> <ANIM_CODE>(#KNOB_ANIM_SCOPE#:#KNOB_ANIM_VAR#)</ANIM_CODE> </UseTemplate> </Case> </Switch> </Component> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • INPUT_EVENT_ID_SOURCE
      • USE_INPUT_EVENT_ID

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Parameters set:

        • NUM_STATES
    • Default

      Parameters set:

      • TOOLTIP_ENTRY_0 (using INPUT_EVENT_ID_SOURCE, IE_ID)
      • ANIM_LENGTH

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Parameters set:

        • WWISE_EVENT_1 (using WWISE_PREFIX)
        • WWISE_EVENT_2 (using WWISE_PREFIX)
        • SWITCH_ANIM_VAR (using IE_ID)
        • SWITCH_ANIM_SCOPE
        • MAX_POS (using NUM_STATES)
      • Case: Lever

        Parameters set:

        • AXIS_INCREMENT
        • AXIS
        • WWISE_EVENT_1_LEVER (using WWISE_PREFIX)
        • WWISE_EVENT_2_LEVER (using WWISE_PREFIX)
        • LEVER_ANIM_VAR (using IE_ID)
        • LEVER_ANIM_SCOPE

        Condition: Valid(USE_BUTTON)

        • Case: True

          Parameters set:

          • LEVER_BUTTON_ANIM_VAR (using INPUT_EVENT_ID_SOURCE, IE_ID)
          • LEVER_BUTTON_ANIM_SCOPE
          • WWISE_EVENT_1_LEVER_BUTTON (using WWISE_PREFIX)
          • WWISE_EVENT_2_LEVER_BUTTON (using WWISE_PREFIX)
      • Case: Knob

        Parameters set:

        • WWISE_EVENT (using WWISE_PREFIX)
        • COUNT
        • KNOB_ANIM_SCOPE
        • KNOB_ANIM_VAR (using IE_ID)
        • KNOB_SPEED
        • THRESHOLD_INPUT
        • THRESHOLD_MOUSE
    • Override

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Check(NUM_STATES)

        • Case: False

          Parameters read:

          • MAX_POS

          Parameters set:

          • CUR_ID
          • ID_POS (using CUR_ID)
          • STR_STATE_#CUR_ID# (using ID_POS)
          • SET_STATE_#CUR_ID# (using CUR_ID, SWITCH_ANIM_SCOPE, SWITCH_ANIM_VAR)
          • CODE_POS_#CUR_ID# (using INPUT_EVENT_ID_SOURCE, IE_ID, ID_POS)
          • STATE#CUR_ID#_TEST (using INPUT_EVENT_ID_SOURCE, IE_ID, CUR_ID)

          Condition: NotEmpty(STR_STATE_#CUR_ID#)

          • Case: False

            Parameters set:

            • STR_STATE_#CUR_ID# (using CUR_ID)

          Condition: NotEmpty(TT_VALUE_#CUR_ID#)

          • Case: False

            Parameters set:

            • TT_VALUE_#CUR_ID#
            • TT_VALUE_#CUR_ID#_IS_DYNAMIC
      • Case: Lever

        Parameters set:

        • USE_TRAJECTORY_DRAG_MODE
      • Case: Knob

        Parameters set:

        • WRAP

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Switch(NUM_STATES)

        • Case: 2

          Parameters read:

          • USE_INPUT_EVENT_ID

          Parameters set:

          • BTN_ID (using IE_ID)
          • GET_STATE_EXTERNAL (using SWITCH_ANIM_SCOPE, SWITCH_ANIM_VAR)
          • SET_STATE_ON (using SWITCH_ANIM_SCOPE, SWITCH_ANIM_VAR)
          • SET_STATE_OFF (using SWITCH_ANIM_SCOPE, SWITCH_ANIM_VAR)
          • SIM_STATE_IS_ON_EXTERNAL
          • ANIM

          Templates used:

          • ASOBO_GT_Switch_Code

            Parameters set:

            • ANIM_CODE (using SWITCH_ANIM_SCOPE, SWITCH_ANIM_VAR, ANIM_LENGTH)
            • LEFT_SINGLE_CODE (using INPUT_EVENT_ID_SOURCE, IE_ID)
        • Default case:

          Parameters read:

          • USE_INPUT_EVENT_ID

          Parameters set:

          • BTN_ID (using IE_ID)
          • GET_STATE_EXTERNAL (using SWITCH_ANIM_SCOPE, SWITCH_ANIM_VAR)
          • ENUM_VAL_TO_POS_EXTERNAL
          • ANIM

          Templates used:

      • Case: Lever

        Parameters read:

        • USE_INPUT_EVENT_ID

        Parameters set:

        • LEVER_ID (using IE_ID)
        • SET_STATE_EXTERNAL (using LEVER_ANIM_SCOPE, LEVER_ANIM_VAR)
        • GET_STATE_EXTERNAL (using LEVER_ANIM_SCOPE, LEVER_ANIM_VAR)
        • MAX_VALUE (using ANIM_LENGTH)
        • NO_ANIM_VAR_UPDATE
        • INC_PARAM_0 (using AXIS_INCREMENT)
        • INC_PARAM_0_IS_DYNAMIC
        • DEC_PARAM_0 (using AXIS_INCREMENT)
        • DEC_PARAM_0_IS_DYNAMIC

        Templates used:

        • ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis

          Parameters set:

          • ANIM_CODE (using LEVER_ANIM_SCOPE, LEVER_ANIM_VAR)
          • POSITIVE_AXIS_CODE (using INPUT_EVENT_ID_SOURCE, IE_ID)
          • NEGATIVE_AXIS_CODE (using INPUT_EVENT_ID_SOURCE, IE_ID)
          • DRAG_CODE (using ANIM_LENGTH, INPUT_EVENT_ID_SOURCE, IE_ID)
          • NO_ARROWS
          • CURSOR
          • WWISE_EVENT_1 (using WWISE_EVENT_1_LEVER)
          • WWISE_EVENT_2 (using WWISE_EVENT_2_LEVER)

          Condition: Valid(USE_BUTTON)

          • Case: True

            Parameters set:

            • DRAG_ANIM_NAME (using ANIM_NAME)
            • LOCK_CODE (using LEVER_BUTTON_ANIM_SCOPE, LEVER_BUTTON_ANIM_VAR)
            • UNLOCK_CODE (using LEVER_BUTTON_ANIM_SCOPE, LEVER_BUTTON_ANIM_VAR)

        Condition: Valid(USE_BUTTON)

        • Case: True

          Templates used:

          • ASOBO_GT_Anim_Code

            Parameters set:

            • ANIM_LAG
            • ANIM_NAME (using BUTTON_ANIM_NAME)
            • ANIM_CODE (using LEVER_BUTTON_ANIM_SCOPE, LEVER_BUTTON_ANIM_VAR)
            • ANIM_LENGTH
          • ASOBO_GT_AnimTriggers_2SoundEvents

            Parameters set:

            • ANIM_NAME (using BUTTON_ANIM_NAME)
            • WWISE_EVENT_1 (using WWISE_EVENT_1_LEVER_BUTTON)
            • WWISE_EVENT_2 (using WWISE_EVENT_2_LEVER_BUTTON)
      • Case: Knob

        Parameters read:

        • USE_INPUT_EVENT_ID

        Parameters set:

        • KNOB_ID (using IE_ID)
        • SET_STATE_EXTERNAL (using KNOB_ANIM_SCOPE, KNOB_ANIM_VAR)
        • GET_STATE_EXTERNAL (using KNOB_ANIM_SCOPE, KNOB_ANIM_VAR)
        • MAX_VALUE (using ANIM_LENGTH)
        • NO_ANIM_VAR_UPDATE
        • INC_PARAM_0 (using KNOB_SPEED)
        • INC_PARAM_0_IS_DYNAMIC
        • DEC_PARAM_0 (using KNOB_SPEED)
        • DEC_PARAM_0_IS_DYNAMIC

        Templates used:

        Condition: NotEmpty(INIT_VALUE)

        • Case: True

          Templates used:

          • ASOBO_GT_Update

            Parameters set:

            • UPDATE_ONCE
            • UPDATE_CODE (using INIT_VALUE, INPUT_EVENT_ID_SOURCE, IE_ID)

    Condition: Check(HIGHLIGHT_NODE_ID)