Asobo\Generic\Subtemplates\Interactions_Subtemplates.xml
Templates
- ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate1
- ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate2
- ASOBO_GT_Interaction_LeftSingle_ParamSetup
- ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_1
- ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_2
- ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive
- ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_1
- ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_2
- ASOBO_GT_Interaction_WheelAndContinuousLeft_Vertical
- ASOBO_GT_Interaction_WheelAndContinuousLeft_Horizontal
- ASOBO_GT_Interaction_WheelAndContinuousLeft_Base
- ASOBO_GT_Interaction_DraggingYAxis_SimGates_Base
-
ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate1
Definition from XML<Template Name="ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate1"> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate2"> <Condition Check="WHEEL_DOWN_CODE"> <MOUSEFLAGS>#MOUSEFLAGS#+WheelDown</MOUSEFLAGS> <MOUSE_WHEEL_INPUTS> els{ (M:Event) 'WheelDown' scmi 0 == if{ #WHEEL_DOWN_CODE# } #MOUSE_WHEEL_INPUTS# }</MOUSE_WHEEL_INPUTS> </Condition> </UseTemplate> </Template>Templates used:
-
ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate2
Condition: Check(WHEEL_DOWN_CODE)
-
Case: True
Parameters set:
- MOUSEFLAGS (using MOUSEFLAGS)
- MOUSE_WHEEL_INPUTS (using WHEEL_DOWN_CODE, MOUSE_WHEEL_INPUTS)
-
-
ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate2
-
ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate2
Definition from XML<Template Name="ASOBO_GT_Interaction_LeftSingle_Leave_Code_Subtemplate2"> <DefaultTemplateParameters/> <UseTemplate Name="ASOBO_GT_MouseRect"> <CALLBACKCODE> (M:Event) 'Lock' scmi 0 == if{ #LEFT_SINGLE_CODE# } els{ (M:Event) 'Unlock' scmi 0 == if{ #LEFT_LEAVE_CODE# } #MOUSE_WHEEL_INPUTS# } </CALLBACKCODE> </UseTemplate> </Template>Parameters initialization:
- Default
Templates used:
-
ASOBO_GT_MouseRect
Parameters set:
- CALLBACKCODE (using LEFT_SINGLE_CODE, LEFT_LEAVE_CODE, MOUSE_WHEEL_INPUTS)
-
ASOBO_GT_Interaction_LeftSingle_ParamSetup
Definition from XML<Template Name="ASOBO_GT_Interaction_LeftSingle_ParamSetup"> <DefaultTemplateParameters> <ON_STATE_CHANGED_EXTERNAL_CODE/> <Condition Check="MOMENTARY_SWITCH"> <STATE0_TIMER>0</STATE0_TIMER> <Condition NotEmpty="STATEMAX_TIMER"> <True> <STATE_MAX_TIMER>#STATEMAX_TIMER#</STATE_MAX_TIMER> </True> <False> <STATE_MAX_TIMER>0</STATE_MAX_TIMER> </False> </Condition> </Condition> <MOMENTARY_REPEAT_DELAY>0.5</MOMENTARY_REPEAT_DELAY> </DefaultTemplateParameters> <OverrideTemplateParameters> <START_STATE Process="Int">#NUM_STATES# 1 -</START_STATE> <Condition Check="MOMENTARY_SWITCH"> <True> <MOMENTARY_UP_0> #STATE0_TIMER# 0 > if{ (E:SIMULATION TIME, seconds) #STATE0_TIMER# + (>#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) (E:SIMULATION TIME, seconds) #MOMENTARY_REPEAT_DELAY# + (>O:XMLVAR_Repeat_StartTime) } els{ 0 (>#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) } 0 1 l1 ? (>#SWITCH_POSITION_TYPE_ISDOWN#:#SWITCH_POSITION_VAR_ISDOWN#) </MOMENTARY_UP_0> <CODE_RELEASE>0 (>#SWITCH_POSITION_TYPE_ISDOWN#:#SWITCH_POSITION_VAR_ISDOWN#)</CODE_RELEASE> </True> <False> <MOMENTARY_UP_0/> </False> </Condition> <Condition Valid="DISABLE_ON_STATE_CHANGED_EXTERNAL_CODE_IN_MR"> <ON_STATE_CHANGED_EXTERNAL_CODE/> </Condition> </OverrideTemplateParameters> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_1"> <CURRENT_ID>#START_STATE#</CURRENT_ID> <POS_MAX>#START_STATE#</POS_MAX> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- ON_STATE_CHANGED_EXTERNAL_CODE
- MOMENTARY_REPEAT_DELAY
Condition: Check(MOMENTARY_SWITCH)
-
Case: True
Parameters set:
- STATE0_TIMER
Condition: NotEmpty(STATEMAX_TIMER)
-
Case: True
Parameters set:
- STATE_MAX_TIMER (using STATEMAX_TIMER)
-
Case: False
Parameters set:
- STATE_MAX_TIMER
-
Override
Parameters set:
- START_STATE (using NUM_STATES)
Condition: Check(MOMENTARY_SWITCH)
-
Case: True
Parameters set:
- MOMENTARY_UP_0 (using STATE0_TIMER, SWITCH_POSITION_TYPE_TIMER, SWITCH_POSITION_VAR_TIMER, MOMENTARY_REPEAT_DELAY, SWITCH_POSITION_TYPE_ISDOWN, SWITCH_POSITION_VAR_ISDOWN)
- CODE_RELEASE (using SWITCH_POSITION_TYPE_ISDOWN, SWITCH_POSITION_VAR_ISDOWN)
-
Case: False
Parameters set:
- MOMENTARY_UP_0
Condition: Valid(DISABLE_ON_STATE_CHANGED_EXTERNAL_CODE_IN_MR)
-
Case: True
Parameters set:
- ON_STATE_CHANGED_EXTERNAL_CODE
Templates used:
-
ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_1
Parameters set:
- CURRENT_ID (using START_STATE)
- POS_MAX (using START_STATE)
-
Default
-
ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_1
Definition from XML<Template Name="ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_1"> <DefaultTemplateParameters> <CODE_POS_#CURRENT_ID#_VERIF>1</CODE_POS_#CURRENT_ID#_VERIF> <ANIMTIP_#CURRENT_ID#_ON_PERCENT Process="Float">#CURRENT_ID# #POS_MAX# /</ANIMTIP_#CURRENT_ID#_ON_PERCENT> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_2"> <CURRENT_ENUM_VAL_POS Process="Param">ENUM_VAL_POS_#CURRENT_ID#</CURRENT_ENUM_VAL_POS> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- CODE_POS_#CURRENT_ID#_VERIF
- ANIMTIP_#CURRENT_ID#_ON_PERCENT (using CURRENT_ID, POS_MAX)
Templates used:
-
ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_2
Parameters set:
- CURRENT_ENUM_VAL_POS (using CURRENT_ID)
-
Default
-
ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_2
Definition from XML<Template Name="ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_2"> <DefaultTemplateParameters> <Condition NotEmpty="CURRENT_ENUM_VAL_POS"> <True> <CODE_POS_#CURRENT_ID#> (A:#ENUM_SIMVAR#, Enum) #CURRENT_ENUM_VAL_POS# != if{ #CURRENT_ENUM_VAL_POS# (>K:#ENUM_KEY#) } </CODE_POS_#CURRENT_ID#> </True> <False> <CODE_POS_#CURRENT_ID#/> </False> </Condition> </DefaultTemplateParameters> <OverrideTemplateParameters> <CURRENT_ID Process="Int">#CURRENT_ID# 1 -</CURRENT_ID> </OverrideTemplateParameters> <Condition> <Test> <GreaterOrEqual> <Value>CURRENT_ID</Value> <Number>0</Number> </GreaterOrEqual> </Test> <True> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_ParamSetup_Recursive_1"/> </True> <False> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive"> <CURRENT_ID>#START_STATE#</CURRENT_ID> <NEXT_ID Process="Int">#START_STATE# 1 -</NEXT_ID> <CODE_POS_MAX Process="Param">CODE_POS_#START_STATE#</CODE_POS_MAX> <CODE_POS_MAX_VERIF Process="Param">CODE_POS_#START_STATE#_VERIF</CODE_POS_MAX_VERIF> <ELSE_BRACKET_OPENING>els{</ELSE_BRACKET_OPENING> <ELSE_BRACKET_CLOSING>}</ELSE_BRACKET_CLOSING> </UseTemplate> </False> </Condition> </Template>Parameters initialization:
-
Default
Condition: NotEmpty(CURRENT_ENUM_VAL_POS)
-
Case: True
Parameters set:
- CODE_POS_#CURRENT_ID# (using ENUM_SIMVAR, CURRENT_ENUM_VAL_POS, ENUM_KEY)
-
Case: False
Parameters set:
- CODE_POS_#CURRENT_ID#
-
-
Override
Parameters set:
- CURRENT_ID (using CURRENT_ID)
Condition: Test(CURRENT_ID)
-
Case: True
Templates used:
-
Case: False
Templates used:
-
ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive
Parameters set:
- CURRENT_ID (using START_STATE)
- NEXT_ID (using START_STATE)
- CODE_POS_MAX (using START_STATE)
- CODE_POS_MAX_VERIF (using START_STATE)
- ELSE_BRACKET_OPENING
- ELSE_BRACKET_CLOSING
-
ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive
-
Default
-
ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive
Definition from XML<Template Name="ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive"> <DefaultTemplateParameters> <Condition Check="MOMENTARY_SWITCH"> <True> <Condition Check="MOMENTARY_SWITCH_DOWN_SET"> <True> <MOMENTARY_UP_#CURRENT_ID#/> </True> <False> <MOMENTARY_SWITCH_DOWN_SET/> <MOMENTARY_UP_#CURRENT_ID#> #STATE_MAX_TIMER# 0 > if{ (E:SIMULATION TIME, seconds) #STATE_MAX_TIMER# + (>#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) (E:SIMULATION TIME, seconds) #MOMENTARY_REPEAT_DELAY# + (>O:XMLVAR_Repeat_StartTime) } els{ 0 (>#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) } 0 1 l1 ? (>#SWITCH_POSITION_TYPE_ISDOWN#:#SWITCH_POSITION_VAR_ISDOWN#) </MOMENTARY_UP_#CURRENT_ID#> <MOMENTARY_SWITCH_DOWN_INDEX>#CURRENT_ID#</MOMENTARY_SWITCH_DOWN_INDEX> <REST_STATE>#NEXT_ID#</REST_STATE> <CODE_POS_RETURN Process="Param">CODE_POS_#NEXT_ID#</CODE_POS_RETURN> </False> </Condition> </True> <False> <MOMENTARY_UP_#CURRENT_ID#/> </False> </Condition> <THRESHOLD_MOUSE>0.03</THRESHOLD_MOUSE> <THRESHOLD_INPUT>0.05</THRESHOLD_INPUT> </DefaultTemplateParameters> <OverrideTemplateParameters> <CURRENT_POS_VERIF Process="Param">CODE_POS_#CURRENT_ID#_VERIF</CURRENT_POS_VERIF> <NEXT_POS_VERIF Process="Param">CODE_POS_#NEXT_ID#_VERIF</NEXT_POS_VERIF> <CURRENT_CODE_POS Process="Param">CODE_POS_#CURRENT_ID#</CURRENT_CODE_POS> <NEXT_CODE_POS Process="Param">CODE_POS_#NEXT_ID#</NEXT_CODE_POS> <CURRENT_MOMENTARY_UP Process="Param">MOMENTARY_UP_#CURRENT_ID#</CURRENT_MOMENTARY_UP> <NEXT_MOMENTARY_UP Process="Param">MOMENTARY_UP_#NEXT_ID#</NEXT_MOMENTARY_UP> <CURRENT_CODE_REPEAT Process="Param">CODE_REPEAT_#CURRENT_ID#</CURRENT_CODE_REPEAT> </OverrideTemplateParameters> <Condition> <Test> <GreaterOrEqual> <Value>NEXT_ID</Value> <Number>0</Number> </GreaterOrEqual> </Test> <True> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive"> <CODE_UP> #CODE_UP# (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #CURRENT_ID# == if{ #NEXT_POS_VERIF# if{ #NEXT_ID# (>#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #NEXT_CODE_POS# #ON_STATE_CHANGED_EXTERNAL_CODE# #NEXT_MOMENTARY_UP# } } #ELSE_BRACKET_OPENING# </CODE_UP> <CODE_UP_CLOSING> #ELSE_BRACKET_CLOSING# #CODE_UP_CLOSING# </CODE_UP_CLOSING> <CODE_DOWN> #ELSE_BRACKET_OPENING# (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #NEXT_ID# == if{ #CURRENT_POS_VERIF# if{ #CURRENT_ID# (>#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #CURRENT_CODE_POS# #ON_STATE_CHANGED_EXTERNAL_CODE# #CURRENT_MOMENTARY_UP# } } #CODE_DOWN# #ELSE_BRACKET_CLOSING# </CODE_DOWN> <Condition Check="NEXT_ID" Match="1"> <True> <ELSE_BRACKET_OPENING/> <ELSE_BRACKET_CLOSING/> </True> </Condition> <Condition Valid="CURRENT_CODE_REPEAT"> <CODE_REPEAT> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #CURRENT_ID# == if{ #CURRENT_CODE_REPEAT# } els{ #CODE_REPEAT# } </CODE_REPEAT> </Condition> <CURRENT_ID>#NEXT_ID#</CURRENT_ID> <NEXT_ID Process="Int">#NEXT_ID# 1 -</NEXT_ID> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_1"> <Condition Valid="CURRENT_CODE_REPEAT"> <CODE_REPEAT> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #CURRENT_ID# == if{ #CURRENT_CODE_REPEAT# } els{ #CODE_REPEAT# } </CODE_REPEAT> </Condition> </UseTemplate> </False> </Condition> </Template>Parameters initialization:
-
Default
Parameters set:
- THRESHOLD_MOUSE
- THRESHOLD_INPUT
Condition: Check(MOMENTARY_SWITCH)
-
Case: True
Condition: Check(MOMENTARY_SWITCH_DOWN_SET)
-
Case: True
Parameters set:
- MOMENTARY_UP_#CURRENT_ID#
-
Case: False
Parameters set:
- MOMENTARY_SWITCH_DOWN_SET
- MOMENTARY_UP_#CURRENT_ID# (using STATE_MAX_TIMER, SWITCH_POSITION_TYPE_TIMER, SWITCH_POSITION_VAR_TIMER, MOMENTARY_REPEAT_DELAY, SWITCH_POSITION_TYPE_ISDOWN, SWITCH_POSITION_VAR_ISDOWN)
- MOMENTARY_SWITCH_DOWN_INDEX (using CURRENT_ID)
- REST_STATE (using NEXT_ID)
- CODE_POS_RETURN (using NEXT_ID)
-
-
Case: False
Parameters set:
- MOMENTARY_UP_#CURRENT_ID#
-
Override
Parameters set:
- CURRENT_POS_VERIF (using CURRENT_ID)
- NEXT_POS_VERIF (using NEXT_ID)
- CURRENT_CODE_POS (using CURRENT_ID)
- NEXT_CODE_POS (using NEXT_ID)
- CURRENT_MOMENTARY_UP (using CURRENT_ID)
- NEXT_MOMENTARY_UP (using NEXT_ID)
- CURRENT_CODE_REPEAT (using CURRENT_ID)
Condition: Test(NEXT_ID)
-
Case: True
Templates used:
-
ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive
Parameters set:
- CODE_UP (using CODE_UP, SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, CURRENT_ID, NEXT_POS_VERIF, NEXT_ID, NEXT_CODE_POS, ON_STATE_CHANGED_EXTERNAL_CODE, NEXT_MOMENTARY_UP, ELSE_BRACKET_OPENING)
- CODE_UP_CLOSING (using ELSE_BRACKET_CLOSING, CODE_UP_CLOSING)
- CODE_DOWN (using ELSE_BRACKET_OPENING, SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, NEXT_ID, CURRENT_POS_VERIF, CURRENT_ID, CURRENT_CODE_POS, ON_STATE_CHANGED_EXTERNAL_CODE, CURRENT_MOMENTARY_UP, CODE_DOWN, ELSE_BRACKET_CLOSING)
- CURRENT_ID (using NEXT_ID)
- NEXT_ID (using NEXT_ID)
Condition: Check(NEXT_ID)
-
Case: True
Parameters set:
- ELSE_BRACKET_OPENING
- ELSE_BRACKET_CLOSING
Condition: Valid(CURRENT_CODE_REPEAT)
-
Case: True
Parameters set:
- CODE_REPEAT (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, CURRENT_ID, CURRENT_CODE_REPEAT, CODE_REPEAT)
-
ASOBO_GT_Interaction_LeftSingle_CodeSetup_Recursive
-
Case: False
Templates used:
-
ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_1
Condition: Valid(CURRENT_CODE_REPEAT)
-
Case: True
Parameters set:
- CODE_REPEAT (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, CURRENT_ID, CURRENT_CODE_REPEAT, CODE_REPEAT)
-
-
ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_1
-
Default
-
ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_1
Definition from XML<Template Name="ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_1"> <Parameters Type="Default"> <Condition Check="SWITCH_DIRECTION" Match="Vertical"> <UPARROW>UpArrow</UPARROW> <DOWNARROW>DownArrow</DOWNARROW> <DRAG_AXIS>Y</DRAG_AXIS> </Condition> <Condition Check="SWITCH_DIRECTION" Match="Horizontal"> <Condition Check="ARROW_TYPE" Match="Curved"> <True> <LEFTARROW>TurnLeft</LEFTARROW> <RIGHTARROW>TurnRight</RIGHTARROW> </True> <False> <LEFTARROW>LeftArrow</LEFTARROW> <RIGHTARROW>RightArrow</RIGHTARROW> </False> </Condition> <DRAG_AXIS>X</DRAG_AXIS> </Condition> <LEFT_DOWN_CODE/> <LEFT_UP_CODE/> <ANIMCURSOR_MIN>0</ANIMCURSOR_MIN> <Condition Check="ANIM_LENGTH"> <True> <ANIMCURSOR_MAX>#ANIM_LENGTH#</ANIMCURSOR_MAX> </True> <False> <ANIMCURSOR_MAX>100</ANIMCURSOR_MAX> </False> </Condition> <USE_PAD_DRAG_IM_LOCK>True</USE_PAD_DRAG_IM_LOCK> </Parameters> <Parameters Type="Override"> <THRESHOLD_MOUSE>0.001</THRESHOLD_MOUSE> </Parameters> <Parameters Type="Override"> <THRESHOLD>#THRESHOLD_INPUT# #THRESHOLD_MOUSE# (M:InputType) 1 == ?</THRESHOLD> </Parameters> <Parameters Type="Default"> <LOCKABLE_EVENT_PRIMARY>LeftSingle</LOCKABLE_EVENT_PRIMARY> <LOCKABLE_EVENT_SECONDARY>RightSingle</LOCKABLE_EVENT_SECONDARY> <NO_LOCK_EVENT_PRIMARY>RightSingle</NO_LOCK_EVENT_PRIMARY> <NO_LOCK_EVENT_SECONDARY>MiddleSingle</NO_LOCK_EVENT_SECONDARY> <LOCKABLE_HANDLE_CODE_UP/> <NO_LOCK_HANDLE_CODE_UP/> <LOCKABLE_HANDLE_CODE_DN/> <NO_LOCK_HANDLE_CODE_DN/> <ADDITIONAL_MOUSEFLAGS/> <CENTER_HANDLING_CODE_START/> <CENTER_HANDLING_CODE_END/> <Condition> <Test> <Or> <Arg NotEmpty="ON_PRIMARY_EVENT"/> <Arg NotEmpty="ON_SECONDARY_EVENT"/> </Or> </Test> <True> <CENTER_CURSOR>Hand</CENTER_CURSOR> <CENTER_RADIUS>0.004</CENTER_RADIUS> <DEFINE_CENTER_INTERACTION>True</DEFINE_CENTER_INTERACTION> </True> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="ON_PRIMARY_EVENT"> <LOCKABLE_HANDLE_CODE_UP>(M:Event) '#LOCKABLE_EVENT_PRIMARY#' scmi 0 == if{ #ON_PRIMARY_EVENT# quit }</LOCKABLE_HANDLE_CODE_UP> <NO_LOCK_HANDLE_CODE_UP>(M:Event) '#NO_LOCK_EVENT_PRIMARY#' scmi 0 == if{ #ON_PRIMARY_EVENT# quit }</NO_LOCK_HANDLE_CODE_UP> <ADDITIONAL_MOUSEFLAGS>+#LOCKABLE_EVENT_PRIMARY#+#NO_LOCK_EVENT_PRIMARY#</ADDITIONAL_MOUSEFLAGS> <CENTER_HANDLING_CODE_END> } els{ #ON_PRIMARY_EVENT# quit } </CENTER_HANDLING_CODE_END> </Condition> <Condition NotEmpty="ON_SECONDARY_EVENT"> <LOCKABLE_HANDLE_CODE_DN>(M:Event) '#LOCKABLE_EVENT_SECONDARY#' scmi 0 == if{ #ON_SECONDARY_EVENT# quit }</LOCKABLE_HANDLE_CODE_DN> <NO_LOCK_HANDLE_CODE_DN>(M:Event) '#NO_LOCK_EVENT_SECONDARY#' scmi 0 == if{ #ON_SECONDARY_EVENT# quit }</NO_LOCK_HANDLE_CODE_DN> <ADDITIONAL_MOUSEFLAGS>+#LOCKABLE_EVENT_SECONDARY#+#NO_LOCK_EVENT_SECONDARY#</ADDITIONAL_MOUSEFLAGS> <CENTER_HANDLING_CODE_END> } els{ #ON_SECONDARY_EVENT# quit } </CENTER_HANDLING_CODE_END> </Condition> <Condition Valid="DEFINE_CENTER_INTERACTION"> <True> <CENTER_HANDLING_CODE_START> (M:Relative#DRAG_AXIS#) abs #CENTER_RADIUS# > if{ </CENTER_HANDLING_CODE_START> </True> </Condition> </Parameters> <Parameters Type="Default"> <LOCKABLE_INPUTS_HANDLING> #LOCKABLE_HANDLE_CODE_UP# #LOCKABLE_HANDLE_CODE_DN# </LOCKABLE_INPUTS_HANDLING> <NO_LOCK_INPUTS_HANDLING> #NO_LOCK_HANDLE_CODE_UP# #NO_LOCK_HANDLE_CODE_DN# </NO_LOCK_INPUTS_HANDLING> </Parameters> <Parameters Type="Default"> <IM_DRAG_ADDITIONAL_EVENT_HANDLING> (M:InputType) 1 == if{ #LOCKABLE_INPUTS_HANDLING# } els{ #NO_LOCK_INPUTS_HANDLING# } </IM_DRAG_ADDITIONAL_EVENT_HANDLING> </Parameters> <Parameters Type="Override"> <Condition Valid="USE_PAD_DRAG_IM_LOCK"> <True> <CHECK_AND_RESET_DRAG_LOCK> (O:_ResetDragTime) (E:SIMULATION TIME, second) < if{ 0 (>O:_IsLimited) } (E:SIMULATION TIME, second) @DragLockResetTimer + (>O:_ResetDragTime) </CHECK_AND_RESET_DRAG_LOCK> <CHECK_IS_DRAG_LOCKED>(O:_IsLimited)</CHECK_IS_DRAG_LOCKED> <SET_DRAG_LOCK>1 (>O:_IsLimited)</SET_DRAG_LOCK> <UNSET_DRAG_LOCK>0 (>O:_IsLimited)</UNSET_DRAG_LOCK> </True> <False> <CHECK_AND_RESET_DRAG_LOCK/> <CHECK_IS_DRAG_LOCKED>0</CHECK_IS_DRAG_LOCKED> <SET_DRAG_LOCK/> <UNSET_DRAG_LOCK/> </False> </Condition> <Condition Valid="INVERT_WHEEL_INTERACTION"> <True> <Switch Param="SWITCH_DIRECTION"> <Case Value="Vertical"> <FLAG_POS_WHEEL_UP>2</FLAG_POS_WHEEL_UP> <FLAG_POS_WHEEL_DN>1</FLAG_POS_WHEEL_DN> </Case> <Case Value="Horizontal"> <FLAG_POS_WHEEL_UP>1</FLAG_POS_WHEEL_UP> <FLAG_POS_WHEEL_DN>2</FLAG_POS_WHEEL_DN> </Case> </Switch> </True> <False> <Switch Param="SWITCH_DIRECTION"> <Case Value="Vertical"> <FLAG_POS_WHEEL_UP>1</FLAG_POS_WHEEL_UP> <FLAG_POS_WHEEL_DN>2</FLAG_POS_WHEEL_DN> </Case> <Case Value="Horizontal"> <FLAG_POS_WHEEL_UP>2</FLAG_POS_WHEEL_UP> <FLAG_POS_WHEEL_DN>1</FLAG_POS_WHEEL_DN> </Case> </Switch> </False> </Condition> <Condition Valid="INVERT_DRAG_POSITIVE_CONDITION"> <True> <DRAG_IS_POSITIVE_CONDITION><=</DRAG_IS_POSITIVE_CONDITION> </True> <False> <DRAG_IS_POSITIVE_CONDITION>></DRAG_IS_POSITIVE_CONDITION> </False> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="USE_TRAJECTORY_DRAG_MODE"> <True> <DRAG_CODE_VERTICAL> (M:DragPercent) #NUM_STATES# * flr sp0 l0 (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) < if{ g1 } els{ l0 (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) > if{ g2 } } </DRAG_CODE_VERTICAL> <DRAG_CODE_HORIZONTAL> (M:DragPercent) #NUM_STATES# * flr sp0 l0 (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) < if{ g1 } els{ l0 (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) > if{ g2 } } </DRAG_CODE_HORIZONTAL> </True> <False> <DRAG_CODE_VERTICAL> #CHECK_AND_RESET_DRAG_LOCK# #CHECK_IS_DRAG_LOCKED# if{ (M:RelativeY) (>O:OldMouseY) } els{ (O:OldMouseY) (M:RelativeY) - abs #THRESHOLD# > if{ #SET_DRAG_LOCK# (O:OldMouseY) sp0 (M:RelativeY) (>O:OldMouseY) (M:RelativeY) l0 #DRAG_IS_POSITIVE_CONDITION# if{ g1 } els{ g2 } } } </DRAG_CODE_VERTICAL> <DRAG_CODE_HORIZONTAL> #CHECK_AND_RESET_DRAG_LOCK# #CHECK_IS_DRAG_LOCKED# if{ (M:RelativeX) (>O:OldMouseX) } els{ (O:OldMouseX) (M:RelativeX) - abs #THRESHOLD# > if{ #SET_DRAG_LOCK# (O:OldMouseX) sp0 (M:RelativeX) (>O:OldMouseX) (M:RelativeX) l0 #DRAG_IS_POSITIVE_CONDITION# if{ g2 } els{ g1 } } } </DRAG_CODE_HORIZONTAL> </False> </Condition> </Parameters> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_2"> <Condition Check="IS_LOOPING"> <True> <ANIMCURSOR_MIN>-1</ANIMCURSOR_MIN> <ANIMCURSOR_MAX>-1</ANIMCURSOR_MAX> <CODE_UP> #CODE_UP# els{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 == if{ #CODE_POS_MAX_VERIF# if{ #POS_MAX# (>#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #CODE_POS_MAX# #ON_STATE_CHANGED_EXTERNAL_CODE# } } } </CODE_UP> <CODE_DOWN> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #POS_MAX# == if{ #CODE_POS_0_VERIF# if{ 0 (>#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #CODE_POS_0# #ON_STATE_CHANGED_EXTERNAL_CODE# } } els{ #CODE_DOWN# } </CODE_DOWN> </True> </Condition> <Switch Param="SWITCH_DIRECTION"> <Case Value="Vertical"> <INPUT_CODE_IM_DEFAULT> (M:Event) 'WheelUp' scmi 0 == if{ 1 (>O:GoToRelease) g1 } els{ (M:Event) 'WheelDown' scmi 0 == if{ 1 (>O:GoToRelease) g2 } els{ (M:Event) 'LeftSingle' scmi 0 == if{ #CENTER_HANDLING_CODE_START# #LEFT_DOWN_CODE# #CENTER_HANDLING_CODE_END# (M:RelativeY) 0 > if{ g1 } els{ g2 } } els{ (M:Event) 'LeftRelease' scmi 0 == if{ #LEFT_UP_CODE# g3 } } } } quit </INPUT_CODE_IM_DEFAULT> <INPUT_CODE_IM_DRAG> (M:Event) 'Lock' scmi 0 == if{ (M:RelativeY) (>O:OldMouseY) #LEFT_DOWN_CODE# #UNSET_DRAG_LOCK# } els{ (M:Event) 'WheelUp' scmi 0 == if{ 1 sp1 g#FLAG_POS_WHEEL_UP# } els{ (M:Event) 'WheelDown' scmi 0 == if{ 1 sp1 g#FLAG_POS_WHEEL_DN# } els{ (M:Event) 'LeftDrag' scmi 0 == if{ #DRAG_CODE_VERTICAL# } els{ (M:Event) 'Unlock' scmi 0 == if{ #LEFT_UP_CODE# g3 } } } } } quit </INPUT_CODE_IM_DRAG> </Case> <Case Value="Horizontal"> <INPUT_CODE_IM_DEFAULT> (M:Event) 'WheelUp' scmi 0 == if{ 1 (>O:GoToRelease) g2 } els{ (M:Event) 'WheelDown' scmi 0 == if{ 1 (>O:GoToRelease) g1 } els{ (M:Event) 'LeftSingle' scmi 0 == if{ #CENTER_HANDLING_CODE_START# #LEFT_DOWN_CODE# #CENTER_HANDLING_CODE_END# (M:RelativeX) 0 > if{ g2 } els{ g1 } } els{ (M:Event) 'LeftRelease' scmi 0 == if{ #LEFT_UP_CODE# g3 } } } } quit </INPUT_CODE_IM_DEFAULT> <INPUT_CODE_IM_DRAG> (M:Event) 'Lock' scmi 0 == if{ (M:RelativeX) (>O:OldMouseX) #LEFT_DOWN_CODE# #UNSET_DRAG_LOCK# } els{ (M:Event) 'WheelUp' scmi 0 == if{ 1 sp1 g#FLAG_POS_WHEEL_UP# } els{ (M:Event) 'WheelDown' scmi 0 == if{ 1 sp1 g#FLAG_POS_WHEEL_DN# } els{ (M:Event) 'LeftDrag' scmi 0 == if{ #DRAG_CODE_HORIZONTAL# } els{ (M:Event) 'Unlock' scmi 0 == if{ #LEFT_UP_CODE# g3 } } } } } quit </INPUT_CODE_IM_DRAG> </Case> </Switch> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- LEFT_DOWN_CODE
- LEFT_UP_CODE
- ANIMCURSOR_MIN
- USE_PAD_DRAG_IM_LOCK
Condition: Check(SWITCH_DIRECTION)
-
Case: True
Parameters set:
- UPARROW
- DOWNARROW
- DRAG_AXIS
Condition: Check(SWITCH_DIRECTION)
-
Case: True
Parameters set:
- DRAG_AXIS
Condition: Check(ARROW_TYPE)
-
Case: True
Parameters set:
- LEFTARROW
- RIGHTARROW
-
Case: False
Parameters set:
- LEFTARROW
- RIGHTARROW
Condition: Check(ANIM_LENGTH)
-
Case: True
Parameters set:
- ANIMCURSOR_MAX (using ANIM_LENGTH)
-
Case: False
Parameters set:
- ANIMCURSOR_MAX
-
Override
Parameters set:
- THRESHOLD_MOUSE
-
Override
Parameters set:
- THRESHOLD (using THRESHOLD_INPUT, THRESHOLD_MOUSE)
-
Default
Parameters set:
- LOCKABLE_EVENT_PRIMARY
- LOCKABLE_EVENT_SECONDARY
- NO_LOCK_EVENT_PRIMARY
- NO_LOCK_EVENT_SECONDARY
- LOCKABLE_HANDLE_CODE_UP
- NO_LOCK_HANDLE_CODE_UP
- LOCKABLE_HANDLE_CODE_DN
- NO_LOCK_HANDLE_CODE_DN
- ADDITIONAL_MOUSEFLAGS
- CENTER_HANDLING_CODE_START
- CENTER_HANDLING_CODE_END
Condition: Test(ON_PRIMARY_EVENT, ON_SECONDARY_EVENT)
-
Case: True
Parameters set:
- CENTER_CURSOR
- CENTER_RADIUS
- DEFINE_CENTER_INTERACTION
-
Override
Condition: NotEmpty(ON_PRIMARY_EVENT)
-
Case: True
Parameters set:
- LOCKABLE_HANDLE_CODE_UP (using LOCKABLE_EVENT_PRIMARY, ON_PRIMARY_EVENT)
- NO_LOCK_HANDLE_CODE_UP (using NO_LOCK_EVENT_PRIMARY, ON_PRIMARY_EVENT)
- ADDITIONAL_MOUSEFLAGS (using LOCKABLE_EVENT_PRIMARY, NO_LOCK_EVENT_PRIMARY)
- CENTER_HANDLING_CODE_END (using ON_PRIMARY_EVENT)
Condition: NotEmpty(ON_SECONDARY_EVENT)
-
Case: True
Parameters set:
- LOCKABLE_HANDLE_CODE_DN (using LOCKABLE_EVENT_SECONDARY, ON_SECONDARY_EVENT)
- NO_LOCK_HANDLE_CODE_DN (using NO_LOCK_EVENT_SECONDARY, ON_SECONDARY_EVENT)
- ADDITIONAL_MOUSEFLAGS (using LOCKABLE_EVENT_SECONDARY, NO_LOCK_EVENT_SECONDARY)
- CENTER_HANDLING_CODE_END (using ON_SECONDARY_EVENT)
Condition: Valid(DEFINE_CENTER_INTERACTION)
-
Case: True
Parameters set:
- CENTER_HANDLING_CODE_START (using DRAG_AXIS, CENTER_RADIUS)
-
-
Default
Parameters set:
- LOCKABLE_INPUTS_HANDLING (using LOCKABLE_HANDLE_CODE_UP, LOCKABLE_HANDLE_CODE_DN)
- NO_LOCK_INPUTS_HANDLING (using NO_LOCK_HANDLE_CODE_UP, NO_LOCK_HANDLE_CODE_DN)
-
Default
Parameters set:
- IM_DRAG_ADDITIONAL_EVENT_HANDLING (using LOCKABLE_INPUTS_HANDLING, NO_LOCK_INPUTS_HANDLING)
-
Override
Condition: Valid(USE_PAD_DRAG_IM_LOCK)
-
Case: True
Parameters set:
- CHECK_AND_RESET_DRAG_LOCK
- CHECK_IS_DRAG_LOCKED
- SET_DRAG_LOCK
- UNSET_DRAG_LOCK
-
Case: False
Parameters set:
- CHECK_AND_RESET_DRAG_LOCK
- CHECK_IS_DRAG_LOCKED
- SET_DRAG_LOCK
- UNSET_DRAG_LOCK
Condition: Valid(INVERT_WHEEL_INTERACTION)
-
Case: True
Condition: Switch(SWITCH_DIRECTION)
-
Case: Vertical
Parameters set:
- FLAG_POS_WHEEL_UP
- FLAG_POS_WHEEL_DN
-
Case: Horizontal
Parameters set:
- FLAG_POS_WHEEL_UP
- FLAG_POS_WHEEL_DN
-
-
Case: False
Condition: Switch(SWITCH_DIRECTION)
-
Case: Vertical
Parameters set:
- FLAG_POS_WHEEL_UP
- FLAG_POS_WHEEL_DN
-
Case: Horizontal
Parameters set:
- FLAG_POS_WHEEL_UP
- FLAG_POS_WHEEL_DN
-
Condition: Valid(INVERT_DRAG_POSITIVE_CONDITION)
-
Case: True
Parameters set:
- DRAG_IS_POSITIVE_CONDITION
-
Case: False
Parameters set:
- DRAG_IS_POSITIVE_CONDITION
-
-
Override
Condition: Valid(USE_TRAJECTORY_DRAG_MODE)
-
Case: True
Parameters set:
- DRAG_CODE_VERTICAL (using NUM_STATES, SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR)
- DRAG_CODE_HORIZONTAL (using NUM_STATES, SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR)
-
Case: False
Parameters set:
- DRAG_CODE_VERTICAL (using CHECK_AND_RESET_DRAG_LOCK, CHECK_IS_DRAG_LOCKED, THRESHOLD, SET_DRAG_LOCK, DRAG_IS_POSITIVE_CONDITION)
- DRAG_CODE_HORIZONTAL (using CHECK_AND_RESET_DRAG_LOCK, CHECK_IS_DRAG_LOCKED, THRESHOLD, SET_DRAG_LOCK, DRAG_IS_POSITIVE_CONDITION)
-
Templates used:
-
ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_2
Condition: Check(IS_LOOPING)
-
Case: True
Parameters set:
- ANIMCURSOR_MIN
- ANIMCURSOR_MAX
- CODE_UP (using CODE_UP, SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, CODE_POS_MAX_VERIF, POS_MAX, CODE_POS_MAX, ON_STATE_CHANGED_EXTERNAL_CODE)
- CODE_DOWN (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, POS_MAX, CODE_POS_0_VERIF, CODE_POS_0, ON_STATE_CHANGED_EXTERNAL_CODE, CODE_DOWN)
Condition: Switch(SWITCH_DIRECTION)
-
Case: Vertical
Parameters set:
- INPUT_CODE_IM_DEFAULT (using CENTER_HANDLING_CODE_START, LEFT_DOWN_CODE, CENTER_HANDLING_CODE_END, LEFT_UP_CODE)
- INPUT_CODE_IM_DRAG (using LEFT_DOWN_CODE, UNSET_DRAG_LOCK, FLAG_POS_WHEEL_UP, FLAG_POS_WHEEL_DN, DRAG_CODE_VERTICAL, LEFT_UP_CODE)
-
Case: Horizontal
Parameters set:
- INPUT_CODE_IM_DEFAULT (using CENTER_HANDLING_CODE_START, LEFT_DOWN_CODE, CENTER_HANDLING_CODE_END, LEFT_UP_CODE)
- INPUT_CODE_IM_DRAG (using LEFT_DOWN_CODE, UNSET_DRAG_LOCK, FLAG_POS_WHEEL_UP, FLAG_POS_WHEEL_DN, DRAG_CODE_HORIZONTAL, LEFT_UP_CODE)
-
-
Default
-
ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_2
Definition from XML<Template Name="ASOBO_GT_Interaction_LeftSingle_MultiStates_Base_2"> <DefaultTemplateParameters> <HELPID/> <TOOLTIPID/> <SWITCH_POSITION_TYPE>O</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>SwitchState</SWITCH_POSITION_VAR> <CODE_POS_0/> <CODE_POS_1/> <CODE_POS_0_VERIF>1</CODE_POS_0_VERIF> <CODE_POS_1_VERIF>1</CODE_POS_1_VERIF> <CODE_UP/> <CODE_UP_CLOSING/> <CODE_DOWN/> <CODE_DOWN_CLOSING/> <CODE_RELEASE/> <LEFTARROW/> <RIGHTARROW/> <UPARROW/> <DOWNARROW/> <INPUT_CODE/> <CODE_REPEAT/> <PERCENT_PER_SECONDS>2000</PERCENT_PER_SECONDS> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition Check="MOMENTARY_SWITCH"> <CODE_POS_REST_STATE Process="Param">CODE_POS_#REST_STATE#</CODE_POS_REST_STATE> </Condition> </OverrideTemplateParameters> <Condition Check="REPEAT_FREQUENCY"> <Update Frequency="#REPEAT_FREQUENCY#"> #CODE_REPEAT# </Update> </Condition> <Condition Check="MOMENTARY_SWITCH"> <Update Frequency="5"> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 == (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #MOMENTARY_SWITCH_DOWN_INDEX# == or if{ (* On Pad disable IsDown when stick is at center *) (M:InputType) 1 == (M:X) abs #THRESHOLD_INPUT# < (M:Y) abs #THRESHOLD_INPUT# < and and if{ 0 (>#SWITCH_POSITION_TYPE_ISDOWN#:#SWITCH_POSITION_VAR_ISDOWN#) } (#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) 0 > if{ (#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) (E:SIMULATION TIME, seconds) < (#SWITCH_POSITION_TYPE_ISDOWN#:#SWITCH_POSITION_VAR_ISDOWN#) ! and if{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 == if{ 1 (>#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #CODE_POS_1# } els{ #REST_STATE# (>#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #CODE_POS_REST_STATE# } 0 (>#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) } } els{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 == if{ #STATE0_TIMER# 0 > if{ (E:SIMULATION TIME, seconds) #STATE0_TIMER# + (>#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) } } els{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #MOMENTARY_SWITCH_DOWN_INDEX# == if{ #STATE_MAX_TIMER# 0 > if{ (E:SIMULATION TIME, seconds) #STATE_MAX_TIMER# + (>#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) } } els{ 0 (>#SWITCH_POSITION_TYPE_TIMER#:#SWITCH_POSITION_VAR_TIMER#) } } } } } </Update> <Condition Check="MOMENTARY_REPEAT_FREQUENCY"> <True> <Update Frequency="#MOMENTARY_REPEAT_FREQUENCY#" InteractionModel="All"> (O:XMLVAR_Repeat_StartTime) (E:SIMULATION TIME, seconds) < if{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 == if{ #CODE_POS_0# } els{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #POS_MAX# == if{ #CODE_POS_MAX# } } } </Update> </True> </Condition> </Condition> <UseTemplate Name="ASOBO_GT_MouseRect"> <MouseFlags>LeftAll+WheelUp+WheelDown+Lock+Unlock#ADDITIONAL_MOUSEFLAGS#</MouseFlags> <ANIMATION_CODE_SETTER>(#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 100 *</ANIMATION_CODE_SETTER> <CALLBACKCODE_DEFAULT_IM> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) (>O:PreviousPos) #INPUT_CODE_IM_DEFAULT# :1 #CODE_UP# #CODE_UP_CLOSING# (O:GoToRelease) if{ g3 } quit :2 #CODE_DOWN# #CODE_DOWN_CLOSING# (O:GoToRelease) if{ g3 } quit :3 0 (>O:GoToRelease) #CODE_RELEASE# quit </CALLBACKCODE_DEFAULT_IM> <CALLBACKCODE_DRAG_IM> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) (>O:PreviousPos) #IM_DRAG_ADDITIONAL_EVENT_HANDLING# #INPUT_CODE_IM_DRAG# :1 (#DRAG_ANIMATION_TARGET_VARIABLE_TYPE#:#DRAG_ANIMATION_TARGET_VARIABLE_NAME#) (#DRAG_ANIMATION_VARIABLE_TYPE#:#DRAG_ANIMATION_VARIABLE_NAME#) == if{ #CODE_UP# #CODE_UP_CLOSING# } quit :2 (#DRAG_ANIMATION_TARGET_VARIABLE_TYPE#:#DRAG_ANIMATION_TARGET_VARIABLE_NAME#) (#DRAG_ANIMATION_VARIABLE_TYPE#:#DRAG_ANIMATION_VARIABLE_NAME#) == if{ #CODE_DOWN# } quit :3 #CODE_RELEASE# quit </CALLBACKCODE_DRAG_IM> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- HELPID
- TOOLTIPID
- SWITCH_POSITION_TYPE
- SWITCH_POSITION_VAR
- CODE_POS_0
- CODE_POS_1
- CODE_POS_0_VERIF
- CODE_POS_1_VERIF
- CODE_UP
- CODE_UP_CLOSING
- CODE_DOWN
- CODE_DOWN_CLOSING
- CODE_RELEASE
- LEFTARROW
- RIGHTARROW
- UPARROW
- DOWNARROW
- INPUT_CODE
- CODE_REPEAT
- PERCENT_PER_SECONDS
-
Override
Condition: Check(MOMENTARY_SWITCH)
-
Case: True
Parameters set:
- CODE_POS_REST_STATE (using REST_STATE)
-
Templates used:
-
ASOBO_GT_MouseRect
Parameters set:
- MouseFlags (using ADDITIONAL_MOUSEFLAGS)
- ANIMATION_CODE_SETTER (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR)
- CALLBACKCODE_DEFAULT_IM (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, INPUT_CODE_IM_DEFAULT, CODE_UP, CODE_UP_CLOSING, CODE_DOWN, CODE_DOWN_CLOSING, CODE_RELEASE)
- CALLBACKCODE_DRAG_IM (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, IM_DRAG_ADDITIONAL_EVENT_HANDLING, INPUT_CODE_IM_DRAG, DRAG_ANIMATION_TARGET_VARIABLE_TYPE, DRAG_ANIMATION_TARGET_VARIABLE_NAME, DRAG_ANIMATION_VARIABLE_TYPE, DRAG_ANIMATION_VARIABLE_NAME, CODE_UP, CODE_UP_CLOSING, CODE_DOWN, CODE_RELEASE)
Condition: Check(REPEAT_FREQUENCY)
-
Case: True
Parameters read:
- REPEAT_FREQUENCY
- CODE_REPEAT
Condition: Check(MOMENTARY_SWITCH)
-
Case: True
Parameters read:
- SWITCH_POSITION_TYPE
- SWITCH_POSITION_VAR
- MOMENTARY_SWITCH_DOWN_INDEX
- THRESHOLD_INPUT
- SWITCH_POSITION_TYPE_ISDOWN
- SWITCH_POSITION_VAR_ISDOWN
- SWITCH_POSITION_TYPE_TIMER
- SWITCH_POSITION_VAR_TIMER
- CODE_POS_1
- REST_STATE
- CODE_POS_REST_STATE
- STATE0_TIMER
- STATE_MAX_TIMER
Condition: Check(MOMENTARY_REPEAT_FREQUENCY)
-
Case: True
Parameters read:
- MOMENTARY_REPEAT_FREQUENCY
- SWITCH_POSITION_TYPE
- SWITCH_POSITION_VAR
- CODE_POS_0
- POS_MAX
- CODE_POS_MAX
-
Default
-
ASOBO_GT_Interaction_WheelAndContinuousLeft_Vertical
Definition from XML<Template Name="ASOBO_GT_Interaction_WheelAndContinuousLeft_Vertical"> <DefaultTemplateParameters> <Condition> <Test> <And> <Arg NotEmpty="CLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="CLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <False> <Condition NotEmpty="CLOCKWISE_CODE"> <True> <CLOCKWISE_CODE_DEFAULT_IM>#CLOCKWISE_CODE#</CLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM>#CLOCKWISE_CODE#</CLOCKWISE_CODE_DRAG_IM> </True> <False> <CLOCKWISE_CODE_DEFAULT_IM/> <CLOCKWISE_CODE_DRAG_IM/> </False> </Condition> </False> </Condition> <Condition> <Test> <And> <Arg NotEmpty="ANTICLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="ANTICLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <False> <Condition NotEmpty="ANTICLOCKWISE_CODE"> <True> <ANTICLOCKWISE_CODE_DEFAULT_IM>#ANTICLOCKWISE_CODE#</ANTICLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DRAG_IM>#ANTICLOCKWISE_CODE#</ANTICLOCKWISE_CODE_DRAG_IM> </True> <False> <ANTICLOCKWISE_CODE_DEFAULT_IM/> <ANTICLOCKWISE_CODE_DRAG_IM/> </False> </Condition> </False> </Condition> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Interaction_WheelAndContinuousLeft_Base"> <UPARROW>UpArrow</UPARROW> <DOWNARROW>DownArrow</DOWNARROW> <AXIS>Y</AXIS> <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> </UseTemplate> </Template>Parameters initialization:
-
Default
Condition: Test(CLOCKWISE_CODE_DEFAULT_IM, CLOCKWISE_CODE_DRAG_IM)
-
Case: False
Condition: NotEmpty(CLOCKWISE_CODE)
-
Case: True
Parameters set:
- CLOCKWISE_CODE_DEFAULT_IM (using CLOCKWISE_CODE)
- CLOCKWISE_CODE_DRAG_IM (using CLOCKWISE_CODE)
-
Case: False
Parameters set:
- CLOCKWISE_CODE_DEFAULT_IM
- CLOCKWISE_CODE_DRAG_IM
-
Condition: Test(ANTICLOCKWISE_CODE_DEFAULT_IM, ANTICLOCKWISE_CODE_DRAG_IM)
-
Case: False
Condition: NotEmpty(ANTICLOCKWISE_CODE)
-
Case: True
Parameters set:
- ANTICLOCKWISE_CODE_DEFAULT_IM (using ANTICLOCKWISE_CODE)
- ANTICLOCKWISE_CODE_DRAG_IM (using ANTICLOCKWISE_CODE)
-
Case: False
Parameters set:
- ANTICLOCKWISE_CODE_DEFAULT_IM
- ANTICLOCKWISE_CODE_DRAG_IM
-
-
Templates used:
-
ASOBO_GT_Interaction_WheelAndContinuousLeft_Base
Parameters set:
- UPARROW
- DOWNARROW
- AXIS
- 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)
-
Default
-
ASOBO_GT_Interaction_WheelAndContinuousLeft_Horizontal
Definition from XML<Template Name="ASOBO_GT_Interaction_WheelAndContinuousLeft_Horizontal"> <UseTemplate Name="ASOBO_GT_Interaction_WheelAndContinuousLeft_Base"> <LEFTARROW>TurnLeft</LEFTARROW> <RIGHTARROW>TurnRight</RIGHTARROW> <AXIS>X</AXIS> </UseTemplate> </Template>Templates used:
-
ASOBO_GT_Interaction_WheelAndContinuousLeft_Base
Parameters set:
- LEFTARROW
- RIGHTARROW
- AXIS
-
ASOBO_GT_Interaction_WheelAndContinuousLeft_Base
-
ASOBO_GT_Interaction_WheelAndContinuousLeft_Base
Definition from XML<Template Name="ASOBO_GT_Interaction_WheelAndContinuousLeft_Base"> <DefaultTemplateParameters> <HELPID/> <TOOLTIPID/> <UPARROW/> <DOWNARROW/> <LEFTARROW/> <RIGHTARROW/> <CALLBACKCODE/> <UPDATE_FREQUENCY>10</UPDATE_FREQUENCY> <UPDATE_DELAY>0.4</UPDATE_DELAY> <DRAG_SCALAR>0.0001</DRAG_SCALAR> <THRESHOLD_INPUT>0.00025</THRESHOLD_INPUT> <THRESHOLD_MOUSE>0.001</THRESHOLD_MOUSE> <Condition> <Test> <And> <Arg NotEmpty="CLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="CLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <False> <Condition NotEmpty="CLOCKWISE_CODE"> <True> <CLOCKWISE_CODE_DEFAULT_IM>#CLOCKWISE_CODE#</CLOCKWISE_CODE_DEFAULT_IM> <CLOCKWISE_CODE_DRAG_IM>#CLOCKWISE_CODE#</CLOCKWISE_CODE_DRAG_IM> </True> <False> <CLOCKWISE_CODE_DEFAULT_IM/> <CLOCKWISE_CODE_DRAG_IM/> </False> </Condition> </False> </Condition> <Condition> <Test> <And> <Arg NotEmpty="ANTICLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="ANTICLOCKWISE_CODE_DRAG_IM"/> </And> </Test> <False> <Condition NotEmpty="ANTICLOCKWISE_CODE"> <True> <ANTICLOCKWISE_CODE_DEFAULT_IM>#ANTICLOCKWISE_CODE#</ANTICLOCKWISE_CODE_DEFAULT_IM> <ANTICLOCKWISE_CODE_DRAG_IM>#ANTICLOCKWISE_CODE#</ANTICLOCKWISE_CODE_DRAG_IM> </True> <False> <ANTICLOCKWISE_CODE_DEFAULT_IM/> <ANTICLOCKWISE_CODE_DRAG_IM/> </False> </Condition> </False> </Condition> <UPARROW_DRAG_IM/> <DOWNARROW_DRAG_IM/> <LEFTARROW_DRAG_IM/> <RIGHTARROW_DRAG_IM/> <CURSOR_CENTER_DRAG_IM/> <CURSOR_DRAG_IM>Grab</CURSOR_DRAG_IM> </DefaultTemplateParameters> <OverrideTemplateParameters> <THRESHOLD>#THRESHOLD_INPUT# #THRESHOLD_MOUSE# (M:InputType) 1 == ?</THRESHOLD> </OverrideTemplateParameters> <Condition> <Test> <Arg NotEmpty="CLOCKWISE_CODE_DEFAULT_IM"/> <Arg NotEmpty="ANTICLOCKWISE_CODE_DEFAULT_IM"/> </Test> <True> <Update Frequency="#UPDATE_FREQUENCY#" InteractionModel="Default"> (O:XMLVAR_FirstUpdateTime) (E:SIMULATION TIME, seconds) < if{ (O:_MouseDownRelativePos#AXIS#) 0 > if{ #CLOCKWISE_CODE_DEFAULT_IM# } els{ (O:_MouseDownRelativePos#AXIS#) 0 < if{ #ANTICLOCKWISE_CODE_DEFAULT_IM# } } } </Update> </True> </Condition> <UseTemplate Name="ASOBO_GT_MouseRect"> <MouseFlags>LeftAll+WheelUp+WheelDown+Lock+Unlock</MouseFlags> <CALLBACKCODE_DEFAULT_IM> (M:Event) 'WheelUp' scmi 0 == if{ #CLOCKWISE_CODE_DEFAULT_IM# } els{ (M:Event) 'WheelDown' scmi 0 == if{ #ANTICLOCKWISE_CODE_DEFAULT_IM# } els{ (M:Event) 'LeftSingle' scmi 0 == if{ (M:Relative#AXIS#) (>O:_MouseDownRelativePos#AXIS#) (E:SIMULATION TIME, seconds) #UPDATE_DELAY# + (>O:XMLVAR_FirstUpdateTime) (O:_MouseDownRelativePos#AXIS#) 0 > if{ #CLOCKWISE_CODE_DEFAULT_IM# } els{ (O:_MouseDownRelativePos#AXIS#) 0 < if{ #ANTICLOCKWISE_CODE_DEFAULT_IM# } } } els{ (M:Event) 'LeftRelease' scmi 0 == if{ 0 (>O:_MouseDownRelativePos#AXIS#) } } } } </CALLBACKCODE_DEFAULT_IM> <CALLBACKCODE_DRAG_IM> (M:Event) 'WheelUp' scmi 0 == if{ #CLOCKWISE_CODE_DRAG_IM# } els{ (M:Event) 'WheelDown' scmi 0 == if{ #ANTICLOCKWISE_CODE_DRAG_IM# } els{ (M:Event) 'Lock' scmi 0 == if{ (M:Relative#AXIS#) (>O:_Last#AXIS#) } els{ (M:Event) 'Unlock' scmi 0 == if{ 0 (>O:_Last#AXIS#) } els{ (M:Event) 'LeftDrag' scmi 0 == if{ (M:Relative#AXIS#) (O:_Last#AXIS#) - sp0 #THRESHOLD# (>O:_InputThreshold) l0 abs (O:_InputThreshold) > if{ l0 (O:_InputThreshold) / abs flr sp1 l0 (O:_InputThreshold) % abs sp2 :1 (* for loop *) l1 0 <= if{ g2 } l1 -- sp1 l0 0 > if{ #CLOCKWISE_CODE_DRAG_IM# } els{ #ANTICLOCKWISE_CODE_DRAG_IM# } g1 :2 l0 0 > if{ (M:Relative#AXIS#) l2 - (>O:_Last#AXIS#) } els{ (M:Relative#AXIS#) l2 + (>O:_Last#AXIS#) } } } } } } } quit </CALLBACKCODE_DRAG_IM> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- HELPID
- TOOLTIPID
- UPARROW
- DOWNARROW
- LEFTARROW
- RIGHTARROW
- CALLBACKCODE
- UPDATE_FREQUENCY
- UPDATE_DELAY
- DRAG_SCALAR
- THRESHOLD_INPUT
- THRESHOLD_MOUSE
- UPARROW_DRAG_IM
- DOWNARROW_DRAG_IM
- LEFTARROW_DRAG_IM
- RIGHTARROW_DRAG_IM
- CURSOR_CENTER_DRAG_IM
- CURSOR_DRAG_IM
Condition: Test(CLOCKWISE_CODE_DEFAULT_IM, CLOCKWISE_CODE_DRAG_IM)
-
Case: False
Condition: NotEmpty(CLOCKWISE_CODE)
-
Case: True
Parameters set:
- CLOCKWISE_CODE_DEFAULT_IM (using CLOCKWISE_CODE)
- CLOCKWISE_CODE_DRAG_IM (using CLOCKWISE_CODE)
-
Case: False
Parameters set:
- CLOCKWISE_CODE_DEFAULT_IM
- CLOCKWISE_CODE_DRAG_IM
-
Condition: Test(ANTICLOCKWISE_CODE_DEFAULT_IM, ANTICLOCKWISE_CODE_DRAG_IM)
-
Case: False
Condition: NotEmpty(ANTICLOCKWISE_CODE)
-
Case: True
Parameters set:
- ANTICLOCKWISE_CODE_DEFAULT_IM (using ANTICLOCKWISE_CODE)
- ANTICLOCKWISE_CODE_DRAG_IM (using ANTICLOCKWISE_CODE)
-
Case: False
Parameters set:
- ANTICLOCKWISE_CODE_DEFAULT_IM
- ANTICLOCKWISE_CODE_DRAG_IM
-
-
Override
Parameters set:
- THRESHOLD (using THRESHOLD_INPUT, THRESHOLD_MOUSE)
Templates used:
-
ASOBO_GT_MouseRect
Parameters set:
- MouseFlags
- CALLBACKCODE_DEFAULT_IM (using CLOCKWISE_CODE_DEFAULT_IM, ANTICLOCKWISE_CODE_DEFAULT_IM, AXIS, UPDATE_DELAY)
- CALLBACKCODE_DRAG_IM (using CLOCKWISE_CODE_DRAG_IM, ANTICLOCKWISE_CODE_DRAG_IM, AXIS, THRESHOLD)
Condition: Test(CLOCKWISE_CODE_DEFAULT_IM, ANTICLOCKWISE_CODE_DEFAULT_IM)
-
Case: True
Parameters read:
- UPDATE_FREQUENCY
- AXIS
- CLOCKWISE_CODE_DEFAULT_IM
- ANTICLOCKWISE_CODE_DEFAULT_IM
-
Default
-
ASOBO_GT_Interaction_DraggingYAxis_SimGates_Base
Definition from XML<Template Name="ASOBO_GT_Interaction_DraggingYAxis_SimGates_Base"> <DefaultTemplateParameters> <LIMITATIONS_OVERRIDE/> <INCREMENT>0.1</INCREMENT> <Condition Check="IGNORE_GATES"> <LIMITATIONS_OVERRIDE> #STEPS_NUMBER# (>O:MaxDraggingPosition) 0 (>O:MinDraggingPosition) </LIMITATIONS_OVERRIDE> </Condition> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_MouseRect"> <MOUSEFLAGS>LeftAll+WheelUp+WheelDown</MOUSEFLAGS> <CALLBACKCODE> (A:#SIMVAR#, #SIMVAR_UNITS#) #SIMVAR_CONVERSION# sp0 (M:Event) 'LeftSingle' scmp 0 == if{ (M:RelativeY) (>O:PrevY, Number) l0 near l0 - abs #GATE_TOLERANCE# < sp1 #GATE_DIRECTION# -1 != if{ l1 if{ l0 near 1 + #STEPS_NUMBER# min (>O:MaxDraggingPosition) } els{ l0 ceil #STEPS_NUMBER# min (>O:MaxDraggingPosition) } } els{ #STEPS_NUMBER# (>O:MaxDraggingPosition) } #GATE_DIRECTION# 1 != if{ l1 if{ l0 near 1 - 0 max (>O:MinDraggingPosition) } els{ l0 flr 0 max (>O:MinDraggingPosition) } } els{ 0 (>O:MinDraggingPosition) } } els{ (M:Event) 'LeftDrag' scmp 0 == if{ (O:PrevY) (M:RelativeY) - sp2 l2 #DRAG_SPEED# * sp3 #GATE_DIRECTION# -1 != if{ l0 #GATE_TOLERANCE# + flr 1 + (O:MaxDraggingPosition) min (>O:MaxDraggingPosition) } #GATE_DIRECTION# 1 != if{ l0 #GATE_TOLERANCE# - ceil 1 - (O:MinDraggingPosition) max (>O:MinDraggingPosition) } #LIMITATIONS_OVERRIDE# l0 l3 + (O:MaxDraggingPosition) min (O:MinDraggingPosition) max #EVENTID_CONVERSION# (>K:#EVENTID_SET#) (M:RelativeY) (>O:PrevY) } els{ (M:Event) 'WheelUp' scmp 0 == if{ l0 #INCREMENT# - #EVENTID_CONVERSION# (>K:#EVENTID_SET#) } els{ (M:Event) 'WheelDown' scmp 0 == if{ l0 #INCREMENT# + #EVENTID_CONVERSION# (>K:#EVENTID_SET#) } } } } </CALLBACKCODE> </UseTemplate> </Template>Parameters initialization:
-
Default
Parameters set:
- LIMITATIONS_OVERRIDE
- INCREMENT
Condition: Check(IGNORE_GATES)
-
Case: True
Parameters set:
- LIMITATIONS_OVERRIDE (using STEPS_NUMBER)
Templates used:
-
ASOBO_GT_MouseRect
Parameters set:
- MOUSEFLAGS
- CALLBACKCODE (using SIMVAR, SIMVAR_UNITS, SIMVAR_CONVERSION, GATE_TOLERANCE, GATE_DIRECTION, STEPS_NUMBER, DRAG_SPEED, LIMITATIONS_OVERRIDE, EVENTID_CONVERSION, EVENTID_SET, INCREMENT)
-
Default