[Go back to index]

Asobo\Generic\Complex\Knob.xml

Source XML
<ModelBehaviors> <!-- Finite rotating object, using incrementing and decrementing events, anim based on simvar. Required parameter: ANIM_SIMVAR ANIM_SIMVAR_UNITS ANIM_SIMVAR_MIN ANIM_SIMVAR_MAX ANIM_NAME CLOCKWISE_CODE ANTICLOCKWISE_CODE --> <Template Name = "ASOBO_GT_Knob_Finite_Simvar"> <DefaultTemplateParameters> <ANIM_SIMVAR_UNITS>percent</ANIM_SIMVAR_UNITS> <ANIM_SIMVAR_MIN>0</ANIM_SIMVAR_MIN> <ANIM_SIMVAR_MAX>100</ANIM_SIMVAR_MAX> <EXTRA_INTERACTION/> <ANIMREF_ID>0</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <ANIMTIP_0></ANIMTIP_0> <ANIMTIP_1></ANIMTIP_1> <ANIM_LAG>100</ANIM_LAG> <ANIM_WRAP>False</ANIM_WRAP> <!-- Should not be overriden except from generic template --> </DefaultTemplateParameters> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <ANIM_CODE> (A:#ANIM_SIMVAR#, #ANIM_SIMVAR_UNITS#) #ANIM_SIMVAR_MIN# - #ANIM_SIMVAR_MAX# #ANIM_SIMVAR_MIN# - / 100 * </ANIM_CODE> </UseTemplate> <!-- <UseTemplate Name = "ASOBO_GT_AnimTriggers_SoundEvents_Same"/> --> <UseTemplate Name = "ASOBO_GT_Interaction_WheelAndContinuousLeft#EXTRA_INTERACTION#"> <CLOCKWISE_CODE> #CLOCKWISE_CODE# </CLOCKWISE_CODE> <ANTICLOCKWISE_CODE> #ANTICLOCKWISE_CODE# </ANTICLOCKWISE_CODE> </UseTemplate> <Condition Valid="WWISE_EVENT"> <UseTemplate Name = "ASOBO_GT_AnimTriggers_SoundEvents_Same"> </UseTemplate> </Condition> </Template> <!-- Finite rotating object, using incrementing and decrementing events, anim based on code. Required parameter: ANIM_CODE ANIM_NAME CLOCKWISE_CODE ANTICLOCKWISE_CODE --> <Template Name = "ASOBO_GT_Knob_Finite_Code"> <DefaultTemplateParameters> <EXTRA_INTERACTION/> <COUNT>10</COUNT> <WRAP>False</WRAP> <ANIMREF_ID>0</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <ANIMTIP_0></ANIMTIP_0> <ANIMTIP_1></ANIMTIP_1> <ANIM_LAG>100</ANIM_LAG> <!-- Should not be overriden except from generic template --> <Condition Valid="PUSH"> <True> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> <ANIM_LENGTH_PUSH>100</ANIM_LENGTH_PUSH> </True> </Condition> </DefaultTemplateParameters> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <ANIM_WRAP>#WRAP#</ANIM_WRAP> </UseTemplate> <Condition Valid="PUSH"> <True> <Update Frequency = "10"> (O:_ButtonPressed) 0 &gt; if{ #ANIM_LENGTH_PUSH# (&gt;O:_PushAnimVar) } els{ (O:_PushAnimVar) #ANIM_LENGTH_PUSH# 0.7 * - 0 max (&gt;O:_PushAnimVar) } </Update> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSH#</ANIM_LENGTH> <ANIM_CODE>(O:_PushAnimVar)</ANIM_CODE> </UseTemplate> </True> </Condition> <Condition Check="WWISE_EVENT"> <UseTemplate Name = "ASOBO_GT_AnimTriggers_SoundEvents_Same"> </UseTemplate> </Condition> <UseTemplate Name = "ASOBO_GT_Interaction_WheelAndContinuousLeft#EXTRA_INTERACTION#"> </UseTemplate> </Template> <!-- Finite rotating object, with no effect beyond animation. Required parameter: KNOB_NAME --> <Template Name = "ASOBO_GT_Knob_Finite_Dummy"> <DefaultTemplateParameters> <ANIM_NAME>#KNOB_NAME#</ANIM_NAME> <NODE_NAME>#KNOB_NAME#</NODE_NAME> <KNOB_POSITION_VAR_TYPE>O</KNOB_POSITION_VAR_TYPE> <KNOB_POSITION_VAR>#KNOB_NAME#</KNOB_POSITION_VAR> <KNOB_SPEED>4</KNOB_SPEED> </DefaultTemplateParameters> <Component ID="#KNOB_NAME#" Node="#NODE_NAME#"> <Condition Check="INIT_VALUE"> <Update Once="True"> #INIT_VALUE# (&gt;#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#) </Update> </Condition> <UseTemplate Name="ASOBO_GT_Knob_Finite_Code"> <PART_ID>#KNOB_NAME#</PART_ID> <ANIM_LENGTH>100</ANIM_LENGTH> <ANIM_CODE>(#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#)</ANIM_CODE> <CLOCKWISE_CODE>(#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#) #KNOB_SPEED# + 100 min (&gt;#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#)</CLOCKWISE_CODE> <ANTICLOCKWISE_CODE>(#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#) #KNOB_SPEED# - 0 max (&gt;#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#)</ANTICLOCKWISE_CODE> </UseTemplate> <Condition Check="WWISE_EVENT"> <UseTemplate Name = "ASOBO_GT_AnimTriggers_SoundEvents_Same"/> </Condition> </Component> </Template> <!-- Finite rotating object, using incrementing and decrementing events, anim based on simvar. Also has a switch interaction when clicking on the center. Required parameter: ANIM_SIMVAR_KNOB ANIM_SIMVAR_UNITS_KNOB ANIM_SIMVAR_SWITCH ANIM_SIMVAR_UNITS_SWITCH ANIM_NAME_SWITCH ANIM_NAME_KNOB CLOCKWISE_CODE ANTICLOCKWISE_CODE LEFT_SINGLE_CODE --> <Template Name = "ASOBO_GT_Knob_Finite_Switch"> <DefaultTemplateParameters> <ANIM_SIMVAR_SCALE_KNOB>1</ANIM_SIMVAR_SCALE_KNOB> <ANIM_SIMVAR_MAX>100</ANIM_SIMVAR_MAX> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ANIM_LENGTH_SWITCH>100</ANIM_LENGTH_SWITCH> <ANIM_SIMVAR_SCALE_SWITCH>1</ANIM_SIMVAR_SCALE_SWITCH> <CENTER_RADIUS>0.004</CENTER_RADIUS> <ANIM_WRAP>False</ANIM_WRAP> <USE_SIMVAR_FOR_BUTTON_ANIM>True</USE_SIMVAR_FOR_BUTTON_ANIM> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_SWITCH></ANIM_NAME_SWITCH> <ANIM_NAME_KNOB></ANIM_NAME_KNOB> </AddParams> <RemoveParams> <NODE_ID></NODE_ID> <ANIM_NAME></ANIM_NAME> </RemoveParams> </EditableTemplateParameters> <Condition Valid="USE_SIMVAR_FOR_BUTTON_ANIM"> <True> <UseTemplate Name = "ASOBO_GT_Anim_Sim"> <ANIM_NAME>#ANIM_NAME_SWITCH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_SWITCH#</ANIM_LENGTH> <ANIM_SIMVAR>#ANIM_SIMVAR_SWITCH#</ANIM_SIMVAR> <ANIM_SIMVAR_SCALE>#ANIM_SIMVAR_SCALE_SWITCH#</ANIM_SIMVAR_SCALE> <ANIM_SIMVAR_UNITS>#ANIM_SIMVAR_UNITS_SWITCH#</ANIM_SIMVAR_UNITS> <Condition Check="ANIM_LAG_SWITCH"> <ANIM_LAG>#ANIM_LAG_SWITCH#</ANIM_LAG> </Condition> <ANIM_WRAP>False</ANIM_WRAP> </UseTemplate> </True> <False> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <ANIM_CODE>#ANIM_CODE_SWITCH#</ANIM_CODE> <ANIM_NAME>#ANIM_NAME_SWITCH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_SWITCH#</ANIM_LENGTH> <Condition Check="ANIM_LAG_SWITCH"> <ANIM_LAG>#ANIM_LAG_SWITCH#</ANIM_LAG> </Condition> </UseTemplate> </False> </Condition> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_SWITCH#</ANIM_NAME> </UseTemplate> <Condition Valid="USE_SIMVAR_FOR_KNOB_ANIM"> <True> <UseTemplate Name = "ASOBO_GT_Knob_Finite_Simvar"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_SIMVAR>#ANIM_SIMVAR_KNOB#</ANIM_SIMVAR> <ANIM_SIMVAR_UNITS>#ANIM_SIMVAR_UNITS_KNOB#</ANIM_SIMVAR_UNITS> <ANIM_SIMVAR_SCALE>#ANIM_SIMVAR_SCALE_KNOB#</ANIM_SIMVAR_SCALE> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> <Condition Check="ANIM_LAG_KNOB"> <ANIM_LAG>#ANIM_LAG_KNOB#</ANIM_LAG> </Condition> </UseTemplate> </True> <False> <UseTemplate Name = "ASOBO_GT_Knob_Finite_Code"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_CODE>#KNOB_ANIM_CODE#</ANIM_CODE> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> <Condition Check="ANIM_LAG_KNOB"> <ANIM_LAG>#ANIM_LAG_KNOB#</ANIM_LAG> </Condition> </UseTemplate> </False> </Condition> </Template> <!-- Infinite rotating object, using incrementing and decrementing events, anim based on iteraction. Required parameter: ANIM_NAME CLOCKWISE_CODE ANTICLOCKWISE_CODE --> <Template Name = "ASOBO_GT_Knob_Infinite"> <Parameters Type="Default"> <ROTATION_SPEED>10</ROTATION_SPEED> <EXTRA_INTERACTION/><!-- Should not be overriden except from generic template --> <CLOCKWISE_CONDITION> 1 </CLOCKWISE_CONDITION> <ANTICLOCKWISE_CONDITION> 1 </ANTICLOCKWISE_CONDITION> <ANIM_LAG>100</ANIM_LAG> </Parameters> <Parameters Type="Override"> <Condition> <Test> <Or> <Arg Valid="ANIM_VAR_HANDLED_SEPARATELY"/> <Arg Valid="NO_KNOB_ANIM_VAR_UPDATE"/> </Or> </Test> <True> <INC_ANIM_VAR_CODE/> <DEC_ANIM_VAR_CODE/> </True> <False> <INC_ANIM_VAR_CODE>(O:_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;O:_KnobAnimVar)</INC_ANIM_VAR_CODE> <DEC_ANIM_VAR_CODE>(O:_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;O:_KnobAnimVar)</DEC_ANIM_VAR_CODE> </False> </Condition> </Parameters> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <False> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <Condition Check="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>(O:_KnobAnimVar) 3.6 / </ANIM_CODE> <ANIM_WRAP>True</ANIM_WRAP> </False> </Condition> </UseTemplate> <Condition Check="WWISE_EVENT"> <UseTemplate Name = "ASOBO_GT_AnimTriggers_SoundEvents_Same"> </UseTemplate> </Condition> </False> </Condition> <UseTemplate Name = "ASOBO_GT_Interaction_WheelAndContinuousLeft#EXTRA_INTERACTION#"> <Condition> <Test> <And> <Arg NotEmpty="CLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="CLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <True> <CLOCKWISE_CODE_DEFAULT_IM> #CLOCKWISE_CONDITION# if{ #INC_ANIM_VAR_CODE# #CLOCKWISE_CODE_DEFAULT_IM# } </CLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM> #CLOCKWISE_CONDITION# if{ #INC_ANIM_VAR_CODE# #CLOCKWISE_CODE_DRAG_IM# } </CLOCKWISE_CODE_DRAG_IM> </True> <False> <Condition NotEmpty="CLOCKWISE_CODE"> <CLOCKWISE_CODE> #CLOCKWISE_CONDITION# if{ #INC_ANIM_VAR_CODE# #CLOCKWISE_CODE# } </CLOCKWISE_CODE> </Condition> </False> </Condition> <Condition> <Test> <And> <Arg NotEmpty="ANTICLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="ANTICLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <True> <ANTICLOCKWISE_CODE_DEFAULT_IM> #ANTICLOCKWISE_CONDITION# if{ #DEC_ANIM_VAR_CODE# #ANTICLOCKWISE_CODE_DEFAULT_IM# } </ANTICLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DRAG_IM> #ANTICLOCKWISE_CONDITION# if{ #DEC_ANIM_VAR_CODE# #ANTICLOCKWISE_CODE_DRAG_IM# } </ANTICLOCKWISE_CODE_DRAG_IM> </True> <False> <Condition NotEmpty="ANTICLOCKWISE_CODE"> <ANTICLOCKWISE_CODE> #ANTICLOCKWISE_CONDITION# if{ #DEC_ANIM_VAR_CODE# #ANTICLOCKWISE_CODE# } </ANTICLOCKWISE_CODE> </Condition> </False> </Condition> </UseTemplate> </Template> <!-- Infinite rotating object, using incrementing and decrementing events, anim based on iteraction. Required parameter: ANIM_NAME HITBOX_UP_NODE_ID HITBOX_DOWN_NODE_ID --> <Template Name = "ASOBO_GT_Knob_Infinite_SeparatedInteraction"> <DefaultTemplateParameters> <ROTATION_SPEED>10</ROTATION_SPEED> <CURSOR_LEFT>TurnLeft</CURSOR_LEFT> <CURSOR_RIGHT>TurnRight</CURSOR_RIGHT> <CURSOR_UP>UpArrow</CURSOR_UP> <CURSOR_DOWN>DownArrow</CURSOR_DOWN> <LEFT_SINGLE_DOWN></LEFT_SINGLE_DOWN> <ANIM_LAG>100</ANIM_LAG> <HIGHLIGHT_NODE_ID>#NODE_ID#</HIGHLIGHT_NODE_ID> <INVERT_WHEEL_INTERACTION>True</INVERT_WHEEL_INTERACTION> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition> <Test> <And> <Arg NotEmpty="CLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="CLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <True> <CLOCKWISE_CODE_DEFAULT_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;I:#NODE_ID#_KnobAnimVar) #CLOCKWISE_CODE_DEFAULT_IM# </CLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;I:#NODE_ID#_KnobAnimVar) #CLOCKWISE_CODE_DRAG_IM# </CLOCKWISE_CODE_DRAG_IM> </True> <False> <CLOCKWISE_CODE_DEFAULT_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;I:#NODE_ID#_KnobAnimVar) #CLOCKWISE_CODE# </CLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;I:#NODE_ID#_KnobAnimVar) #CLOCKWISE_CODE# </CLOCKWISE_CODE_DRAG_IM> </False> </Condition> <Condition> <Test> <And> <Arg NotEmpty="ANTICLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="ANTICLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <True> <ANTICLOCKWISE_CODE_DEFAULT_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;I:#NODE_ID#_KnobAnimVar) #ANTICLOCKWISE_CODE_DEFAULT_IM# </ANTICLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DRAG_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;I:#NODE_ID#_KnobAnimVar) #ANTICLOCKWISE_CODE_DRAG_IM# </ANTICLOCKWISE_CODE_DRAG_IM> </True> <False> <ANTICLOCKWISE_CODE_DEFAULT_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;I:#NODE_ID#_KnobAnimVar) #ANTICLOCKWISE_CODE# </ANTICLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DRAG_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;I:#NODE_ID#_KnobAnimVar) #ANTICLOCKWISE_CODE# </ANTICLOCKWISE_CODE_DRAG_IM> </False> </Condition> <LEFT_SINGLE_CODE_OUTER>1 (&gt;O:_Interacting)</LEFT_SINGLE_CODE_OUTER> <LEFT_SINGLE_CODE_INNER>1 (&gt;O:_Interacting)</LEFT_SINGLE_CODE_INNER> <LEFT_LEAVE_CODE_OUTER>0 (&gt;O:_Interacting)</LEFT_LEAVE_CODE_OUTER> <LEFT_LEAVE_CODE_INNER>0 (&gt;O:_Interacting)</LEFT_LEAVE_CODE_INNER> <NO_PUSH_PULL_LOCK>True</NO_PUSH_PULL_LOCK> <CURSOR_LEFT/> <CURSOR_RIGHT/> </OverrideTemplateParameters> <EditableTemplateParameters> <AddParams> <HITBOX_UP_NODE_ID></HITBOX_UP_NODE_ID> <HITBOX_DOWN_NODE_ID></HITBOX_DOWN_NODE_ID> </AddParams> <RemoveParams> <NODE_ID></NODE_ID> </RemoveParams> </EditableTemplateParameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <ANIM_CODE>(I:#NODE_ID#_KnobAnimVar) 3.6 / </ANIM_CODE> <ANIM_WRAP>True</ANIM_WRAP> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_SoundEvents_Same"> </UseTemplate> </Component> <Component ID="#HITBOX_UP_NODE_ID#" Node="#HITBOX_UP_NODE_ID#"> <UseTemplate Name = "ASOBO_GT_Interaction_WheelAndContinuousLeft_LeftSingle"> <Condition Check="SWITCH_DIRECTION" Match="Vertical"> <CURSOR>#CURSOR_UP#</CURSOR> <CODE_UP>#ANTICLOCKWISE_CODE_DRAG_IM#</CODE_UP> <CODE_DN>#CLOCKWISE_CODE_DRAG_IM#</CODE_DN> <CODE_LEFT>0</CODE_LEFT> <CODE_RIGHT>0</CODE_RIGHT> </Condition> <Condition Check="SWITCH_DIRECTION" Match="Horizontal"> <CURSOR>#CURSOR_LEFT#</CURSOR> <CODE_UP>0</CODE_UP> <CODE_DN>0</CODE_DN> <CODE_LEFT>#CLOCKWISE_CODE_DRAG_IM#</CODE_LEFT> <CODE_RIGHT>#ANTICLOCKWISE_CODE_DRAG_IM#</CODE_RIGHT> </Condition> <Condition Valid="INVERT_WHEEL_INTERACTION"> <True> <CLOCKWISE_CODE_DEFAULT_IM>#ANTICLOCKWISE_CODE_DEFAULT_IM#</CLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DEFAULT_IM>#CLOCKWISE_CODE_DEFAULT_IM#</ANTICLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM>#ANTICLOCKWISE_CODE_DRAG_IM#</CLOCKWISE_CODE_DRAG_IM> <ANTICLOCKWISE_CODE_DRAG_IM>#CLOCKWISE_CODE_DRAG_IM#</ANTICLOCKWISE_CODE_DRAG_IM> </True> </Condition> <UPDATE_DEFAULT_IM> (O:_Interacting) if{ #ANTICLOCKWISE_CODE_DEFAULT_IM# } </UPDATE_DEFAULT_IM> </UseTemplate> </Component> <Component ID="#HITBOX_DOWN_NODE_ID#" Node="#HITBOX_DOWN_NODE_ID#"> <UseTemplate Name = "ASOBO_GT_Interaction_WheelAndContinuousLeft_LeftSingle"> <Condition Check="SWITCH_DIRECTION" Match="Vertical"> <CURSOR>#CURSOR_DOWN#</CURSOR> <CODE_UP>#ANTICLOCKWISE_CODE_DRAG_IM#</CODE_UP> <CODE_DN>#CLOCKWISE_CODE_DRAG_IM#</CODE_DN> <CODE_LEFT>0</CODE_LEFT> <CODE_RIGHT>0</CODE_RIGHT> </Condition> <Condition Check="SWITCH_DIRECTION" Match="Horizontal"> <CURSOR>#CURSOR_RIGHT#</CURSOR> <CODE_UP>0</CODE_UP> <CODE_DN>0</CODE_DN> <CODE_LEFT>#CLOCKWISE_CODE_DRAG_IM#</CODE_LEFT> <CODE_RIGHT>#ANTICLOCKWISE_CODE_DRAG_IM#</CODE_RIGHT> </Condition> <Condition Valid="INVERT_WHEEL_INTERACTION"> <True> <CLOCKWISE_CODE_DEFAULT_IM>#ANTICLOCKWISE_CODE_DEFAULT_IM#</CLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DEFAULT_IM>#CLOCKWISE_CODE_DEFAULT_IM#</ANTICLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM>#ANTICLOCKWISE_CODE_DRAG_IM#</CLOCKWISE_CODE_DRAG_IM> <ANTICLOCKWISE_CODE_DRAG_IM>#CLOCKWISE_CODE_DRAG_IM#</ANTICLOCKWISE_CODE_DRAG_IM> </True> </Condition> <UPDATE_DEFAULT_IM> (O:_Interacting) if{ #CLOCKWISE_CODE_DEFAULT_IM# } </UPDATE_DEFAULT_IM> </UseTemplate> </Component> </Template> <!-- Infinite rotating object, using incrementing and decrementing events, anim based on sim. Required parameter: ANIM_NAME ANIM_SIMVAR ANIM_SIMVAR_UNITS CLOCKWISE_CODE ANTICLOCKWISE_CODE --> <Template Name = "ASOBO_GT_Knob_Infinite_Sim"> <UseTemplate Name = "ASOBO_GT_Anim_Sim"> <ANIM_WRAP>True</ANIM_WRAP> </UseTemplate> <UseTemplate Name = "ASOBO_GT_Interaction_WheelAndContinuousLeft"> </UseTemplate> </Template> <!-- Knob with push button object. Required parameter: ANIM_NAME_PUSH ANIM_NAME_KNOB CLOCKWISE_CODE ANTICLOCKWISE_CODE LEFT_SINGLE_CODE --> <Template Name = "ASOBO_GT_Knob_Infinite_Push"> <DefaultTemplateParameters> <ANIM_LENGTH_PUSH>100</ANIM_LENGTH_PUSH> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0.004</CENTER_RADIUS> <ANIMREF_ID>-1</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <OVERRIDE_PUSH_ANIM_CODE>(O:_PushAnimVar)</OVERRIDE_PUSH_ANIM_CODE> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_PUSH></ANIM_NAME_PUSH> <ANIM_NAME_KNOB></ANIM_NAME_KNOB> </AddParams> <RemoveParams> <ANIM_NAME></ANIM_NAME> </RemoveParams> </EditableTemplateParameters> <Condition> <Test> <Or> <Arg Valid="ANIM_HANDLED_SEPARATELY"/> <Arg Valid="PUSH_ANIM_HANDLED_SEPARATELY"/> </Or> </Test> <False> <Update Frequency = "10"> (O:_ButtonPressed) 0 &gt; if{ #ANIM_LENGTH_PUSH# (&gt;O:_PushAnimVar) } els{ (O:_PushAnimVar) #ANIM_LENGTH_PUSH# 0.7 * - 0 max (&gt;O:_PushAnimVar) } </Update> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSH#</ANIM_LENGTH> <ANIM_CODE>#OVERRIDE_PUSH_ANIM_CODE#</ANIM_CODE> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO_GT_Knob_Infinite"> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <False> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> </False> </Condition> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> </UseTemplate> </Template> <!-- Knob with push button object. Required parameter: ANIM_NAME_PULL ANIM_NAME_KNOB CLOCKWISE_CODE ANTICLOCKWISE_CODE LEFT_SINGLE_CODE --> <Template Name = "ASOBO_GT_Knob_Infinite_Pull"> <DefaultTemplateParameters> <ANIM_LENGTH_PULL>100</ANIM_LENGTH_PULL> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0.004</CENTER_RADIUS> <ANIMREF_ID>-1</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <LEFT_SINGLE_CODE>(O:PullAnimVar) ! (&gt;O:PullAnimVar)</LEFT_SINGLE_CODE> <ANIM_CODE>(O:PullAnimVar)</ANIM_CODE> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_PULL></ANIM_NAME_PULL> <ANIM_NAME_KNOB></ANIM_NAME_KNOB> </AddParams> <RemoveParams> <ANIM_NAME></ANIM_NAME> </RemoveParams> </EditableTemplateParameters> <UseTemplate Name = "ASOBO_GT_Anim"> <ANIM_NAME>#ANIM_NAME_PULL#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PULL#</ANIM_LENGTH> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PULL#</ANIM_NAME> </UseTemplate> <UseTemplate Name="ASOBO_GT_Knob_Infinite"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> </UseTemplate> </Template> <!-- Knob with push button object. Required parameter: ANIM_NAME_PULL ANIM_NAME_KNOB CLOCKWISE_CODE ANTICLOCKWISE_CODE LEFT_SINGLE_CODE --> <Template Name = "ASOBO_GT_Knob_Infinite_PushPull"> <Parameters Type="Default"> <ANIM_LENGTH_PUSHPULL>100</ANIM_LENGTH_PUSHPULL> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0</CENTER_RADIUS> <ANIMREF_ID>-1</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <WWISE_EVENT_PUSH>#WWISE_EVENT_1#</WWISE_EVENT_PUSH> <WWISE_EVENT_PULL>#WWISE_EVENT_1#</WWISE_EVENT_PULL> <WWISE_EVENT_BACK_TO_CENTER>#WWISE_EVENT_2#</WWISE_EVENT_BACK_TO_CENTER> <NORMALIZED_TIME_PUSH_ON>0.6</NORMALIZED_TIME_PUSH_ON> <NORMALIZED_TIME_PUSH_OFF>0.9</NORMALIZED_TIME_PUSH_OFF> <NORMALIZED_TIME_PULL_ON>0.4</NORMALIZED_TIME_PULL_ON> <NORMALIZED_TIME_PULL_OFF>0.1</NORMALIZED_TIME_PULL_OFF> </Parameters> <UseTemplate Name = "ASOBO_GT_Anim"> <ANIM_NAME>#ANIM_NAME_PUSHPULL#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSHPULL#</ANIM_LENGTH> <ANIM_CODE>(O:IsPulled) if{ 0 } els{ 100 50 (O:IsPushed) ? }</ANIM_CODE> </UseTemplate> <!-- PUSH sound event --> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSHPULL#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_EVENT_PUSH#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_EVENT_BACK_TO_CENTER#</WWISE_EVENT_2> <NORMALIZED_TIME_1>#NORMALIZED_TIME_PUSH_ON#</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>#NORMALIZED_TIME_PUSH_OFF#</NORMALIZED_TIME_2> </UseTemplate> <!-- PULL sound event --> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSHPULL#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_EVENT_PULL#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_EVENT_BACK_TO_CENTER#</WWISE_EVENT_2> <NORMALIZED_TIME_1>#NORMALIZED_TIME_PULL_ON#</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>#NORMALIZED_TIME_PULL_OFF#</NORMALIZED_TIME_2> <DIRECTION_1>Backward</DIRECTION_1> <DIRECTION_2>Forward</DIRECTION_2> </UseTemplate> <UseTemplate Name="ASOBO_GT_Knob_Infinite"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_PushPull</EXTRA_INTERACTION> </UseTemplate> </Template> <!-- Knob with push button object whith short or long left click events based on time pushed. Required parameter: ANIM_NAME_PUSH ANIM_NAME_KNOB CLOCKWISE_CODE ANTICLOCKWISE_CODE LEFT_SINGLE_CODE LONG_CLICK_CODE SHORT_CLICK_CODE LONG_CLICK_TIME --> <Template Name = "ASOBO_GT_Knob_Infinite_Push_Timed"> <DefaultTemplateParameters> <ANIM_LENGTH_PUSH>100</ANIM_LENGTH_PUSH> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0.004</CENTER_RADIUS> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <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> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_PUSH></ANIM_NAME_PUSH> <ANIM_NAME_KNOB></ANIM_NAME_KNOB> </AddParams> <RemoveParams> <ANIM_NAME></ANIM_NAME> </RemoveParams> </EditableTemplateParameters> <UseTemplate Name="ASOBO_GT_Knob_Infinite"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_LeftSingleTimed</EXTRA_INTERACTION> </UseTemplate> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSH#</ANIM_LENGTH> <ANIM_CODE>(O:_PressTime) 0 &gt; if{ #ANIM_LENGTH_PUSH# (&gt;O:_PushAnimVar) } els{ (O:_PushAnimVar) #ANIM_LENGTH_PUSH# 0.7 * - 0 max (&gt;O:_PushAnimVar) } (O:_PushAnimVar)</ANIM_CODE> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> </UseTemplate> </Template> <!-- Finite Knob with push button object whith short or long left click events based on time pushed. Required parameter: ANIM_NAME_PUSH ANIM_NAME_KNOB ANIM_CODE_KNOB CLOCKWISE_CODE ANTICLOCKWISE_CODE LEFT_SINGLE_CODE LONG_CLICK_CODE SHORT_CLICK_CODE LONG_CLICK_TIME --> <Template Name = "ASOBO_GT_Knob_Finite_Code_Push_Timed"> <DefaultTemplateParameters> <ANIM_LENGTH_PUSH>100</ANIM_LENGTH_PUSH> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0.004</CENTER_RADIUS> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <ANIM_CODE_KNOB/> <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> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_PUSH></ANIM_NAME_PUSH> <ANIM_NAME_KNOB></ANIM_NAME_KNOB> </AddParams> <RemoveParams> <ANIM_NAME></ANIM_NAME> </RemoveParams> </EditableTemplateParameters> <UseTemplate Name="ASOBO_GT_Knob_Finite_Code"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <ANIM_CODE>#ANIM_CODE_KNOB#</ANIM_CODE> <EXTRA_INTERACTION>_LeftSingleTimed</EXTRA_INTERACTION> </UseTemplate> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSH#</ANIM_LENGTH> <ANIM_CODE>(O:_PressTime) 0 &gt; if{ #ANIM_LENGTH_PUSH# (&gt;O:_PushAnimVar) } els{ (O:_PushAnimVar) #ANIM_LENGTH_PUSH# 0.7 * - 0 max (&gt;O:_PushAnimVar) } (O:_PushAnimVar)</ANIM_CODE> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> </UseTemplate> </Template> </ModelBehaviors>

Templates

Template list
  • ASOBO_GT_Knob_Finite_Simvar

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Finite_Simvar"> <DefaultTemplateParameters> <ANIM_SIMVAR_UNITS>percent</ANIM_SIMVAR_UNITS> <ANIM_SIMVAR_MIN>0</ANIM_SIMVAR_MIN> <ANIM_SIMVAR_MAX>100</ANIM_SIMVAR_MAX> <EXTRA_INTERACTION/> <ANIMREF_ID>0</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <ANIMTIP_0/> <ANIMTIP_1/> <ANIM_LAG>100</ANIM_LAG> <ANIM_WRAP>False</ANIM_WRAP> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE> (A:#ANIM_SIMVAR#, #ANIM_SIMVAR_UNITS#) #ANIM_SIMVAR_MIN# - #ANIM_SIMVAR_MAX# #ANIM_SIMVAR_MIN# - / 100 * </ANIM_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Interaction_WheelAndContinuousLeft#EXTRA_INTERACTION#"> <CLOCKWISE_CODE> #CLOCKWISE_CODE# </CLOCKWISE_CODE> <ANTICLOCKWISE_CODE> #ANTICLOCKWISE_CODE# </ANTICLOCKWISE_CODE> </UseTemplate> <Condition Valid="WWISE_EVENT"> <UseTemplate Name="ASOBO_GT_AnimTriggers_SoundEvents_Same"/> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_SIMVAR_UNITS
      • ANIM_SIMVAR_MIN
      • ANIM_SIMVAR_MAX
      • EXTRA_INTERACTION
      • ANIMREF_ID
      • ANIMTIP_0_ON_CURSOR
      • ANIMTIP_1_ON_CURSOR
      • ANIMTIP_0
      • ANIMTIP_1
      • ANIM_LAG
      • ANIM_WRAP

    Parameters read:

    • EXTRA_INTERACTION

    Templates used:

    • ASOBO_GT_Anim_Code

      Parameters set:

      • ANIM_CODE (using ANIM_SIMVAR, ANIM_SIMVAR_UNITS, ANIM_SIMVAR_MIN, ANIM_SIMVAR_MAX)
    • ASOBO_GT_Interaction_WheelAndContinuousLeft#EXTRA_INTERACTION#

      Parameters set:

      • CLOCKWISE_CODE (using CLOCKWISE_CODE)
      • ANTICLOCKWISE_CODE (using ANTICLOCKWISE_CODE)

    Condition: Valid(WWISE_EVENT)

  • ASOBO_GT_Knob_Finite_Code

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Finite_Code"> <DefaultTemplateParameters> <EXTRA_INTERACTION/> <COUNT>10</COUNT> <WRAP>False</WRAP> <ANIMREF_ID>0</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <ANIMTIP_0/> <ANIMTIP_1/> <ANIM_LAG>100</ANIM_LAG> <Condition Valid="PUSH"> <True> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> <ANIM_LENGTH_PUSH>100</ANIM_LENGTH_PUSH> </True> </Condition> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_WRAP>#WRAP#</ANIM_WRAP> </UseTemplate> <Condition Valid="PUSH"> <True> <Update Frequency="10"> (O:_ButtonPressed) 0 &gt; if{ #ANIM_LENGTH_PUSH# (&gt;O:_PushAnimVar) } els{ (O:_PushAnimVar) #ANIM_LENGTH_PUSH# 0.7 * - 0 max (&gt;O:_PushAnimVar) } </Update> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSH#</ANIM_LENGTH> <ANIM_CODE>(O:_PushAnimVar)</ANIM_CODE> </UseTemplate> </True> </Condition> <Condition Check="WWISE_EVENT"> <UseTemplate Name="ASOBO_GT_AnimTriggers_SoundEvents_Same"/> </Condition> <UseTemplate Name="ASOBO_GT_Interaction_WheelAndContinuousLeft#EXTRA_INTERACTION#"/> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • EXTRA_INTERACTION
      • COUNT
      • WRAP
      • ANIMREF_ID
      • ANIMTIP_0_ON_CURSOR
      • ANIMTIP_1_ON_CURSOR
      • ANIMTIP_0
      • ANIMTIP_1
      • ANIM_LAG

      Condition: Valid(PUSH)

      • Case: True

        Parameters set:

        • EXTRA_INTERACTION
        • ANIM_LENGTH_PUSH

    Parameters read:

    • EXTRA_INTERACTION

    Templates used:

    Condition: Valid(PUSH)

    • Case: True

      Parameters read:

      • ANIM_LENGTH_PUSH

      Templates used:

      • ASOBO_GT_Anim_Code

        Parameters set:

        • ANIM_NAME (using ANIM_NAME_PUSH)
        • ANIM_LENGTH (using ANIM_LENGTH_PUSH)
        • ANIM_CODE

    Condition: Check(WWISE_EVENT)

  • ASOBO_GT_Knob_Finite_Dummy

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Finite_Dummy"> <DefaultTemplateParameters> <ANIM_NAME>#KNOB_NAME#</ANIM_NAME> <NODE_NAME>#KNOB_NAME#</NODE_NAME> <KNOB_POSITION_VAR_TYPE>O</KNOB_POSITION_VAR_TYPE> <KNOB_POSITION_VAR>#KNOB_NAME#</KNOB_POSITION_VAR> <KNOB_SPEED>4</KNOB_SPEED> </DefaultTemplateParameters> <Component ID="#KNOB_NAME#" Node="#NODE_NAME#"> <Condition Check="INIT_VALUE"> <Update Once="True"> #INIT_VALUE# (&gt;#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#) </Update> </Condition> <UseTemplate Name="ASOBO_GT_Knob_Finite_Code"> <PART_ID>#KNOB_NAME#</PART_ID> <ANIM_LENGTH>100</ANIM_LENGTH> <ANIM_CODE>(#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#)</ANIM_CODE> <CLOCKWISE_CODE>(#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#) #KNOB_SPEED# + 100 min (&gt;#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#)</CLOCKWISE_CODE> <ANTICLOCKWISE_CODE>(#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#) #KNOB_SPEED# - 0 max (&gt;#KNOB_POSITION_VAR_TYPE#:#KNOB_POSITION_VAR#)</ANTICLOCKWISE_CODE> </UseTemplate> <Condition Check="WWISE_EVENT"> <UseTemplate Name="ASOBO_GT_AnimTriggers_SoundEvents_Same"/> </Condition> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_NAME (using KNOB_NAME)
      • NODE_NAME (using KNOB_NAME)
      • KNOB_POSITION_VAR_TYPE
      • KNOB_POSITION_VAR (using KNOB_NAME)
      • KNOB_SPEED

    Parameters read:

    • KNOB_NAME
    • NODE_NAME

    Components:

  • ASOBO_GT_Knob_Finite_Switch

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Finite_Switch"> <DefaultTemplateParameters> <ANIM_SIMVAR_SCALE_KNOB>1</ANIM_SIMVAR_SCALE_KNOB> <ANIM_SIMVAR_MAX>100</ANIM_SIMVAR_MAX> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ANIM_LENGTH_SWITCH>100</ANIM_LENGTH_SWITCH> <ANIM_SIMVAR_SCALE_SWITCH>1</ANIM_SIMVAR_SCALE_SWITCH> <CENTER_RADIUS>0.004</CENTER_RADIUS> <ANIM_WRAP>False</ANIM_WRAP> <USE_SIMVAR_FOR_BUTTON_ANIM>True</USE_SIMVAR_FOR_BUTTON_ANIM> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_SWITCH/> <ANIM_NAME_KNOB/> </AddParams> <RemoveParams> <NODE_ID/> <ANIM_NAME/> </RemoveParams> </EditableTemplateParameters> <Condition Valid="USE_SIMVAR_FOR_BUTTON_ANIM"> <True> <UseTemplate Name="ASOBO_GT_Anim_Sim"> <ANIM_NAME>#ANIM_NAME_SWITCH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_SWITCH#</ANIM_LENGTH> <ANIM_SIMVAR>#ANIM_SIMVAR_SWITCH#</ANIM_SIMVAR> <ANIM_SIMVAR_SCALE>#ANIM_SIMVAR_SCALE_SWITCH#</ANIM_SIMVAR_SCALE> <ANIM_SIMVAR_UNITS>#ANIM_SIMVAR_UNITS_SWITCH#</ANIM_SIMVAR_UNITS> <Condition Check="ANIM_LAG_SWITCH"> <ANIM_LAG>#ANIM_LAG_SWITCH#</ANIM_LAG> </Condition> <ANIM_WRAP>False</ANIM_WRAP> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>#ANIM_CODE_SWITCH#</ANIM_CODE> <ANIM_NAME>#ANIM_NAME_SWITCH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_SWITCH#</ANIM_LENGTH> <Condition Check="ANIM_LAG_SWITCH"> <ANIM_LAG>#ANIM_LAG_SWITCH#</ANIM_LAG> </Condition> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_SWITCH#</ANIM_NAME> </UseTemplate> <Condition Valid="USE_SIMVAR_FOR_KNOB_ANIM"> <True> <UseTemplate Name="ASOBO_GT_Knob_Finite_Simvar"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_SIMVAR>#ANIM_SIMVAR_KNOB#</ANIM_SIMVAR> <ANIM_SIMVAR_UNITS>#ANIM_SIMVAR_UNITS_KNOB#</ANIM_SIMVAR_UNITS> <ANIM_SIMVAR_SCALE>#ANIM_SIMVAR_SCALE_KNOB#</ANIM_SIMVAR_SCALE> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> <Condition Check="ANIM_LAG_KNOB"> <ANIM_LAG>#ANIM_LAG_KNOB#</ANIM_LAG> </Condition> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Knob_Finite_Code"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_CODE>#KNOB_ANIM_CODE#</ANIM_CODE> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> <Condition Check="ANIM_LAG_KNOB"> <ANIM_LAG>#ANIM_LAG_KNOB#</ANIM_LAG> </Condition> </UseTemplate> </False> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_SIMVAR_SCALE_KNOB
      • ANIM_SIMVAR_MAX
      • ANIM_LENGTH_KNOB
      • ANIM_LENGTH_SWITCH
      • ANIM_SIMVAR_SCALE_SWITCH
      • CENTER_RADIUS
      • ANIM_WRAP
      • USE_SIMVAR_FOR_BUTTON_ANIM

    Templates used:

    Condition: Valid(USE_SIMVAR_FOR_BUTTON_ANIM)

    • Case: True

      Templates used:

      • ASOBO_GT_Anim_Sim

        Parameters set:

        • ANIM_NAME (using ANIM_NAME_SWITCH)
        • ANIM_LENGTH (using ANIM_LENGTH_SWITCH)
        • ANIM_SIMVAR (using ANIM_SIMVAR_SWITCH)
        • ANIM_SIMVAR_SCALE (using ANIM_SIMVAR_SCALE_SWITCH)
        • ANIM_SIMVAR_UNITS (using ANIM_SIMVAR_UNITS_SWITCH)
        • ANIM_WRAP

        Condition: Check(ANIM_LAG_SWITCH)

        • Case: True

          Parameters set:

          • ANIM_LAG (using ANIM_LAG_SWITCH)
    • Case: False

      Templates used:

      • ASOBO_GT_Anim_Code

        Parameters set:

        • ANIM_CODE (using ANIM_CODE_SWITCH)
        • ANIM_NAME (using ANIM_NAME_SWITCH)
        • ANIM_LENGTH (using ANIM_LENGTH_SWITCH)

        Condition: Check(ANIM_LAG_SWITCH)

        • Case: True

          Parameters set:

          • ANIM_LAG (using ANIM_LAG_SWITCH)

    Condition: Valid(USE_SIMVAR_FOR_KNOB_ANIM)

  • ASOBO_GT_Knob_Infinite

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Infinite"> <Parameters Type="Default"> <ROTATION_SPEED>10</ROTATION_SPEED> <EXTRA_INTERACTION/> <CLOCKWISE_CONDITION> 1 </CLOCKWISE_CONDITION> <ANTICLOCKWISE_CONDITION> 1 </ANTICLOCKWISE_CONDITION> <ANIM_LAG>100</ANIM_LAG> </Parameters> <Parameters Type="Override"> <Condition> <Test> <Or> <Arg Valid="ANIM_VAR_HANDLED_SEPARATELY"/> <Arg Valid="NO_KNOB_ANIM_VAR_UPDATE"/> </Or> </Test> <True> <INC_ANIM_VAR_CODE/> <DEC_ANIM_VAR_CODE/> </True> <False> <INC_ANIM_VAR_CODE>(O:_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;O:_KnobAnimVar)</INC_ANIM_VAR_CODE> <DEC_ANIM_VAR_CODE>(O:_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;O:_KnobAnimVar)</DEC_ANIM_VAR_CODE> </False> </Condition> </Parameters> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <False> <UseTemplate Name="ASOBO_GT_Anim_Code"> <Condition Check="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>(O:_KnobAnimVar) 3.6 / </ANIM_CODE> <ANIM_WRAP>True</ANIM_WRAP> </False> </Condition> </UseTemplate> <Condition Check="WWISE_EVENT"> <UseTemplate Name="ASOBO_GT_AnimTriggers_SoundEvents_Same"/> </Condition> </False> </Condition> <UseTemplate Name="ASOBO_GT_Interaction_WheelAndContinuousLeft#EXTRA_INTERACTION#"> <Condition> <Test> <And> <Arg NotEmpty="CLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="CLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <True> <CLOCKWISE_CODE_DEFAULT_IM> #CLOCKWISE_CONDITION# if{ #INC_ANIM_VAR_CODE# #CLOCKWISE_CODE_DEFAULT_IM# } </CLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM> #CLOCKWISE_CONDITION# if{ #INC_ANIM_VAR_CODE# #CLOCKWISE_CODE_DRAG_IM# } </CLOCKWISE_CODE_DRAG_IM> </True> <False> <Condition NotEmpty="CLOCKWISE_CODE"> <CLOCKWISE_CODE> #CLOCKWISE_CONDITION# if{ #INC_ANIM_VAR_CODE# #CLOCKWISE_CODE# } </CLOCKWISE_CODE> </Condition> </False> </Condition> <Condition> <Test> <And> <Arg NotEmpty="ANTICLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="ANTICLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <True> <ANTICLOCKWISE_CODE_DEFAULT_IM> #ANTICLOCKWISE_CONDITION# if{ #DEC_ANIM_VAR_CODE# #ANTICLOCKWISE_CODE_DEFAULT_IM# } </ANTICLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DRAG_IM> #ANTICLOCKWISE_CONDITION# if{ #DEC_ANIM_VAR_CODE# #ANTICLOCKWISE_CODE_DRAG_IM# } </ANTICLOCKWISE_CODE_DRAG_IM> </True> <False> <Condition NotEmpty="ANTICLOCKWISE_CODE"> <ANTICLOCKWISE_CODE> #ANTICLOCKWISE_CONDITION# if{ #DEC_ANIM_VAR_CODE# #ANTICLOCKWISE_CODE# } </ANTICLOCKWISE_CODE> </Condition> </False> </Condition> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ROTATION_SPEED
      • EXTRA_INTERACTION
      • CLOCKWISE_CONDITION
      • ANTICLOCKWISE_CONDITION
      • ANIM_LAG
    • Override

      Condition: Test(ANIM_VAR_HANDLED_SEPARATELY, NO_KNOB_ANIM_VAR_UPDATE)

      • Case: True

        Parameters set:

        • INC_ANIM_VAR_CODE
        • DEC_ANIM_VAR_CODE
      • Case: False

        Parameters set:

        • INC_ANIM_VAR_CODE (using ROTATION_SPEED)
        • DEC_ANIM_VAR_CODE (using ROTATION_SPEED)

    Parameters read:

    • EXTRA_INTERACTION

    Templates used:

    • ASOBO_GT_Interaction_WheelAndContinuousLeft#EXTRA_INTERACTION#

      Condition: Test(CLOCKWISE_CODE_DEFAULT_IM, CLOCKWISE_CODE_DRAG_IM)

      • Case: True

        Parameters set:

        • CLOCKWISE_CODE_DEFAULT_IM (using CLOCKWISE_CONDITION, INC_ANIM_VAR_CODE, CLOCKWISE_CODE_DEFAULT_IM)
        • CLOCKWISE_CODE_DRAG_IM (using CLOCKWISE_CONDITION, INC_ANIM_VAR_CODE, CLOCKWISE_CODE_DRAG_IM)
      • Case: False

        Condition: NotEmpty(CLOCKWISE_CODE)

        • Case: True

          Parameters set:

          • CLOCKWISE_CODE (using CLOCKWISE_CONDITION, INC_ANIM_VAR_CODE, CLOCKWISE_CODE)

      Condition: Test(ANTICLOCKWISE_CODE_DEFAULT_IM, ANTICLOCKWISE_CODE_DRAG_IM)

      • Case: True

        Parameters set:

        • ANTICLOCKWISE_CODE_DEFAULT_IM (using ANTICLOCKWISE_CONDITION, DEC_ANIM_VAR_CODE, ANTICLOCKWISE_CODE_DEFAULT_IM)
        • ANTICLOCKWISE_CODE_DRAG_IM (using ANTICLOCKWISE_CONDITION, DEC_ANIM_VAR_CODE, ANTICLOCKWISE_CODE_DRAG_IM)
      • Case: False

        Condition: NotEmpty(ANTICLOCKWISE_CODE)

        • Case: True

          Parameters set:

          • ANTICLOCKWISE_CODE (using ANTICLOCKWISE_CONDITION, DEC_ANIM_VAR_CODE, ANTICLOCKWISE_CODE)

    Condition: Valid(ANIM_HANDLED_SEPARATELY)

    • Case: False

      Templates used:

      • ASOBO_GT_Anim_Code

        Condition: Check(OVERRIDE_ANIM_CODE)

        • Case: True

          Parameters set:

          • ANIM_CODE (using OVERRIDE_ANIM_CODE)
        • Case: False

          Parameters set:

          • ANIM_CODE
          • ANIM_WRAP

      Condition: Check(WWISE_EVENT)

  • ASOBO_GT_Knob_Infinite_SeparatedInteraction

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Infinite_SeparatedInteraction"> <DefaultTemplateParameters> <ROTATION_SPEED>10</ROTATION_SPEED> <CURSOR_LEFT>TurnLeft</CURSOR_LEFT> <CURSOR_RIGHT>TurnRight</CURSOR_RIGHT> <CURSOR_UP>UpArrow</CURSOR_UP> <CURSOR_DOWN>DownArrow</CURSOR_DOWN> <LEFT_SINGLE_DOWN/> <ANIM_LAG>100</ANIM_LAG> <HIGHLIGHT_NODE_ID>#NODE_ID#</HIGHLIGHT_NODE_ID> <INVERT_WHEEL_INTERACTION>True</INVERT_WHEEL_INTERACTION> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition> <Test> <And> <Arg NotEmpty="CLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="CLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <True> <CLOCKWISE_CODE_DEFAULT_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;I:#NODE_ID#_KnobAnimVar) #CLOCKWISE_CODE_DEFAULT_IM# </CLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;I:#NODE_ID#_KnobAnimVar) #CLOCKWISE_CODE_DRAG_IM# </CLOCKWISE_CODE_DRAG_IM> </True> <False> <CLOCKWISE_CODE_DEFAULT_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;I:#NODE_ID#_KnobAnimVar) #CLOCKWISE_CODE# </CLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# + dnor (&gt;I:#NODE_ID#_KnobAnimVar) #CLOCKWISE_CODE# </CLOCKWISE_CODE_DRAG_IM> </False> </Condition> <Condition> <Test> <And> <Arg NotEmpty="ANTICLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="ANTICLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <True> <ANTICLOCKWISE_CODE_DEFAULT_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;I:#NODE_ID#_KnobAnimVar) #ANTICLOCKWISE_CODE_DEFAULT_IM# </ANTICLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DRAG_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;I:#NODE_ID#_KnobAnimVar) #ANTICLOCKWISE_CODE_DRAG_IM# </ANTICLOCKWISE_CODE_DRAG_IM> </True> <False> <ANTICLOCKWISE_CODE_DEFAULT_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;I:#NODE_ID#_KnobAnimVar) #ANTICLOCKWISE_CODE# </ANTICLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DRAG_IM> (I:#NODE_ID#_KnobAnimVar) #ROTATION_SPEED# - dnor (&gt;I:#NODE_ID#_KnobAnimVar) #ANTICLOCKWISE_CODE# </ANTICLOCKWISE_CODE_DRAG_IM> </False> </Condition> <LEFT_SINGLE_CODE_OUTER>1 (&gt;O:_Interacting)</LEFT_SINGLE_CODE_OUTER> <LEFT_SINGLE_CODE_INNER>1 (&gt;O:_Interacting)</LEFT_SINGLE_CODE_INNER> <LEFT_LEAVE_CODE_OUTER>0 (&gt;O:_Interacting)</LEFT_LEAVE_CODE_OUTER> <LEFT_LEAVE_CODE_INNER>0 (&gt;O:_Interacting)</LEFT_LEAVE_CODE_INNER> <NO_PUSH_PULL_LOCK>True</NO_PUSH_PULL_LOCK> <CURSOR_LEFT/> <CURSOR_RIGHT/> </OverrideTemplateParameters> <EditableTemplateParameters> <AddParams> <HITBOX_UP_NODE_ID/> <HITBOX_DOWN_NODE_ID/> </AddParams> <RemoveParams> <NODE_ID/> </RemoveParams> </EditableTemplateParameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>(I:#NODE_ID#_KnobAnimVar) 3.6 / </ANIM_CODE> <ANIM_WRAP>True</ANIM_WRAP> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_SoundEvents_Same"/> </Component> <Component ID="#HITBOX_UP_NODE_ID#" Node="#HITBOX_UP_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Interaction_WheelAndContinuousLeft_LeftSingle"> <Condition Check="SWITCH_DIRECTION" Match="Vertical"> <CURSOR>#CURSOR_UP#</CURSOR> <CODE_UP>#ANTICLOCKWISE_CODE_DRAG_IM#</CODE_UP> <CODE_DN>#CLOCKWISE_CODE_DRAG_IM#</CODE_DN> <CODE_LEFT>0</CODE_LEFT> <CODE_RIGHT>0</CODE_RIGHT> </Condition> <Condition Check="SWITCH_DIRECTION" Match="Horizontal"> <CURSOR>#CURSOR_LEFT#</CURSOR> <CODE_UP>0</CODE_UP> <CODE_DN>0</CODE_DN> <CODE_LEFT>#CLOCKWISE_CODE_DRAG_IM#</CODE_LEFT> <CODE_RIGHT>#ANTICLOCKWISE_CODE_DRAG_IM#</CODE_RIGHT> </Condition> <Condition Valid="INVERT_WHEEL_INTERACTION"> <True> <CLOCKWISE_CODE_DEFAULT_IM>#ANTICLOCKWISE_CODE_DEFAULT_IM#</CLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DEFAULT_IM>#CLOCKWISE_CODE_DEFAULT_IM#</ANTICLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM>#ANTICLOCKWISE_CODE_DRAG_IM#</CLOCKWISE_CODE_DRAG_IM> <ANTICLOCKWISE_CODE_DRAG_IM>#CLOCKWISE_CODE_DRAG_IM#</ANTICLOCKWISE_CODE_DRAG_IM> </True> </Condition> <UPDATE_DEFAULT_IM> (O:_Interacting) if{ #ANTICLOCKWISE_CODE_DEFAULT_IM# } </UPDATE_DEFAULT_IM> </UseTemplate> </Component> <Component ID="#HITBOX_DOWN_NODE_ID#" Node="#HITBOX_DOWN_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Interaction_WheelAndContinuousLeft_LeftSingle"> <Condition Check="SWITCH_DIRECTION" Match="Vertical"> <CURSOR>#CURSOR_DOWN#</CURSOR> <CODE_UP>#ANTICLOCKWISE_CODE_DRAG_IM#</CODE_UP> <CODE_DN>#CLOCKWISE_CODE_DRAG_IM#</CODE_DN> <CODE_LEFT>0</CODE_LEFT> <CODE_RIGHT>0</CODE_RIGHT> </Condition> <Condition Check="SWITCH_DIRECTION" Match="Horizontal"> <CURSOR>#CURSOR_RIGHT#</CURSOR> <CODE_UP>0</CODE_UP> <CODE_DN>0</CODE_DN> <CODE_LEFT>#CLOCKWISE_CODE_DRAG_IM#</CODE_LEFT> <CODE_RIGHT>#ANTICLOCKWISE_CODE_DRAG_IM#</CODE_RIGHT> </Condition> <Condition Valid="INVERT_WHEEL_INTERACTION"> <True> <CLOCKWISE_CODE_DEFAULT_IM>#ANTICLOCKWISE_CODE_DEFAULT_IM#</CLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DEFAULT_IM>#CLOCKWISE_CODE_DEFAULT_IM#</ANTICLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM>#ANTICLOCKWISE_CODE_DRAG_IM#</CLOCKWISE_CODE_DRAG_IM> <ANTICLOCKWISE_CODE_DRAG_IM>#CLOCKWISE_CODE_DRAG_IM#</ANTICLOCKWISE_CODE_DRAG_IM> </True> </Condition> <UPDATE_DEFAULT_IM> (O:_Interacting) if{ #CLOCKWISE_CODE_DEFAULT_IM# } </UPDATE_DEFAULT_IM> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ROTATION_SPEED
      • CURSOR_LEFT
      • CURSOR_RIGHT
      • CURSOR_UP
      • CURSOR_DOWN
      • LEFT_SINGLE_DOWN
      • ANIM_LAG
      • HIGHLIGHT_NODE_ID (using NODE_ID)
      • INVERT_WHEEL_INTERACTION
    • Override

      Parameters set:

      • LEFT_SINGLE_CODE_OUTER
      • LEFT_SINGLE_CODE_INNER
      • LEFT_LEAVE_CODE_OUTER
      • LEFT_LEAVE_CODE_INNER
      • NO_PUSH_PULL_LOCK
      • CURSOR_LEFT
      • CURSOR_RIGHT

      Condition: Test(CLOCKWISE_CODE_DEFAULT_IM, CLOCKWISE_CODE_DRAG_IM)

      • Case: True

        Parameters set:

        • CLOCKWISE_CODE_DEFAULT_IM (using NODE_ID, ROTATION_SPEED, CLOCKWISE_CODE_DEFAULT_IM)
        • CLOCKWISE_CODE_DRAG_IM (using NODE_ID, ROTATION_SPEED, CLOCKWISE_CODE_DRAG_IM)
      • Case: False

        Parameters set:

        • CLOCKWISE_CODE_DEFAULT_IM (using NODE_ID, ROTATION_SPEED, CLOCKWISE_CODE)
        • CLOCKWISE_CODE_DRAG_IM (using NODE_ID, ROTATION_SPEED, CLOCKWISE_CODE)

      Condition: Test(ANTICLOCKWISE_CODE_DEFAULT_IM, ANTICLOCKWISE_CODE_DRAG_IM)

      • Case: True

        Parameters set:

        • ANTICLOCKWISE_CODE_DEFAULT_IM (using NODE_ID, ROTATION_SPEED, ANTICLOCKWISE_CODE_DEFAULT_IM)
        • ANTICLOCKWISE_CODE_DRAG_IM (using NODE_ID, ROTATION_SPEED, ANTICLOCKWISE_CODE_DRAG_IM)
      • Case: False

        Parameters set:

        • ANTICLOCKWISE_CODE_DEFAULT_IM (using NODE_ID, ROTATION_SPEED, ANTICLOCKWISE_CODE)
        • ANTICLOCKWISE_CODE_DRAG_IM (using NODE_ID, ROTATION_SPEED, ANTICLOCKWISE_CODE)

    Parameters read:

    • NODE_ID
    • HITBOX_UP_NODE_ID
    • HITBOX_DOWN_NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Templates used:

    • #HITBOX_UP_NODE_ID# (Node: #HITBOX_UP_NODE_ID#)

      Templates used:

      • ASOBO_GT_Interaction_WheelAndContinuousLeft_LeftSingle

        Parameters set:

        • UPDATE_DEFAULT_IM (using ANTICLOCKWISE_CODE_DEFAULT_IM)

        Condition: Check(SWITCH_DIRECTION)

        • Case: True

          Parameters set:

          • CURSOR (using CURSOR_UP)
          • CODE_UP (using ANTICLOCKWISE_CODE_DRAG_IM)
          • CODE_DN (using CLOCKWISE_CODE_DRAG_IM)
          • CODE_LEFT
          • CODE_RIGHT

        Condition: Check(SWITCH_DIRECTION)

        • Case: True

          Parameters set:

          • CURSOR (using CURSOR_LEFT)
          • CODE_UP
          • CODE_DN
          • CODE_LEFT (using CLOCKWISE_CODE_DRAG_IM)
          • CODE_RIGHT (using ANTICLOCKWISE_CODE_DRAG_IM)

        Condition: Valid(INVERT_WHEEL_INTERACTION)

        • Case: True

          Parameters set:

          • CLOCKWISE_CODE_DEFAULT_IM (using ANTICLOCKWISE_CODE_DEFAULT_IM)
          • ANTICLOCKWISE_CODE_DEFAULT_IM (using CLOCKWISE_CODE_DEFAULT_IM)
          • CLOCKWISE_CODE_DRAG_IM (using ANTICLOCKWISE_CODE_DRAG_IM)
          • ANTICLOCKWISE_CODE_DRAG_IM (using CLOCKWISE_CODE_DRAG_IM)
    • #HITBOX_DOWN_NODE_ID# (Node: #HITBOX_DOWN_NODE_ID#)

      Templates used:

      • ASOBO_GT_Interaction_WheelAndContinuousLeft_LeftSingle

        Parameters set:

        • UPDATE_DEFAULT_IM (using CLOCKWISE_CODE_DEFAULT_IM)

        Condition: Check(SWITCH_DIRECTION)

        • Case: True

          Parameters set:

          • CURSOR (using CURSOR_DOWN)
          • CODE_UP (using ANTICLOCKWISE_CODE_DRAG_IM)
          • CODE_DN (using CLOCKWISE_CODE_DRAG_IM)
          • CODE_LEFT
          • CODE_RIGHT

        Condition: Check(SWITCH_DIRECTION)

        • Case: True

          Parameters set:

          • CURSOR (using CURSOR_RIGHT)
          • CODE_UP
          • CODE_DN
          • CODE_LEFT (using CLOCKWISE_CODE_DRAG_IM)
          • CODE_RIGHT (using ANTICLOCKWISE_CODE_DRAG_IM)

        Condition: Valid(INVERT_WHEEL_INTERACTION)

        • Case: True

          Parameters set:

          • CLOCKWISE_CODE_DEFAULT_IM (using ANTICLOCKWISE_CODE_DEFAULT_IM)
          • ANTICLOCKWISE_CODE_DEFAULT_IM (using CLOCKWISE_CODE_DEFAULT_IM)
          • CLOCKWISE_CODE_DRAG_IM (using ANTICLOCKWISE_CODE_DRAG_IM)
          • ANTICLOCKWISE_CODE_DRAG_IM (using CLOCKWISE_CODE_DRAG_IM)
  • ASOBO_GT_Knob_Infinite_Sim

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Infinite_Sim"> <UseTemplate Name="ASOBO_GT_Anim_Sim"> <ANIM_WRAP>True</ANIM_WRAP> </UseTemplate> <UseTemplate Name="ASOBO_GT_Interaction_WheelAndContinuousLeft"/> </Template>

    Templates used:

  • ASOBO_GT_Knob_Infinite_Push

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Infinite_Push"> <DefaultTemplateParameters> <ANIM_LENGTH_PUSH>100</ANIM_LENGTH_PUSH> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0.004</CENTER_RADIUS> <ANIMREF_ID>-1</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <OVERRIDE_PUSH_ANIM_CODE>(O:_PushAnimVar)</OVERRIDE_PUSH_ANIM_CODE> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_PUSH/> <ANIM_NAME_KNOB/> </AddParams> <RemoveParams> <ANIM_NAME/> </RemoveParams> </EditableTemplateParameters> <Condition> <Test> <Or> <Arg Valid="ANIM_HANDLED_SEPARATELY"/> <Arg Valid="PUSH_ANIM_HANDLED_SEPARATELY"/> </Or> </Test> <False> <Update Frequency="10"> (O:_ButtonPressed) 0 &gt; if{ #ANIM_LENGTH_PUSH# (&gt;O:_PushAnimVar) } els{ (O:_PushAnimVar) #ANIM_LENGTH_PUSH# 0.7 * - 0 max (&gt;O:_PushAnimVar) } </Update> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSH#</ANIM_LENGTH> <ANIM_CODE>#OVERRIDE_PUSH_ANIM_CODE#</ANIM_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO_GT_Knob_Infinite"> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <False> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> </False> </Condition> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH_PUSH
      • ANIM_LENGTH_KNOB
      • ROTATION_SPEED
      • CENTER_RADIUS
      • ANIMREF_ID
      • ANIMTIP_0_ON_CURSOR
      • ANIMTIP_1_ON_CURSOR
      • OVERRIDE_PUSH_ANIM_CODE

    Templates used:

    Condition: Test(ANIM_HANDLED_SEPARATELY, PUSH_ANIM_HANDLED_SEPARATELY)

    • Case: False

      Parameters read:

      • ANIM_LENGTH_PUSH

      Templates used:

  • ASOBO_GT_Knob_Infinite_Pull

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Infinite_Pull"> <DefaultTemplateParameters> <ANIM_LENGTH_PULL>100</ANIM_LENGTH_PULL> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0.004</CENTER_RADIUS> <ANIMREF_ID>-1</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <LEFT_SINGLE_CODE>(O:PullAnimVar) ! (&gt;O:PullAnimVar)</LEFT_SINGLE_CODE> <ANIM_CODE>(O:PullAnimVar)</ANIM_CODE> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_PULL/> <ANIM_NAME_KNOB/> </AddParams> <RemoveParams> <ANIM_NAME/> </RemoveParams> </EditableTemplateParameters> <UseTemplate Name="ASOBO_GT_Anim"> <ANIM_NAME>#ANIM_NAME_PULL#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PULL#</ANIM_LENGTH> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PULL#</ANIM_NAME> </UseTemplate> <UseTemplate Name="ASOBO_GT_Knob_Infinite"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_LeftSingle</EXTRA_INTERACTION> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH_PULL
      • ANIM_LENGTH_KNOB
      • ROTATION_SPEED
      • CENTER_RADIUS
      • ANIMREF_ID
      • ANIMTIP_0_ON_CURSOR
      • ANIMTIP_1_ON_CURSOR
      • LEFT_SINGLE_CODE
      • ANIM_CODE

    Templates used:

  • ASOBO_GT_Knob_Infinite_PushPull

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Infinite_PushPull"> <Parameters Type="Default"> <ANIM_LENGTH_PUSHPULL>100</ANIM_LENGTH_PUSHPULL> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0</CENTER_RADIUS> <ANIMREF_ID>-1</ANIMREF_ID> <ANIMTIP_0_ON_CURSOR>TurnLeft</ANIMTIP_0_ON_CURSOR> <ANIMTIP_1_ON_CURSOR>TurnRight</ANIMTIP_1_ON_CURSOR> <WWISE_EVENT_PUSH>#WWISE_EVENT_1#</WWISE_EVENT_PUSH> <WWISE_EVENT_PULL>#WWISE_EVENT_1#</WWISE_EVENT_PULL> <WWISE_EVENT_BACK_TO_CENTER>#WWISE_EVENT_2#</WWISE_EVENT_BACK_TO_CENTER> <NORMALIZED_TIME_PUSH_ON>0.6</NORMALIZED_TIME_PUSH_ON> <NORMALIZED_TIME_PUSH_OFF>0.9</NORMALIZED_TIME_PUSH_OFF> <NORMALIZED_TIME_PULL_ON>0.4</NORMALIZED_TIME_PULL_ON> <NORMALIZED_TIME_PULL_OFF>0.1</NORMALIZED_TIME_PULL_OFF> </Parameters> <UseTemplate Name="ASOBO_GT_Anim"> <ANIM_NAME>#ANIM_NAME_PUSHPULL#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSHPULL#</ANIM_LENGTH> <ANIM_CODE>(O:IsPulled) if{ 0 } els{ 100 50 (O:IsPushed) ? }</ANIM_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSHPULL#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_EVENT_PUSH#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_EVENT_BACK_TO_CENTER#</WWISE_EVENT_2> <NORMALIZED_TIME_1>#NORMALIZED_TIME_PUSH_ON#</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>#NORMALIZED_TIME_PUSH_OFF#</NORMALIZED_TIME_2> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSHPULL#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_EVENT_PULL#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_EVENT_BACK_TO_CENTER#</WWISE_EVENT_2> <NORMALIZED_TIME_1>#NORMALIZED_TIME_PULL_ON#</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>#NORMALIZED_TIME_PULL_OFF#</NORMALIZED_TIME_2> <DIRECTION_1>Backward</DIRECTION_1> <DIRECTION_2>Forward</DIRECTION_2> </UseTemplate> <UseTemplate Name="ASOBO_GT_Knob_Infinite"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_PushPull</EXTRA_INTERACTION> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH_PUSHPULL
      • ANIM_LENGTH_KNOB
      • ROTATION_SPEED
      • CENTER_RADIUS
      • ANIMREF_ID
      • ANIMTIP_0_ON_CURSOR
      • ANIMTIP_1_ON_CURSOR
      • WWISE_EVENT_PUSH (using WWISE_EVENT_1)
      • WWISE_EVENT_PULL (using WWISE_EVENT_1)
      • WWISE_EVENT_BACK_TO_CENTER (using WWISE_EVENT_2)
      • NORMALIZED_TIME_PUSH_ON
      • NORMALIZED_TIME_PUSH_OFF
      • NORMALIZED_TIME_PULL_ON
      • NORMALIZED_TIME_PULL_OFF

    Templates used:

    • ASOBO_GT_Anim

      Parameters set:

      • ANIM_NAME (using ANIM_NAME_PUSHPULL)
      • ANIM_LENGTH (using ANIM_LENGTH_PUSHPULL)
      • ANIM_CODE
    • ASOBO_GT_AnimTriggers_2SoundEvents

      Parameters set:

      • ANIM_NAME (using ANIM_NAME_PUSHPULL)
      • WWISE_EVENT_1 (using WWISE_EVENT_PUSH)
      • WWISE_EVENT_2 (using WWISE_EVENT_BACK_TO_CENTER)
      • NORMALIZED_TIME_1 (using NORMALIZED_TIME_PUSH_ON)
      • NORMALIZED_TIME_2 (using NORMALIZED_TIME_PUSH_OFF)
    • ASOBO_GT_AnimTriggers_2SoundEvents

      Parameters set:

      • ANIM_NAME (using ANIM_NAME_PUSHPULL)
      • WWISE_EVENT_1 (using WWISE_EVENT_PULL)
      • WWISE_EVENT_2 (using WWISE_EVENT_BACK_TO_CENTER)
      • NORMALIZED_TIME_1 (using NORMALIZED_TIME_PULL_ON)
      • NORMALIZED_TIME_2 (using NORMALIZED_TIME_PULL_OFF)
      • DIRECTION_1
      • DIRECTION_2
    • ASOBO_GT_Knob_Infinite

      Parameters set:

      • ANIM_NAME (using ANIM_NAME_KNOB)
      • ANIM_LENGTH (using ANIM_LENGTH_KNOB)
      • EXTRA_INTERACTION
  • ASOBO_GT_Knob_Infinite_Push_Timed

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Infinite_Push_Timed"> <DefaultTemplateParameters> <ANIM_LENGTH_PUSH>100</ANIM_LENGTH_PUSH> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0.004</CENTER_RADIUS> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <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> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_PUSH/> <ANIM_NAME_KNOB/> </AddParams> <RemoveParams> <ANIM_NAME/> </RemoveParams> </EditableTemplateParameters> <UseTemplate Name="ASOBO_GT_Knob_Infinite"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <EXTRA_INTERACTION>_LeftSingleTimed</EXTRA_INTERACTION> </UseTemplate> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSH#</ANIM_LENGTH> <ANIM_CODE>(O:_PressTime) 0 &gt; if{ #ANIM_LENGTH_PUSH# (&gt;O:_PushAnimVar) } els{ (O:_PushAnimVar) #ANIM_LENGTH_PUSH# 0.7 * - 0 max (&gt;O:_PushAnimVar) } (O:_PushAnimVar)</ANIM_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH_PUSH
      • ANIM_LENGTH_KNOB
      • ROTATION_SPEED
      • CENTER_RADIUS
      • LEFT_SINGLE_CODE
      • LEFT_LEAVE_CODE
      • LOCKABLE_EVENT_SECONDARY
      • NO_LOCK_EVENT_SECONDARY
      • MOUSEFLAGS_DRAG_IM

    Templates used:

  • ASOBO_GT_Knob_Finite_Code_Push_Timed

    Definition from XML
    <Template Name="ASOBO_GT_Knob_Finite_Code_Push_Timed"> <DefaultTemplateParameters> <ANIM_LENGTH_PUSH>100</ANIM_LENGTH_PUSH> <ANIM_LENGTH_KNOB>100</ANIM_LENGTH_KNOB> <ROTATION_SPEED>10</ROTATION_SPEED> <CENTER_RADIUS>0.004</CENTER_RADIUS> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <ANIM_CODE_KNOB/> <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> </DefaultTemplateParameters> <EditableTemplateParameters> <AddParams> <ANIM_NAME_PUSH/> <ANIM_NAME_KNOB/> </AddParams> <RemoveParams> <ANIM_NAME/> </RemoveParams> </EditableTemplateParameters> <UseTemplate Name="ASOBO_GT_Knob_Finite_Code"> <ANIM_NAME>#ANIM_NAME_KNOB#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_KNOB#</ANIM_LENGTH> <ANIM_CODE>#ANIM_CODE_KNOB#</ANIM_CODE> <EXTRA_INTERACTION>_LeftSingleTimed</EXTRA_INTERACTION> </UseTemplate> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> <ANIM_LENGTH>#ANIM_LENGTH_PUSH#</ANIM_LENGTH> <ANIM_CODE>(O:_PressTime) 0 &gt; if{ #ANIM_LENGTH_PUSH# (&gt;O:_PushAnimVar) } els{ (O:_PushAnimVar) #ANIM_LENGTH_PUSH# 0.7 * - 0 max (&gt;O:_PushAnimVar) } (O:_PushAnimVar)</ANIM_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_PUSH#</ANIM_NAME> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH_PUSH
      • ANIM_LENGTH_KNOB
      • ROTATION_SPEED
      • CENTER_RADIUS
      • LEFT_SINGLE_CODE
      • LEFT_LEAVE_CODE
      • ANIM_CODE_KNOB
      • LOCKABLE_EVENT_SECONDARY
      • NO_LOCK_EVENT_SECONDARY
      • MOUSEFLAGS_DRAG_IM

    Templates used: