Asobo\Generic\Complex\Joystick.xml
Templates
-
ASOBO_GT_Joystick_Interaction
Definition from XML<Template Name="ASOBO_GT_Joystick_Interaction"> <DefaultTemplateParameters> <JOYSTICK_LEFT_SINGLE_CODE/> <JOYSTICK_RELEASE_CODE/> <UPDATE_FREQUENCY>5</UPDATE_FREQUENCY> <DOWN_TIME_BEFORE_REPEAT>0.5</DOWN_TIME_BEFORE_REPEAT> <CENTER_RADIUS>0.0025</CENTER_RADIUS> <JOYSTICK_X_CODE_LEFT/> <JOYSTICK_X_CODE_RIGHT/> <JOYSTICK_Y_CODE_DOWN/> <JOYSTICK_Y_CODE_UP/> <VAR_NAME>XMLVAR_Interacting_With_Joystick#ID#</VAR_NAME> <THRESHOLD_X_INPUT>0.03</THRESHOLD_X_INPUT> <THRESHOLD_X_MOUSE>0.001</THRESHOLD_X_MOUSE> <THRESHOLD_Y_INPUT>0.03</THRESHOLD_Y_INPUT> <THRESHOLD_Y_MOUSE>0.001</THRESHOLD_Y_MOUSE> </DefaultTemplateParameters> <OverrideTemplateParameters> <THRESHOLD_X>#THRESHOLD_X_INPUT# #THRESHOLD_X_MOUSE# (M:InputType) 1 == ?</THRESHOLD_X> <THRESHOLD_Y>#THRESHOLD_Y_INPUT# #THRESHOLD_Y_MOUSE# (M:InputType) 1 == ?</THRESHOLD_Y> </OverrideTemplateParameters> <Update frequency="#UPDATE_FREQUENCY#" InteractionModel="Default"> (I:#VAR_NAME#) if{ (I:#JOYSTICK_ID#Interacting_With_X_Axis) if{ (I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) (I:#JOYSTICK_ID#Interacting_RepeatTime) (E:SIMULATION TIME, seconds) < and if{ (I:#JOYSTICK_ID#_Panning_X_Axis_Delta) 0 < if{ #JOYSTICK_X_CODE_LEFT# } els{ #JOYSTICK_X_CODE_RIGHT# } } } els{ (I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) (I:#JOYSTICK_ID#Interacting_RepeatTime) (E:SIMULATION TIME, seconds) < and if{ (I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) 0 < if{ #JOYSTICK_Y_CODE_DOWN# } els{ #JOYSTICK_Y_CODE_UP# } } } } </Update> <UseTemplate Name="ASOBO_GT_MouseRect"> <CALLBACKCODE_DEFAULT_IM> (M:Event) 'LeftSingle' scmi 0 == if{ 1 (>I:#VAR_NAME#) (E:SIMULATION TIME, seconds) #DOWN_TIME_BEFORE_REPEAT# + (>I:#JOYSTICK_ID#Interacting_RepeatTime) 1 sp0 #JOYSTICK_LEFT_SINGLE_CODE# g1 } els{ (M:Event) 'LeftRelease' scmi 0 == if{ 0 (>I:#VAR_NAME#) 0 (>I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) 0 (>I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) #JOYSTICK_RELEASE_CODE# } els{ (M:Event) 'LeftDrag' scmi 0 == if{ g1 } } } quit :1 (M:RelativeX) abs (M:RelativeY) abs > (>I:#JOYSTICK_ID#Interacting_With_X_Axis) (M:RelativeX) abs #CENTER_RADIUS# > (>I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) (M:RelativeY) abs #CENTER_RADIUS# > (>I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) -1 1 (M:RelativeX) 0 < ? (>I:#JOYSTICK_ID#_Panning_X_Axis_Delta) -1 1 (M:RelativeY) 0 < ? (>I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) l0 if{ (I:#JOYSTICK_ID#Interacting_With_X_Axis) if{ (I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) if{ (I:#JOYSTICK_ID#_Panning_X_Axis_Delta) 0 < if{ #JOYSTICK_X_CODE_LEFT# } els{ #JOYSTICK_X_CODE_RIGHT# } } } els{ (I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) if{ (I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) 0 < if{ #JOYSTICK_Y_CODE_DOWN# } els{ #JOYSTICK_Y_CODE_UP# } } } } </CALLBACKCODE_DEFAULT_IM> <Condition Valid="NO_DRAG_IM_INTERACTION"> <True> <CALLBACKCODE_DRAG_IM>quit</CALLBACKCODE_DRAG_IM> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> </True> <False> <CALLBACKCODE_DRAG_IM> (M:Event) 'LeftSingle' scmi 0 == if{ #JOYSTICK_LEFT_SINGLE_CODE# (M:RelativeX) (>O:_LastX) (M:RelativeY) (>O:_LastY) 1 (>I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) 1 (>I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) } els{ (M:Event) 'LeftRelease' scmi 0 == if{ #JOYSTICK_RELEASE_CODE# 0 (>O:_LastX) 0 (>O:_LastY) 0 (>I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) 0 (>I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) } els{ (M:Event) 'LeftDrag' scmi 0 == if{ g1 } } } quit :1 (M:RelativeX) (O:_LastX) - sp0 #THRESHOLD_X# (>O:_InputThresholdX) l0 (>I:#JOYSTICK_ID#_Panning_X_Axis_Delta) l0 abs (O:_InputThresholdX) > if{ l0 (O:_InputThresholdX) / abs flr sp1 l0 (O:_InputThresholdX) % abs sp2 :1 (* for loop *) l1 0 <= if{ g2 } l1 -- sp1 l0 0 > if{ #JOYSTICK_X_CODE_RIGHT# } els{ #JOYSTICK_X_CODE_LEFT# } g1 :2 l0 0 > if{ (M:RelativeX) l2 - (>O:_LastX) } els{ (M:RelativeX) l2 + (>O:_LastX) } } (M:RelativeY) (O:_LastY) - sp0 #THRESHOLD_Y# (>O:_InputThresholdY) l0 (>I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) l0 abs (O:_InputThresholdY) > if{ l0 (O:_InputThresholdY) / abs flr sp1 l0 (O:_InputThresholdY) % abs sp2 :3 (* for loop *) l1 0 <= if{ g4 } l1 -- sp1 l0 0 > if{ #JOYSTICK_Y_CODE_UP# } els{ #JOYSTICK_Y_CODE_DOWN# } g3 :4 l0 0 > if{ (M:RelativeY) l2 - (>O:_LastY) } els{ (M:RelativeY) l2 + (>O:_LastY) } } </CALLBACKCODE_DRAG_IM> </False> </Condition> <MOUSEFLAGS>LeftAll</MOUSEFLAGS> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- JOYSTICK_LEFT_SINGLE_CODE
- JOYSTICK_RELEASE_CODE
- UPDATE_FREQUENCY
- DOWN_TIME_BEFORE_REPEAT
- CENTER_RADIUS
- JOYSTICK_X_CODE_LEFT
- JOYSTICK_X_CODE_RIGHT
- JOYSTICK_Y_CODE_DOWN
- JOYSTICK_Y_CODE_UP
- VAR_NAME (using ID)
- THRESHOLD_X_INPUT
- THRESHOLD_X_MOUSE
- THRESHOLD_Y_INPUT
- THRESHOLD_Y_MOUSE
-
Override
Parameters set:
- THRESHOLD_X (using THRESHOLD_X_INPUT, THRESHOLD_X_MOUSE)
- THRESHOLD_Y (using THRESHOLD_Y_INPUT, THRESHOLD_Y_MOUSE)
Parameters read:
- UPDATE_FREQUENCY
- VAR_NAME
- JOYSTICK_ID
- JOYSTICK_X_CODE_LEFT
- JOYSTICK_X_CODE_RIGHT
- JOYSTICK_Y_CODE_DOWN
- JOYSTICK_Y_CODE_UP
Templates used:
-
ASOBO_GT_MouseRect
Parameters set:
- CALLBACKCODE_DEFAULT_IM (using VAR_NAME, DOWN_TIME_BEFORE_REPEAT, JOYSTICK_ID, JOYSTICK_LEFT_SINGLE_CODE, JOYSTICK_RELEASE_CODE, CENTER_RADIUS, JOYSTICK_X_CODE_LEFT, JOYSTICK_X_CODE_RIGHT, JOYSTICK_Y_CODE_DOWN, JOYSTICK_Y_CODE_UP)
- MOUSEFLAGS
Condition: Valid(NO_DRAG_IM_INTERACTION)
-
Case: True
Parameters set:
- CALLBACKCODE_DRAG_IM
- DISABLE_INTERACTION_LOCK
-
Case: False
Parameters set:
- CALLBACKCODE_DRAG_IM (using JOYSTICK_LEFT_SINGLE_CODE, JOYSTICK_ID, JOYSTICK_RELEASE_CODE, THRESHOLD_X, JOYSTICK_X_CODE_RIGHT, JOYSTICK_X_CODE_LEFT, THRESHOLD_Y, JOYSTICK_Y_CODE_UP, JOYSTICK_Y_CODE_DOWN)
-
Default
-
ASOBO_GT_Joystick
Definition from XML<Template Name="ASOBO_GT_Joystick"> <Parameters Type="Default"> <ANIM_NAME_L_R>Joystick_X_Axis</ANIM_NAME_L_R> <ANIM_NAME_DN_UP>Joystick_Y_Axis</ANIM_NAME_DN_UP> <LEFTARROW>LeftArrow</LEFTARROW> <RIGHTARROW>RightArrow</RIGHTARROW> <UPARROW>UpArrow</UPARROW> <DOWNARROW>DownArrow</DOWNARROW> <CENTER_CURSOR>Hand</CENTER_CURSOR> <ID>1</ID> <WWISE_JOYSTICK_EVENT_L>generic_joystick_L</WWISE_JOYSTICK_EVENT_L> <WWISE_JOYSTICK_EVENT_R>generic_joystick_R</WWISE_JOYSTICK_EVENT_R> <WWISE_JOYSTICK_EVENT_UP>generic_joystick_UP</WWISE_JOYSTICK_EVENT_UP> <WWISE_JOYSTICK_EVENT_DN>generic_joystick_DN</WWISE_JOYSTICK_EVENT_DN> </Parameters> <Parameters Type="Override"> <JOYSTICK_ID>Joystick_#ID#</JOYSTICK_ID> </Parameters> <Condition Valid="NO_ANIMATION"> <False> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>(I:#JOYSTICK_ID#_Panning_X_Axis_Delta) (I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) * 50 * 50 +</ANIM_CODE> <ANIM_LENGTH>100</ANIM_LENGTH> <ANIM_NAME>#ANIM_NAME_L_R#</ANIM_NAME> </UseTemplate> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>(I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) (I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) * 50 * 50 +</ANIM_CODE> <ANIM_LENGTH>100</ANIM_LENGTH> <ANIM_NAME>#ANIM_NAME_DN_UP#</ANIM_NAME> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_L_R#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_JOYSTICK_EVENT_L#</WWISE_EVENT_1> <DIRECTION_1>Both</DIRECTION_1> <WWISE_EVENT_2>#WWISE_JOYSTICK_EVENT_R#</WWISE_EVENT_2> <DIRECTION_2>Both</DIRECTION_2> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_DN_UP#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_JOYSTICK_EVENT_DN#</WWISE_EVENT_1> <DIRECTION_1>Both</DIRECTION_1> <WWISE_EVENT_2>#WWISE_JOYSTICK_EVENT_UP#</WWISE_EVENT_2> <DIRECTION_2>Both</DIRECTION_2> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO_GT_Joystick_Interaction"/> </Template>Parameters initialization:
-
Default
Parameters set:
- ANIM_NAME_L_R
- ANIM_NAME_DN_UP
- LEFTARROW
- RIGHTARROW
- UPARROW
- DOWNARROW
- CENTER_CURSOR
- ID
- WWISE_JOYSTICK_EVENT_L
- WWISE_JOYSTICK_EVENT_R
- WWISE_JOYSTICK_EVENT_UP
- WWISE_JOYSTICK_EVENT_DN
-
Override
Parameters set:
- JOYSTICK_ID (using ID)
Templates used:
Condition: Valid(NO_ANIMATION)
-
Case: False
Templates used:
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_CODE (using JOYSTICK_ID)
- ANIM_LENGTH
- ANIM_NAME (using ANIM_NAME_L_R)
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_CODE (using JOYSTICK_ID)
- ANIM_LENGTH
- ANIM_NAME (using ANIM_NAME_DN_UP)
-
ASOBO_GT_AnimTriggers_2SoundEvents
Parameters set:
- ANIM_NAME (using ANIM_NAME_L_R)
- WWISE_EVENT_1 (using WWISE_JOYSTICK_EVENT_L)
- DIRECTION_1
- WWISE_EVENT_2 (using WWISE_JOYSTICK_EVENT_R)
- DIRECTION_2
-
ASOBO_GT_AnimTriggers_2SoundEvents
Parameters set:
- ANIM_NAME (using ANIM_NAME_DN_UP)
- WWISE_EVENT_1 (using WWISE_JOYSTICK_EVENT_DN)
- DIRECTION_1
- WWISE_EVENT_2 (using WWISE_JOYSTICK_EVENT_UP)
- DIRECTION_2
-
ASOBO_GT_Anim_Code
-
Default
-
ASOBO_GT_Joystick_Interaction_Pan
Definition from XML<Template Name="ASOBO_GT_Joystick_Interaction_Pan"> <Parameters Type="Default"> <ID>1</ID> <WWISE_JOYSTICK_EVENT_L>generic_joystick_L</WWISE_JOYSTICK_EVENT_L> <WWISE_JOYSTICK_EVENT_R>generic_joystick_R</WWISE_JOYSTICK_EVENT_R> <WWISE_JOYSTICK_EVENT_UP>generic_joystick_UP</WWISE_JOYSTICK_EVENT_UP> <WWISE_JOYSTICK_EVENT_DN>generic_joystick_DN</WWISE_JOYSTICK_EVENT_DN> <JOYSTICK_X_CODE_LEFT/> <JOYSTICK_X_CODE_RIGHT/> <JOYSTICK_Y_CODE_DOWN/> <JOYSTICK_Y_CODE_UP/> <THRESHOLD_X_INPUT>0.03</THRESHOLD_X_INPUT> <THRESHOLD_X_MOUSE>0.001</THRESHOLD_X_MOUSE> <THRESHOLD_Y_INPUT>0.03</THRESHOLD_Y_INPUT> <THRESHOLD_Y_MOUSE>0.001</THRESHOLD_Y_MOUSE> </Parameters> <UseTemplate Name="ASOBO_GT_Joystick"> <NO_ANIMATION>True</NO_ANIMATION> <NO_HIGHLIGHT_NODE_ID>True</NO_HIGHLIGHT_NODE_ID> <NO_DRAG_IM_INTERACTION>True</NO_DRAG_IM_INTERACTION> <UPARROW_DRAG_IM/> <DOWNARROW_DRAG_IM/> <LEFTARROW_DRAG_IM/> <RIGHTARROW_DRAG_IM/> <CURSOR_CENTER_DRAG_IM/> <CURSOR_DRAG_IM>Normal</CURSOR_DRAG_IM> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- ID
- WWISE_JOYSTICK_EVENT_L
- WWISE_JOYSTICK_EVENT_R
- WWISE_JOYSTICK_EVENT_UP
- WWISE_JOYSTICK_EVENT_DN
- JOYSTICK_X_CODE_LEFT
- JOYSTICK_X_CODE_RIGHT
- JOYSTICK_Y_CODE_DOWN
- JOYSTICK_Y_CODE_UP
- THRESHOLD_X_INPUT
- THRESHOLD_X_MOUSE
- THRESHOLD_Y_INPUT
- THRESHOLD_Y_MOUSE
Templates used:
-
ASOBO_GT_Joystick
Parameters set:
- NO_ANIMATION
- NO_HIGHLIGHT_NODE_ID
- NO_DRAG_IM_INTERACTION
- UPARROW_DRAG_IM
- DOWNARROW_DRAG_IM
- LEFTARROW_DRAG_IM
- RIGHTARROW_DRAG_IM
- CURSOR_CENTER_DRAG_IM
- CURSOR_DRAG_IM
-
Default
-
ASOBO_GT_Joystick_Interaction_Knob
Definition from XML<Template Name="ASOBO_GT_Joystick_Interaction_Knob"> <Parameters Type="Default"> <Switch Param="JOYSTICK_INTERACTION"> <Case Value="PAN_ONLY"> <ANIM_HANDLED_SEPARATELY>True</ANIM_HANDLED_SEPARATELY> </Case> <Default> <ANIM_NAME_KNOB>Joystick_Knob</ANIM_NAME_KNOB> <ANIM_NAME_PUSH>Joystick_Push</ANIM_NAME_PUSH> </Default> </Switch> <ANIM_NAME_L_R>Joystick_X_Axis</ANIM_NAME_L_R> <ANIM_NAME_DN_UP>Joystick_Y_Axis</ANIM_NAME_DN_UP> <KNOB_TURN_SPEED>10</KNOB_TURN_SPEED> <ID>1</ID> <WWISE_JOYSTICK_EVENT_L>generic_joystick_L</WWISE_JOYSTICK_EVENT_L> <WWISE_JOYSTICK_EVENT_R>generic_joystick_R</WWISE_JOYSTICK_EVENT_R> <WWISE_JOYSTICK_EVENT_UP>generic_joystick_UP</WWISE_JOYSTICK_EVENT_UP> <WWISE_JOYSTICK_EVENT_DN>generic_joystick_DN</WWISE_JOYSTICK_EVENT_DN> <WHEEL_UP_CODE/> <WHEEL_DOWN_CODE/> <LEFT_SINGLE_CODE_DEFAULT_IM/> <LEFT_RELEASE_CODE_DEFAULT_IM/> <LEFT_SINGLE_CODE_DRAG_IM/> <LEFT_RELEASE_CODE_DRAG_IM/> <JOYSTICK_X_CODE_LEFT/> <JOYSTICK_X_CODE_RIGHT/> <JOYSTICK_Y_CODE_DOWN/> <JOYSTICK_Y_CODE_UP/> <THRESHOLD_X_INPUT>0.03</THRESHOLD_X_INPUT> <THRESHOLD_X_MOUSE>0.001</THRESHOLD_X_MOUSE> <THRESHOLD_Y_INPUT>0.03</THRESHOLD_Y_INPUT> <THRESHOLD_Y_MOUSE>0.001</THRESHOLD_Y_MOUSE> <TIMEOUT_DELAY_RESET_AXIS>0.1</TIMEOUT_DELAY_RESET_AXIS> <IM_DRAG_ADDITIONAL_EVENT_HANDLING/> <USE_DEFAULT_ANIMATION>True</USE_DEFAULT_ANIMATION> </Parameters> <Parameters Type="Override"> <JOYSTICK_ID>Joystick_#ID#</JOYSTICK_ID> </Parameters> <Parameters Type="Override"> <SAVE_TIME_LAST_X_UPDATE>(E:SIMULATION TIME, seconds) #TIMEOUT_DELAY_RESET_AXIS# + (>O:#JOYSTICK_ID#_X_NextTimeout)</SAVE_TIME_LAST_X_UPDATE> <SAVE_TIME_LAST_Y_UPDATE>(E:SIMULATION TIME, seconds) #TIMEOUT_DELAY_RESET_AXIS# + (>O:#JOYSTICK_ID#_Y_NextTimeout)</SAVE_TIME_LAST_Y_UPDATE> </Parameters> <Parameters Type="Default"> <Condition Valid="USE_DEFAULT_ANIMATION"> <ANIM_CODE_AXIS_X>(I:#JOYSTICK_ID#_Panning_X_Axis_Delta) (I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) * 50 * 50 +</ANIM_CODE_AXIS_X> <ANIM_CODE_AXIS_Y>(I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) (I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) * 50 * 50 +</ANIM_CODE_AXIS_Y> </Condition> <Switch Param="JOYSTICK_INTERACTION"> <Case Value="PAN_ONLY"> <MOUSEFLAGS_DRAG_IM>LeftAll+Lock+Unlock</MOUSEFLAGS_DRAG_IM> </Case> <Default> <CLOCKWISE_CODE>#WHEEL_UP_CODE#</CLOCKWISE_CODE> <ANTICLOCKWISE_CODE>#WHEEL_DOWN_CODE#</ANTICLOCKWISE_CODE> <LEFT_SINGLE_CODE>#LEFT_SINGLE_CODE_DEFAULT_IM#</LEFT_SINGLE_CODE> <LEFT_RELEASE_CODE>#LEFT_RELEASE_CODE_DEFAULT_IM#</LEFT_RELEASE_CODE> </Default> </Switch> <NO_PUSH_PULL_LOCK>True</NO_PUSH_PULL_LOCK> <PRE_DRAG_UPDATE/> <POST_DRAG_UPDATE/> </Parameters> <Parameters Type="Override"> <Condition Valid="USE_PAD_DRAG_IM_LOCK"> <True> <PRE_DRAG_UPDATE>#PRE_DRAG_UPDATE# (O:_ResetDragTime) (E:SIMULATION TIME, second) < if{ 0 (>O:_IsLimited) } (E:SIMULATION TIME, second) @DragLockResetTimer + (>O:_ResetDragTime) (O:_IsLimited) if{ (M:RelativeX) (>O:_LastX) (M:RelativeY) (>O:_LastY) } els{ </PRE_DRAG_UPDATE> <POST_DRAG_UPDATE>} #POST_DRAG_UPDATE#</POST_DRAG_UPDATE> <LEFT_SINGLE_CODE_DRAG_IM>#LEFT_SINGLE_CODE_DRAG_IM# 0 (>O:_IsLimited)</LEFT_SINGLE_CODE_DRAG_IM> </True> </Condition> </Parameters> <Parameters Type="Default"> <Condition Valid="USE_DEFAULT_ANIMATION"> <True> <CODE_UP>#JOYSTICK_Y_CODE_UP# 1 (>I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) #SAVE_TIME_LAST_Y_UPDATE#</CODE_UP> <CODE_DN>#JOYSTICK_Y_CODE_DOWN# -1 (>I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) #SAVE_TIME_LAST_Y_UPDATE#</CODE_DN> <CODE_LEFT>#JOYSTICK_X_CODE_LEFT# -1 (>I:#JOYSTICK_ID#_Panning_X_Axis_Delta) #SAVE_TIME_LAST_X_UPDATE#</CODE_LEFT> <CODE_RIGHT>#JOYSTICK_X_CODE_RIGHT# 1 (>I:#JOYSTICK_ID#_Panning_X_Axis_Delta) #SAVE_TIME_LAST_X_UPDATE#</CODE_RIGHT> <ON_DOWN_EVENT> #LEFT_SINGLE_CODE_DRAG_IM# 1 (>I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) 1 (>I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) </ON_DOWN_EVENT> <ON_UP_EVENT> #LEFT_RELEASE_CODE_DRAG_IM# 0 (>I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) 0 (>I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) </ON_UP_EVENT> </True> <False> <CODE_UP>#JOYSTICK_Y_CODE_UP#</CODE_UP> <CODE_DN>#JOYSTICK_Y_CODE_DOWN#</CODE_DN> <CODE_LEFT>#JOYSTICK_X_CODE_LEFT#</CODE_LEFT> <CODE_RIGHT>#JOYSTICK_X_CODE_RIGHT#</CODE_RIGHT> <ON_DOWN_EVENT>#LEFT_SINGLE_CODE_DRAG_IM#</ON_DOWN_EVENT> <ON_UP_EVENT>#LEFT_RELEASE_CODE_DRAG_IM#</ON_UP_EVENT> </False> </Condition> </Parameters> <Condition Valid="USE_DEFAULT_ANIMATION"> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY Process="Int">#TIMEOUT_DELAY_RESET_AXIS# 0 > if{ 1 #TIMEOUT_DELAY_RESET_AXIS# / } els{ 10 }</FREQUENCY> <UPDATE_CODE> (I:#JOYSTICK_ID#_Can_Pan_On_X_Axis) if{ (E:SIMULATION TIME, seconds) (O:#JOYSTICK_ID#_X_NextTimeout) > if{ #SAVE_TIME_LAST_X_UPDATE# 0 (>I:#JOYSTICK_ID#_Panning_X_Axis_Delta) } } (I:#JOYSTICK_ID#_Can_Pan_On_Y_Axis) if{ (E:SIMULATION TIME, seconds) (O:#JOYSTICK_ID#_Y_NextTimeout) > if{ #SAVE_TIME_LAST_Y_UPDATE# 0 (>I:#JOYSTICK_ID#_Panning_Y_Axis_Delta) } } </UPDATE_CODE> <INTERACTION_MODEL>Drag</INTERACTION_MODEL> </UseTemplate> </Condition> <UseTemplate Name="ASOBO_GT_Knob_Infinite_Push"> <CURSOR_LEFT>TurnLeft</CURSOR_LEFT> <CURSOR_RIGHT>TurnRight</CURSOR_RIGHT> <CENTER_CURSOR>Hand</CENTER_CURSOR> </UseTemplate> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>#ANIM_CODE_AXIS_X#</ANIM_CODE> <ANIM_LENGTH>100</ANIM_LENGTH> <ANIM_NAME>#ANIM_NAME_L_R#</ANIM_NAME> <Condition Valid="INVERT_ANIM_L_R"> <INVERT_ANIM>True</INVERT_ANIM> </Condition> </UseTemplate> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>#ANIM_CODE_AXIS_Y#</ANIM_CODE> <ANIM_LENGTH>100</ANIM_LENGTH> <ANIM_NAME>#ANIM_NAME_DN_UP#</ANIM_NAME> <Condition Valid="INVERT_ANIM_DN_UP"> <INVERT_ANIM>True</INVERT_ANIM> </Condition> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_L_R#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_JOYSTICK_EVENT_L#</WWISE_EVENT_1> <DIRECTION_1>Both</DIRECTION_1> <WWISE_EVENT_2>#WWISE_JOYSTICK_EVENT_R#</WWISE_EVENT_2> <DIRECTION_2>Both</DIRECTION_2> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_DN_UP#</ANIM_NAME> <WWISE_EVENT_1>#WWISE_JOYSTICK_EVENT_DN#</WWISE_EVENT_1> <DIRECTION_1>Both</DIRECTION_1> <WWISE_EVENT_2>#WWISE_JOYSTICK_EVENT_UP#</WWISE_EVENT_2> <DIRECTION_2>Both</DIRECTION_2> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- ANIM_NAME_L_R
- ANIM_NAME_DN_UP
- KNOB_TURN_SPEED
- ID
- WWISE_JOYSTICK_EVENT_L
- WWISE_JOYSTICK_EVENT_R
- WWISE_JOYSTICK_EVENT_UP
- WWISE_JOYSTICK_EVENT_DN
- WHEEL_UP_CODE
- WHEEL_DOWN_CODE
- LEFT_SINGLE_CODE_DEFAULT_IM
- LEFT_RELEASE_CODE_DEFAULT_IM
- LEFT_SINGLE_CODE_DRAG_IM
- LEFT_RELEASE_CODE_DRAG_IM
- JOYSTICK_X_CODE_LEFT
- JOYSTICK_X_CODE_RIGHT
- JOYSTICK_Y_CODE_DOWN
- JOYSTICK_Y_CODE_UP
- THRESHOLD_X_INPUT
- THRESHOLD_X_MOUSE
- THRESHOLD_Y_INPUT
- THRESHOLD_Y_MOUSE
- TIMEOUT_DELAY_RESET_AXIS
- IM_DRAG_ADDITIONAL_EVENT_HANDLING
- USE_DEFAULT_ANIMATION
Condition: Switch(JOYSTICK_INTERACTION)
-
Case: PAN_ONLY
Parameters set:
- ANIM_HANDLED_SEPARATELY
-
Default case:
Parameters set:
- ANIM_NAME_KNOB
- ANIM_NAME_PUSH
-
Override
Parameters set:
- JOYSTICK_ID (using ID)
-
Override
Parameters set:
- SAVE_TIME_LAST_X_UPDATE (using TIMEOUT_DELAY_RESET_AXIS, JOYSTICK_ID)
- SAVE_TIME_LAST_Y_UPDATE (using TIMEOUT_DELAY_RESET_AXIS, JOYSTICK_ID)
-
Default
Parameters set:
- NO_PUSH_PULL_LOCK
- PRE_DRAG_UPDATE
- POST_DRAG_UPDATE
Condition: Valid(USE_DEFAULT_ANIMATION)
-
Case: True
Parameters set:
- ANIM_CODE_AXIS_X (using JOYSTICK_ID)
- ANIM_CODE_AXIS_Y (using JOYSTICK_ID)
Condition: Switch(JOYSTICK_INTERACTION)
-
Case: PAN_ONLY
Parameters set:
- MOUSEFLAGS_DRAG_IM
-
Default case:
Parameters set:
- CLOCKWISE_CODE (using WHEEL_UP_CODE)
- ANTICLOCKWISE_CODE (using WHEEL_DOWN_CODE)
- LEFT_SINGLE_CODE (using LEFT_SINGLE_CODE_DEFAULT_IM)
- LEFT_RELEASE_CODE (using LEFT_RELEASE_CODE_DEFAULT_IM)
-
Override
Condition: Valid(USE_PAD_DRAG_IM_LOCK)
-
Case: True
Parameters set:
- PRE_DRAG_UPDATE (using PRE_DRAG_UPDATE)
- POST_DRAG_UPDATE (using POST_DRAG_UPDATE)
- LEFT_SINGLE_CODE_DRAG_IM (using LEFT_SINGLE_CODE_DRAG_IM)
-
-
Default
Condition: Valid(USE_DEFAULT_ANIMATION)
-
Case: True
Parameters set:
- CODE_UP (using JOYSTICK_Y_CODE_UP, JOYSTICK_ID, SAVE_TIME_LAST_Y_UPDATE)
- CODE_DN (using JOYSTICK_Y_CODE_DOWN, JOYSTICK_ID, SAVE_TIME_LAST_Y_UPDATE)
- CODE_LEFT (using JOYSTICK_X_CODE_LEFT, JOYSTICK_ID, SAVE_TIME_LAST_X_UPDATE)
- CODE_RIGHT (using JOYSTICK_X_CODE_RIGHT, JOYSTICK_ID, SAVE_TIME_LAST_X_UPDATE)
- ON_DOWN_EVENT (using LEFT_SINGLE_CODE_DRAG_IM, JOYSTICK_ID)
- ON_UP_EVENT (using LEFT_RELEASE_CODE_DRAG_IM, JOYSTICK_ID)
-
Case: False
Parameters set:
- CODE_UP (using JOYSTICK_Y_CODE_UP)
- CODE_DN (using JOYSTICK_Y_CODE_DOWN)
- CODE_LEFT (using JOYSTICK_X_CODE_LEFT)
- CODE_RIGHT (using JOYSTICK_X_CODE_RIGHT)
- ON_DOWN_EVENT (using LEFT_SINGLE_CODE_DRAG_IM)
- ON_UP_EVENT (using LEFT_RELEASE_CODE_DRAG_IM)
-
Templates used:
-
ASOBO_GT_Knob_Infinite_Push
Parameters set:
- CURSOR_LEFT
- CURSOR_RIGHT
- CENTER_CURSOR
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_CODE (using ANIM_CODE_AXIS_X)
- ANIM_LENGTH
- ANIM_NAME (using ANIM_NAME_L_R)
Condition: Valid(INVERT_ANIM_L_R)
-
Case: True
Parameters set:
- INVERT_ANIM
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_CODE (using ANIM_CODE_AXIS_Y)
- ANIM_LENGTH
- ANIM_NAME (using ANIM_NAME_DN_UP)
Condition: Valid(INVERT_ANIM_DN_UP)
-
Case: True
Parameters set:
- INVERT_ANIM
-
ASOBO_GT_AnimTriggers_2SoundEvents
Parameters set:
- ANIM_NAME (using ANIM_NAME_L_R)
- WWISE_EVENT_1 (using WWISE_JOYSTICK_EVENT_L)
- DIRECTION_1
- WWISE_EVENT_2 (using WWISE_JOYSTICK_EVENT_R)
- DIRECTION_2
-
ASOBO_GT_AnimTriggers_2SoundEvents
Parameters set:
- ANIM_NAME (using ANIM_NAME_DN_UP)
- WWISE_EVENT_1 (using WWISE_JOYSTICK_EVENT_DN)
- DIRECTION_1
- WWISE_EVENT_2 (using WWISE_JOYSTICK_EVENT_UP)
- DIRECTION_2
Condition: Valid(USE_DEFAULT_ANIMATION)
-
Case: True
Templates used:
-
ASOBO_GT_Update
Parameters set:
- FREQUENCY (using TIMEOUT_DELAY_RESET_AXIS)
- UPDATE_CODE (using JOYSTICK_ID, SAVE_TIME_LAST_X_UPDATE, SAVE_TIME_LAST_Y_UPDATE)
- INTERACTION_MODEL
-
ASOBO_GT_Update
-
Default