[Go back to index]

Asobo_EX1\Generic\Interior\Templates\ParametersFn\Variants\Interaction_XStates_ParametersFn.xml

Source XML
<ModelBehaviors> <!-- ################################# INTERACTION ################################ --> <!-- ############################################################################## --> <!-- IN: AXIS (X, Y or TRAJECTORY) --> <!-- STATE_N_ID: all positions ID --> <!-- OUT: Get ANIM_CODE & CALLBACK_CODE for an XStates interaction --> <ParametersFn Name="ASOBO_Get_Interaction_XStates_Parameters"> <Parameters Type="Default"> <Condition CheckSavedParameters="Cover_Interaction_Parameters"> <IS_COVERED>True</IS_COVERED> </Condition> <AUTO_CREATE_SOUND_EVENTS>True</AUTO_CREATE_SOUND_EVENTS> </Parameters> <Parameters Type="Default"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <SOUND_EVENT_COUNT>#LAST_STATE_INDEX#</SOUND_EVENT_COUNT> <Condition NotEmpty="SOUND_EVENT_TYPE_ID"> <True> <SOUND_EVENT_NAME>TYPE_#SOUND_EVENT_TYPE_ID#</SOUND_EVENT_NAME> </True> <False> <SOUND_EVENT_NAME>#IE_PRESET_ID#</SOUND_EVENT_NAME> </False> </Condition> <SOUND_EVENT_INTERACTION_TYPE>#INTERACTION_TYPE#</SOUND_EVENT_INTERACTION_TYPE> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <Condition NotEmpty="SOUND_EVENT_SUFFIX"> <SOUND_EVENT_NAME>#SOUND_EVENT_NAME#_#SOUND_EVENT_SUFFIX#</SOUND_EVENT_NAME> </Condition> </Condition> </Parameters> <Parameters Type="Default"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <FULL_SOUND_EVENT_NAME>#SOUND_EVENT_INTERACTION_TYPE#_#SOUND_EVENT_NAME#</FULL_SOUND_EVENT_NAME> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <Condition NotEmpty="SOUND_EVENT_GROUP"> <FULL_SOUND_EVENT_NAME>#SOUND_EVENT_GROUP#_#FULL_SOUND_EVENT_NAME#</FULL_SOUND_EVENT_NAME> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <UseParametersFn Name="ASOBO_Add_Sound_Event_Helper"> <WWISE_EVENT_DIRECTION>Both</WWISE_EVENT_DIRECTION> <WWISE_EVENT_NAME>#FULL_SOUND_EVENT_NAME#</WWISE_EVENT_NAME> <WWISE_EVENT_COUNT>#SOUND_EVENT_COUNT#</WWISE_EVENT_COUNT> </UseParametersFn> <UseParametersFn Name="ASOBO_Add_Sound_Event_Helper"> <WWISE_EVENT_DIRECTION>Forward</WWISE_EVENT_DIRECTION> <WWISE_EVENT_NAME>#FULL_SOUND_EVENT_NAME#_Forward</WWISE_EVENT_NAME> <WWISE_EVENT_COUNT>#SOUND_EVENT_COUNT#</WWISE_EVENT_COUNT> </UseParametersFn> <UseParametersFn Name="ASOBO_Add_Sound_Event_Helper"> <WWISE_EVENT_DIRECTION>Backward</WWISE_EVENT_DIRECTION> <WWISE_EVENT_NAME>#FULL_SOUND_EVENT_NAME#_Backward</WWISE_EVENT_NAME> <WWISE_EVENT_COUNT>#SOUND_EVENT_COUNT#</WWISE_EVENT_COUNT> </UseParametersFn> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="IS_COVERED"> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_Covered_Parameters"/> </Condition> </Parameters> <ReturnParameters> <Loop> <Setup> <Param>CUR_ID</Param> <From>0</From> <Inc>1</Inc> <To>#LAST_STATE_INDEX#</To> </Setup> <Do> <Parameters Type="Override" Lifetime="Loop"> <UseParametersFn Name="ASOBO_Get_Interaction_XState_Parameters"> <IN_STATE_ID Process="Param">IE_STATE_#CUR_ID#</IN_STATE_ID> <IN_STATE_INDEX>#CUR_ID#</IN_STATE_INDEX> </UseParametersFn> </Parameters> </Do> <Then> <Switch> <Case Valid="USE_SIMPLE_TOGGLE_INTERACTION"> <UseParametersFn Name="ASOBO_Get_Interaction_2States_Parameters"/> </Case> <Default> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Parameters"/> </Default> </Switch> </Then> </Loop> </ReturnParameters> </ParametersFn> <!-- Setup a simplfied interaction for a toggle --> <ParametersFn Name="ASOBO_Get_Interaction_2States_Parameters"> <Parameters Type="Default"> <Condition Valid="IS_AN_ATTACHEMENT"> <True> <FORWARD_INC_DEC_TO_IE>False</FORWARD_INC_DEC_TO_IE> </True> <False> <FORWARD_INC_DEC_TO_IE>True</FORWARD_INC_DEC_TO_IE> </False> </Condition> <MOUSERECT_LOCK_ENABLED>False</MOUSERECT_LOCK_ENABLED> <Condition Check="STATE_0_MOMENTARY_RELEASE_TARGET"> <MOMENTARY_RELEASE>(&gt;B:#IE_PRESET_ID#_#STATE_0_MOMENTARY_RELEASE_TARGET#)</MOMENTARY_RELEASE> <MOMENTARY_CONDITION>#STATE_0_CHECK#</MOMENTARY_CONDITION> <MOMENTARY_MIN_DURATION>#STATE_0_MOMENTARY_MIN_DURATION#</MOMENTARY_MIN_DURATION> <STATE_ID Process="Param">STATE_0_ID</STATE_ID> </Condition> <Condition Check="STATE_1_MOMENTARY_RELEASE_TARGET"> <MOMENTARY_RELEASE>(&gt;B:#IE_PRESET_ID#_#STATE_1_MOMENTARY_RELEASE_TARGET#)</MOMENTARY_RELEASE> <MOMENTARY_CONDITION>#STATE_1_CHECK#</MOMENTARY_CONDITION> <MOMENTARY_MIN_DURATION>#STATE_1_MOMENTARY_MIN_DURATION#</MOMENTARY_MIN_DURATION> <STATE_ID Process="Param">STATE_1_ID</STATE_ID> </Condition> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <AXIS>TRAJECTORY</AXIS> </Case> <Case Value="Knob"> <AXIS>X</AXIS> </Case> <Default> <AXIS>Y</AXIS> </Default> </Switch> <Condition Valid="IS_AN_ATTACHEMENT"> <True> <VAR_IS_INTERACTING>O:_Sub_Interaction_#ATTACHEMENT_ID#_Is_Locked</VAR_IS_INTERACTING> </True> <False> <VAR_IS_INTERACTING>O:_Interaction_Is_Locked</VAR_IS_INTERACTING> </False> </Condition> </Parameters> <Condition Check="MOMENTARY_RELEASE"> <Parameters Type="Override"> <PROCESS_MOMENTARY_RELEASE_TARGETS> #MOMENTARY_CONDITION# if{ @E_SimulationTime (O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) &gt; if{ #MOMENTARY_RELEASE# } els{ (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) } } </PROCESS_MOMENTARY_RELEASE_TARGETS> <UPDATE_MOMENTARY_RELEASE_TIMEOUTS>@E_SimulationTime #MOMENTARY_MIN_DURATION# + (&gt;O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick)</UPDATE_MOMENTARY_RELEASE_TIMEOUTS> </Parameters> <Condition Valid="ENFORCE_MOMENTARY_MIN_DURATION"> <Parameters Type="Override"> <MOMENTARY_RELEASE>#PROCESS_MOMENTARY_RELEASE_TARGETS#</MOMENTARY_RELEASE> </Parameters> </Condition> </Condition> <Parameters Type="Default"> <Switch Param="AXIS"> <Case Value="TRAJECTORY"> <INTERACTION_AXIS>Y</INTERACTION_AXIS> </Case> <Default> <INTERACTION_AXIS>#AXIS#</INTERACTION_AXIS> </Default> </Switch> <ANIM_LAG>300</ANIM_LAG> <ANIM_CODE>(B:#IE_PRESET_ID#, percent)</ANIM_CODE> <ON_ENTER_LOCK_INTERACTION>(&gt;B:#IE_PRESET_ID#_Toggle)</ON_ENTER_LOCK_INTERACTION> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <MR_TO_IE_INC_VALUE>1</MR_TO_IE_INC_VALUE> <MR_TO_IE_DEC_VALUE>1</MR_TO_IE_DEC_VALUE> </Condition> <Condition NotEmpty="INVERT_DRAG_SCALAR"> <MR_INVERT_INC_DEC_EVENTS>#INVERT_DRAG_SCALAR#</MR_INVERT_INC_DEC_EVENTS> </Condition> </Parameters> <Parameters Type="Default"> <Condition> <Test> <And> <Arg NotEmpty="STATE_0_TOOLTIP"/> <Arg NotEmpty="STATE_1_TOOLTIP"/> </And> </Test> <True> <IE_TOOLTIP_VALUE>#STATE_0_CHECK# if{ #STATE_0_TOOLTIP# } els{ #STATE_1_TOOLTIP# }</IE_TOOLTIP_VALUE> </True> </Condition> </Parameters> <Parameters Type="Default"> <Condition Valid="IS_AN_ATTACHEMENT"> <True> <SaveParameters ID="Temp_MR_Events_DEFAULT_IM"> <UseParametersFn Name="ASOBO_Get_Code_For_MR_Binding_Type_Helper"> <INTERACTION_MODEL>@IM_Default</INTERACTION_MODEL> <CODE_ON_PRESS>#ON_ENTER_LOCK_INTERACTION# 1 (&gt;#VAR_IS_INTERACTING#)</CODE_ON_PRESS> <Condition Check="MOMENTARY_RELEASE"> <CODE_ON_RELEASE>#MOMENTARY_RELEASE# 0 (&gt;#VAR_IS_INTERACTING#)</CODE_ON_RELEASE> </Condition> </UseParametersFn> </SaveParameters> <SaveParameters ID="Temp_MR_Events_DRAG_IM"> <UseParametersFn Name="ASOBO_Get_Code_For_MR_Binding_Type_Helper"> <INTERACTION_MODEL>@IM_Drag</INTERACTION_MODEL> <CODE_ON_PRESS>#ON_ENTER_LOCK_INTERACTION# 1 (&gt;#VAR_IS_INTERACTING#)</CODE_ON_PRESS> <Condition Check="MOMENTARY_RELEASE"> <CODE_ON_RELEASE>#MOMENTARY_RELEASE# 0 (&gt;#VAR_IS_INTERACTING#)</CODE_ON_RELEASE> </Condition> </UseParametersFn> </SaveParameters> </True> <False> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <ON_INCREASE>#MR_TO_IE_INC_VALUE# (&gt;B:#IE_PRESET_ID#_Inc)</ON_INCREASE> <ON_DECREASE>#MR_TO_IE_DEC_VALUE# (&gt;B:#IE_PRESET_ID#_Dec)</ON_DECREASE> </Condition> <Condition Check="PROCESS_MOMENTARY_RELEASE_TARGETS"> <True> <ON_ENTER_LOCK>1 (&gt;#VAR_IS_INTERACTING#) #ON_ENTER_LOCK_INTERACTION#</ON_ENTER_LOCK> <ON_EXIT_LOCK>0 (&gt;#VAR_IS_INTERACTING#) #MOMENTARY_RELEASE#</ON_EXIT_LOCK> </True> <False> <ON_ENTER_LOCK>#ON_ENTER_LOCK_INTERACTION#</ON_ENTER_LOCK> </False> </Condition> </False> </Condition> <Condition Check="PROCESS_MOMENTARY_RELEASE_TARGETS"> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_Momentary_Parameters"/> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <UseParametersFn Name="ASOBO_Process_Inc_Dec_Invertion"/> </Condition> </Parameters> <ReturnParameters> <Condition Valid="IS_AN_ATTACHEMENT"> <True> <Loop> <Setup> <Param>EV_PARAM</Param> <Value>EV_VALUE</Value> <Parameters> <LoadParameters ID="Temp_MR_Events_DEFAULT_IM"/> <RemoveSavedParameters ID="Temp_MR_Events_DEFAULT_IM"/> </Parameters> </Setup> <Do> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <#EV_PARAM#>#EV_VALUE#</#EV_PARAM#> <INTERACTION_MODEL>@IM_Default</INTERACTION_MODEL> </UseParametersFn> </Do> </Loop> <Loop> <Setup> <Param>EV_PARAM</Param> <Value>EV_VALUE</Value> <Parameters> <LoadParameters ID="Temp_MR_Events_DRAG_IM"/> <RemoveSavedParameters ID="Temp_MR_Events_DRAG_IM"/> </Parameters> </Setup> <Do> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <#EV_PARAM#>#EV_VALUE#</#EV_PARAM#> <INTERACTION_MODEL>@IM_Drag</INTERACTION_MODEL> </UseParametersFn> </Do> </Loop> </True> <False> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_ENTER_LOCK</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_EXIT_LOCK</EV_PARAM> </UseParametersFn> </False> </Condition> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_INCREASE</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_DECREASE</EV_PARAM> </UseParametersFn> </Condition> <UseParametersFn Name="ASOBO_Add_Animation_Helper"/> <Condition Valid="IS_AN_ATTACHEMENT"> <False> <SaveParameters ID="Mouserect_Parameters" Append="Default"> <CURSOR>Hand</CURSOR> <MOUSERECT_LOCK_ENABLED>#MOUSERECT_LOCK_ENABLED#</MOUSERECT_LOCK_ENABLED> </SaveParameters> </False> </Condition> <Switch Param="INTERACTION_TYPE"> <Case Value="Button"> <Switch Param="BUTTON_TYPE"> <Case Value="Push"> <IE_TOOLTIP_ICON>PUSH</IE_TOOLTIP_ICON> </Case> <Case Value="Pull"> <IE_TOOLTIP_ICON>PULL</IE_TOOLTIP_ICON> </Case> <Default> <IE_TOOLTIP_ICON>MOVE_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Default> </Switch> </Case> <Case Value="Knob"> <IE_TOOLTIP_ICON>ROTATE</IE_TOOLTIP_ICON> </Case> <Case Value="Lever"> <IE_TOOLTIP_ICON>MOVE_AXIS_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Case> <Default> <IE_TOOLTIP_ICON>MOVE_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Default> </Switch> <UseParametersFn Name="ASOBO_Get_Interaction_For_MR_Binding_Type_Helper"/> <UseParametersFn Name="ASOBO_Format_Tooltip_Value_Helper"/> </ReturnParameters> </ParametersFn> <!-- IN: IN_STATE_ID ID of the state --> <!-- IN: STATE_#IN_STATE_ID#_CODE/IE_ALIAS (code or ie alias for this state) --> <!-- IN: STATE_#IN_STATE_ID#_CONDITION/IE_VALUE (code or ie value for checking if this state is active) --> <!-- IN: STATE_#IN_STATE_ID#_TOOLTIP_CODE/_TOOLTIP_ID (code or tooltip id for this state) --> <ParametersFn Name="ASOBO_Get_Interaction_XState_Parameters"> <Parameters Type="Default"> <Condition Check="POS_#IN_STATE_ID#_MOMENTARY_RELEASE_TARGET"> <DEFAULT_MOMENTARY_MIN_DURATION>0.75</DEFAULT_MOMENTARY_MIN_DURATION> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="POS_#IN_STATE_ID#_GATE_DIRECTION"> <LoadParameters ID="MR_Gates_Temp_Data"/> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="POS_#IN_STATE_ID#_GATE_DIRECTION"> <Condition Check="LAST_USED_GATE_ID"> <True> <GATE_ID Process="Int">#LAST_USED_GATE_ID# 1 +</GATE_ID> </True> <False> <GATE_ID>0</GATE_ID> </False> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="POS_#IN_STATE_ID#_GATE_DIRECTION"> <SaveParameters ID="MR_Gates_Config" Append="Override"> <GATE_#GATE_ID#>POS_#IN_STATE_ID#</GATE_#GATE_ID#> </SaveParameters> <SaveParameters ID="MR_Gates_Temp_Data" Append="Override"> <LAST_USED_GATE_ID>#GATE_ID#</LAST_USED_GATE_ID> </SaveParameters> </Condition> </Parameters> <Parameters Type="Override"> <Switch> <Case NotEmpty="POS_#IN_STATE_ID#_CODE"> <IN_STATE_CODE Process="Param">POS_#IN_STATE_ID#_CODE</IN_STATE_CODE> </Case> <Case NotEmpty="POS_#IN_STATE_ID#_IE_ALIAS"> <UseParametersFn Name="ASOBO_Get_IE_ALIAS_Code"> <OUT_PARAM_NAME>IN_STATE_CODE</OUT_PARAM_NAME> <ALIAS_ID Process="Param">POS_#IN_STATE_ID#_IE_ALIAS</ALIAS_ID> </UseParametersFn> </Case> </Switch> <Switch> <Case NotEmpty="POS_#IN_STATE_ID#_CHECK"> <IN_STATE_CHECK Process="Param">POS_#IN_STATE_ID#_CHECK</IN_STATE_CHECK> </Case> <Case NotEmpty="POS_#IN_STATE_ID#_IE_VALUE"> <UseParametersFn Name="ASOBO_Get_IE_VALUE_Check"> <OUT_PARAM_NAME>IN_STATE_CHECK</OUT_PARAM_NAME> <VALUE Process="Param">POS_#IN_STATE_ID#_IE_VALUE</VALUE> </UseParametersFn> </Case> </Switch> <Switch> <Case NotEmpty="POS_#IN_STATE_ID#_TOOLTIP_CODE"> <IN_STATE_TOOLTIP Process="Param">POS_#IN_STATE_ID#_TOOLTIP_CODE</IN_STATE_TOOLTIP> </Case> <Case NotEmpty="POS_#IN_STATE_ID#_TOOLTIP_ID"> <UseParametersFn Name="ASOBO_Get_TOOLTIP_ID_Parameters"> <OUT_PARAM_NAME>IN_STATE_TOOLTIP</OUT_PARAM_NAME> <TOOLTIP_ID Process="Param">POS_#IN_STATE_ID#_TOOLTIP_ID</TOOLTIP_ID> </UseParametersFn> </Case> </Switch> <Condition NotEmpty="POS_#IN_STATE_ID#_ANIM_PERCENT"> <True> <IN_STATE_PERCENT Process="Param">POS_#IN_STATE_ID#_ANIM_PERCENT</IN_STATE_PERCENT> </True> <False> <IN_STATE_PERCENT Process="Int">#IN_STATE_INDEX# #LAST_STATE_INDEX# / 100 * near</IN_STATE_PERCENT> </False> </Condition> <Condition NotEmpty="POS_#IN_STATE_ID#_MOMENTARY_RELEASE_TARGET"> <IN_STATE_MOMENTARY_TARGET Process="Param">POS_#IN_STATE_ID#_MOMENTARY_RELEASE_TARGET</IN_STATE_MOMENTARY_TARGET> <Condition NotEmpty="POS_#IN_STATE_ID#_MOMENTARY_MIN_DURATION"> <True> <IN_STATE_MOMENTARY_MIN_DURATION Process="Param">POS_#IN_STATE_ID#_MOMENTARY_MIN_DURATION</IN_STATE_MOMENTARY_MIN_DURATION> </True> <False> <IN_STATE_MOMENTARY_MIN_DURATION>#DEFAULT_MOMENTARY_MIN_DURATION#</IN_STATE_MOMENTARY_MIN_DURATION> </False> </Condition> <Condition NotEmpty="POS_#IN_STATE_ID#_MOMENTARY_CONDITION"> <True> <IN_STATE_MOMENTARY_MOMENTARY_CONDITION Process="Param">POS_#IN_STATE_ID#_MOMENTARY_CONDITION</IN_STATE_MOMENTARY_MOMENTARY_CONDITION> </True> <False> <IN_STATE_MOMENTARY_MOMENTARY_CONDITION/> </False> </Condition> </Condition> </Parameters> <ReturnParameters> <STATE_#IN_STATE_INDEX#_ID>#IN_STATE_ID#</STATE_#IN_STATE_INDEX#_ID> <STATE_#IN_STATE_INDEX#_CODE>#IN_STATE_CODE#</STATE_#IN_STATE_INDEX#_CODE> <Condition NotEmpty="IN_STATE_TOOLTIP"> <STATE_#IN_STATE_INDEX#_TOOLTIP>#IN_STATE_TOOLTIP#</STATE_#IN_STATE_INDEX#_TOOLTIP> </Condition> <Condition NotEmpty="IN_STATE_CHECK"> <STATE_#IN_STATE_INDEX#_CHECK>#IN_STATE_CHECK#</STATE_#IN_STATE_INDEX#_CHECK> </Condition> <STATE_#IN_STATE_INDEX#_ANIM_PERCENT>#IN_STATE_PERCENT#</STATE_#IN_STATE_INDEX#_ANIM_PERCENT> <Condition NotEmpty="IN_STATE_MOMENTARY_TARGET"> <IS_MOMENTARY>True</IS_MOMENTARY> <STATE_#IN_STATE_INDEX#_MOMENTARY_RELEASE_TARGET>#IN_STATE_MOMENTARY_TARGET#</STATE_#IN_STATE_INDEX#_MOMENTARY_RELEASE_TARGET> <STATE_#IN_STATE_INDEX#_MOMENTARY_MIN_DURATION>#IN_STATE_MOMENTARY_MIN_DURATION#</STATE_#IN_STATE_INDEX#_MOMENTARY_MIN_DURATION> <STATE_#IN_STATE_INDEX#_MOMENTARY_CONDITION>#IN_STATE_MOMENTARY_MOMENTARY_CONDITION#</STATE_#IN_STATE_INDEX#_MOMENTARY_CONDITION> </Condition> </ReturnParameters> </ParametersFn> <ParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Parameters"> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <AXIS>TRAJECTORY</AXIS> </Case> <Case Value="Knob"> <AXIS>X</AXIS> </Case> <Default> <AXIS>Y</AXIS> </Default> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="AXIS"> <Case Value="TRAJECTORY"> <INTERACTION_AXIS>Y</INTERACTION_AXIS> </Case> <Default> <INTERACTION_AXIS>#AXIS#</INTERACTION_AXIS> </Default> </Switch> </Parameters> <ReturnParameters> <Switch Param="AXIS"> <Case Value="TRAJECTORY"> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Trajectory_Parameters"/> </Case> <Default> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Axis_Parameters"/> </Default> </Switch> </ReturnParameters> </ParametersFn> <!-- AXIS --> <ParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Axis_Parameters"> <Parameters Type="Default"> <Condition CheckSavedParameters="MR_Gates_Config"> <True> <UseParametersFn Name="ASOBO_Drag_Threshold_States"/> </True> <False> <UseParametersFn Name="ASOBO_Drag_Threshold_States_No_Gates"/> </False> </Condition> <AXIS_THRESHOLD_COUNT_VAR>O:_#AXIS#AxisThresholdCount</AXIS_THRESHOLD_COUNT_VAR> <CALLBACK_DRAG_USE_ANIM_LAG>True</CALLBACK_DRAG_USE_ANIM_LAG> <Condition NotEmpty="MR_INVERT_MOUSE_DRAG_INTERACTION"> <MR_INVERT_DRAG_POSITIVE_CONDITION>#MR_INVERT_MOUSE_DRAG_INTERACTION#</MR_INVERT_DRAG_POSITIVE_CONDITION> </Condition> </Parameters> <Parameters Type="Override"> <CLAMP_IE_SET_VALUE>0 max 100 min</CLAMP_IE_SET_VALUE> </Parameters> <Parameters Type="Override"> <SaveParameters ID="Mouserect_Parameters" Append="Default"> <CALLBACK_DRAG_USE_ANIM_LAG>#CALLBACK_DRAG_USE_ANIM_LAG#</CALLBACK_DRAG_USE_ANIM_LAG> </SaveParameters> <UseParametersFn Name="ASOBO_Get_Delta_Value_Threshold_Helper"/> <Condition Valid="WRAPPING_INTERACTION"> <LAST_STATE_INDEX Process="Int">#LAST_STATE_INDEX# 1 +</LAST_STATE_INDEX> <CLAMP_IE_SET_VALUE>100 pmod</CLAMP_IE_SET_VALUE> </Condition> </Parameters> <Parameters Type="Default"> <MR_TO_IE_SET_VALUE>#DELTA_VALUE# (B:#IE_PRESET_ID#, Number) (#AXIS_THRESHOLD_COUNT_VAR#) + #LAST_STATE_INDEX# / 100 * #CLAMP_IE_SET_VALUE#</MR_TO_IE_SET_VALUE> <GATES_TYPE>XSTATES</GATES_TYPE> <GATES_XTATES_GET_VALUE>(B:#IE_PRESET_ID#, Number) #LAST_STATE_INDEX# / 100 *</GATES_XTATES_GET_VALUE> <ON_ENTER_LOCK>#DELTA_VALUE_INIT#</ON_ENTER_LOCK> <VALUE_CHANGED_CHECK>(#AXIS_THRESHOLD_COUNT_VAR#) 0 !=</VALUE_CHANGED_CHECK> </Parameters> <ReturnParameters> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Base_Parameters"/> </ReturnParameters> </ParametersFn> <!-- TRAJECTORY --> <ParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Trajectory_Parameters"> <Parameters Type="Default"> <MR_TO_IE_SET_VALUE>@MR_DragPercent 100 *</MR_TO_IE_SET_VALUE> <CALLBACK_DRAG_ANIM_NAME>#ANIM_NAME#</CALLBACK_DRAG_ANIM_NAME> </Parameters> <Parameters Type="Override"> <SaveParameters ID="Mouserect_Parameters" Append="Default"> <CALLBACK_DRAG_ANIM_NAME>#CALLBACK_DRAG_ANIM_NAME#</CALLBACK_DRAG_ANIM_NAME> </SaveParameters> </Parameters> <ReturnParameters> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Base_Parameters"/> </ReturnParameters> </ParametersFn> <!-- generate callback code, anim code & tooltip value for a trajectory XStates interaction --> <!-- IN (opt): SHOW_INTERMEDIARY_POS_WHEN_INTERACTING (If true intermediary drag position will be used) --> <!-- IN (opt): FORWARD_INC_DEC_TO_IE (If true Increase and Decrease MR events will be forwarded to Inc & Dec of the associated input_event) --> <ParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Base_Parameters"> <Parameters Type="Default"> <FORWARD_INC_DEC_TO_IE>True</FORWARD_INC_DEC_TO_IE> </Parameters> <Parameters Type="Default"> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <MR_TO_IE_INC_VALUE>1</MR_TO_IE_INC_VALUE> <MR_TO_IE_DEC_VALUE>1</MR_TO_IE_DEC_VALUE> </Condition> <UseParametersFn Name="ASOBO_Get_Next_Safe_Jump_Flag_Helper"> <OUT_PARAM_NAME>FL_JUMP_TT_VALUE</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Get_Next_Safe_Jump_Flag_Helper"> <OUT_PARAM_NAME>FL_JUMP_CODE</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Get_Next_Safe_Jump_Flag_Helper"> <OUT_PARAM_NAME>FL_JUMP_ANIM_CODE</OUT_PARAM_NAME> </UseParametersFn> <VAR_LAST_DRAG_VALUE>O:_Interaction_Last_Drag_Percent</VAR_LAST_DRAG_VALUE> <VAR_UPDATE_LAST_DRAG_VALUE>O:_Interaction_Last_Drag_Needs_Update</VAR_UPDATE_LAST_DRAG_VALUE> <VAR_IS_INTERACTING>O:_Interaction_Is_Locked</VAR_IS_INTERACTING> <FORMAT_TOOLTIP_VALUE/> <Condition NotEmpty="ANIM_CODE"> <False> <ANIM_CODE>(B:#IE_PRESET_ID#, percent)</ANIM_CODE> <CAN_OVERRIDE_ANIM_CODE>True</CAN_OVERRIDE_ANIM_CODE> <SHOW_INTERMEDIARY_POS_WHEN_INTERACTING>True</SHOW_INTERMEDIARY_POS_WHEN_INTERACTING> </False> </Condition> <CALLBACK_DRAG_SCALAR>0.01</CALLBACK_DRAG_SCALAR> <ANIM_LAG>300</ANIM_LAG> </Parameters> <Parameters Type="Override"> <Condition Valid="WRAPPING_INTERACTION"> <True> <MAX_STATE_INDEX Process="Int">#LAST_STATE_INDEX# 1 +</MAX_STATE_INDEX> </True> <False> <MAX_STATE_INDEX>#LAST_STATE_INDEX#</MAX_STATE_INDEX> </False> </Condition> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>CUR_ID</Param> <From>0</From> <Inc>1</Inc> <To>#LAST_STATE_INDEX#</To> </Setup> <Do> <Parameters Type="Override"> <PREV_ID Process="Int">#CUR_ID# 1 -</PREV_ID> <NEXT_ID Process="Int">#CUR_ID# 1 +</NEXT_ID> </Parameters> <Parameters Type="Override"> <STATE_CODE Process="Param">STATE_#CUR_ID#_CODE</STATE_CODE> <Condition Check="STATE_#CUR_ID#_CHECK"> <STATE_CHECK Process="Param">STATE_#CUR_ID#_CHECK</STATE_CHECK> </Condition> <Condition Check="STATE_#CUR_ID#_TOOLTIP"> <STATE_TOOLTIP Process="Param">STATE_#CUR_ID#_TOOLTIP</STATE_TOOLTIP> </Condition> <Condition Check="STATE_#CUR_ID#_ANIM_PERCENT"> <True> <STATE_PERCENT Process="Param">STATE_#CUR_ID#_ANIM_PERCENT</STATE_PERCENT> </True> <False> <STATE_PERCENT Process="Float">#CUR_ID# #MAX_STATE_INDEX# / 100 *</STATE_PERCENT> </False> </Condition> <Condition Check="STATE_#PREV_ID#_ANIM_PERCENT"> <True> <STATE_BEFORE_PERCENT Process="Param">STATE_#PREV_ID#_ANIM_PERCENT</STATE_BEFORE_PERCENT> </True> <False> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#CUR_ID#</Number> <Number>0</Number> </Equal> </And> </Test> <True> <STATE_BEFORE_PERCENT Process="Float">#LAST_STATE_INDEX# #LAST_STATE_INDEX# 1 + / 100 *</STATE_BEFORE_PERCENT> </True> <False> <STATE_BEFORE_PERCENT Process="Float">#PREV_ID# 0 max #MAX_STATE_INDEX# / 100 *</STATE_BEFORE_PERCENT> </False> </Condition> </False> </Condition> <Condition Check="STATE_#NEXT_ID#_ANIM_PERCENT"> <True> <STATE_AFTER_PERCENT Process="Param">STATE_#NEXT_ID#_ANIM_PERCENT</STATE_AFTER_PERCENT> </True> <False> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#CUR_ID#</Number> <Number>#LAST_STATE_INDEX#</Number> </Equal> </And> </Test> <True> <STATE_AFTER_PERCENT>0</STATE_AFTER_PERCENT> </True> <False> <STATE_AFTER_PERCENT Process="Float">#NEXT_ID# #LAST_STATE_INDEX# min #MAX_STATE_INDEX# / 100 *</STATE_AFTER_PERCENT> </False> </Condition> </False> </Condition> <Condition Check="STATE_#CUR_ID#_MOMENTARY_RELEASE_TARGET"> <STATE_MOMENTARY_RELEASE_TARGET Process="Param">STATE_#CUR_ID#_MOMENTARY_RELEASE_TARGET</STATE_MOMENTARY_RELEASE_TARGET> <MOMENTARY_MIN_DURATION Process="Param">STATE_#CUR_ID#_MOMENTARY_MIN_DURATION</MOMENTARY_MIN_DURATION> <MOMENTARY_CONDITION Process="Param">STATE_#CUR_ID#_MOMENTARY_CONDITION</MOMENTARY_CONDITION> <STATE_ID Process="Param">STATE_#CUR_ID#_ID</STATE_ID> </Condition> </Parameters> <Parameters Type="Override"> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#STATE_PERCENT#</Number> <Number>0</Number> </Equal> </And> </Test> <True> <STATE_PERCENT_MID_TO_BEFORE Process="Float">100 #STATE_BEFORE_PERCENT# + 2 /</STATE_PERCENT_MID_TO_BEFORE> </True> <False> <STATE_PERCENT_MID_TO_BEFORE Process="Float">#STATE_PERCENT# #STATE_BEFORE_PERCENT# + 2 /</STATE_PERCENT_MID_TO_BEFORE> </False> </Condition> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#STATE_AFTER_PERCENT#</Number> <Number>0</Number> </Equal> </And> </Test> <True> <STATE_PERCENT_MID_TO_AFTER Process="Float">#STATE_PERCENT# 100 + 2 /</STATE_PERCENT_MID_TO_AFTER> </True> <False> <STATE_PERCENT_MID_TO_AFTER Process="Float">#STATE_PERCENT# #STATE_AFTER_PERCENT# + 2 /</STATE_PERCENT_MID_TO_AFTER> </False> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="STATE_CHECK"> <True> <STATE_CHECK_POS>#STATE_CHECK#</STATE_CHECK_POS> </True> <False> <STATE_CHECK_POS>#STATE_PERCENT_MID_TO_BEFORE# #STATE_PERCENT_MID_TO_AFTER# l0 rng</STATE_CHECK_POS> </False> </Condition> </Parameters> <Parameters Type="Override"> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#STATE_PERCENT#</Number> <Number>0</Number> </Equal> </And> </Test> <True> <THIS_POS_CODE>l0 #STATE_PERCENT_MID_TO_BEFORE# &gt; l0 #STATE_PERCENT_MID_TO_AFTER# &lt; or if{ #STATE_CODE# g#FL_JUMP_CODE# }</THIS_POS_CODE> </True> <False> <THIS_POS_CODE>#STATE_PERCENT_MID_TO_BEFORE# #STATE_PERCENT_MID_TO_AFTER# l0 rng if{ #STATE_CODE# g#FL_JUMP_CODE# }</THIS_POS_CODE> </False> </Condition> <Condition NotEmpty="STATE_CHECK"> <Condition NotEmpty="STATE_TOOLTIP"> <THIS_POS_TOOLTIP>#STATE_CHECK# if{ #STATE_TOOLTIP# g#FL_JUMP_TT_VALUE# }</THIS_POS_TOOLTIP> </Condition> <Condition Valid="CAN_OVERRIDE_ANIM_CODE"> <THIS_POS_ANIM_CODE>#STATE_CHECK# if{ #STATE_PERCENT# g#FL_JUMP_ANIM_CODE# }</THIS_POS_ANIM_CODE> </Condition> </Condition> <Condition Check="STATE_MOMENTARY_RELEASE_TARGET"> <THIS_POS_MOMENTARY_RELEASE_TARGET>#STATE_CHECK_POS# if{ (&gt;B:#IE_PRESET_ID#_#STATE_MOMENTARY_RELEASE_TARGET#) }</THIS_POS_MOMENTARY_RELEASE_TARGET> <THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT>#STATE_CHECK_POS# if{ l0 (O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) &gt; if{ (&gt;B:#IE_PRESET_ID#_#STATE_MOMENTARY_RELEASE_TARGET#) } els{ 1 sp1 } }</THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT> <THIS_POS_MOMENTARY_RELEASE_TIMEOUT>l0 #CUR_ID# == if{ @E_SimulationTime #MOMENTARY_MIN_DURATION# + (&gt;O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) }</THIS_POS_MOMENTARY_RELEASE_TIMEOUT> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="STATE_MOMENTARY_RELEASE_TARGET"> <Condition Valid="ENFORCE_MOMENTARY_MIN_DURATION"> <THIS_POS_MOMENTARY_RELEASE_TARGET> @E_SimulationTime (O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) &gt; if{ #THIS_POS_MOMENTARY_RELEASE_TARGET# } els{ (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) } </THIS_POS_MOMENTARY_RELEASE_TARGET> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="STATE_MOMENTARY_RELEASE_TARGET"> <Condition NotEmpty="MOMENTARY_CONDITION"> <THIS_POS_MOMENTARY_RELEASE_TARGET>#MOMENTARY_CONDITION# if{ #THIS_POS_MOMENTARY_RELEASE_TARGET# }</THIS_POS_MOMENTARY_RELEASE_TARGET> <THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT>#MOMENTARY_CONDITION# if{ #THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT# }</THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT> <THIS_POS_MOMENTARY_RELEASE_TIMEOUT>#MOMENTARY_CONDITION# if{ #THIS_POS_MOMENTARY_RELEASE_TIMEOUT# }</THIS_POS_MOMENTARY_RELEASE_TIMEOUT> </Condition> </Condition> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_CODE</PARAM> <OUT_PARAM_NAME>ON_PRIMARY_DOWN_T</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_TOOLTIP</PARAM> <OUT_PARAM_NAME>TOOLTIP_VALUE_T</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_ANIM_CODE</PARAM> <OUT_PARAM_NAME>ANIM_CODE_T</OUT_PARAM_NAME> </UseParametersFn> <Condition Check="STATE_MOMENTARY_RELEASE_TARGET"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_MOMENTARY_RELEASE_TARGET</PARAM> <OUT_PARAM_NAME>ON_MOMENTARY_RELEASE_T</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT</PARAM> <OUT_PARAM_NAME>ON_MOMENTARY_RELEASE_WITH_TIMEOUT_T</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_MOMENTARY_RELEASE_TIMEOUT</PARAM> <OUT_PARAM_NAME>UPDATE_MOMENTARY_RELEASE_TIMEOUTS_T</OUT_PARAM_NAME> </UseParametersFn> </Condition> </Parameters> </Do> <Then> <ON_PRIMARY_DOWN>s0 (&gt;#VAR_LAST_DRAG_VALUE#) #ON_PRIMARY_DOWN_T# :#FL_JUMP_CODE#</ON_PRIMARY_DOWN> <Condition Check="TOOLTIP_VALUE_T"> <Condition Check="IE_TOOLTIP_VALUE"> <False> <IE_TOOLTIP_VALUE>#TOOLTIP_VALUE_T# :#FL_JUMP_TT_VALUE# #FORMAT_TOOLTIP_VALUE#</IE_TOOLTIP_VALUE> </False> </Condition> </Condition> <Condition Check="ANIM_CODE_T"> <ANIM_CODE>#ANIM_CODE_T# :#FL_JUMP_ANIM_CODE# s0 (&gt;#VAR_LAST_DRAG_VALUE#) l0</ANIM_CODE> </Condition> <Condition Check="ON_MOMENTARY_RELEASE_T"> <MOMENTARY_RELEASE>#ON_MOMENTARY_RELEASE_T#</MOMENTARY_RELEASE> <PROCESS_MOMENTARY_RELEASE_TARGETS>@E_SimulationTime sp0 #ON_MOMENTARY_RELEASE_WITH_TIMEOUT_T# l1 if{ (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) }</PROCESS_MOMENTARY_RELEASE_TARGETS> <UPDATE_MOMENTARY_RELEASE_TIMEOUTS>#UPDATE_MOMENTARY_RELEASE_TIMEOUTS_T#</UPDATE_MOMENTARY_RELEASE_TIMEOUTS> </Condition> </Then> </Loop> </Parameters> <Condition Check="MOMENTARY_RELEASE"> <Parameters Type="Default"> <HOLD_TO_STAY_IN_MOMENTARY_POSITION>False</HOLD_TO_STAY_IN_MOMENTARY_POSITION> </Parameters> <Condition Valid="HOLD_TO_STAY_IN_MOMENTARY_POSITION"> <Parameters Type="Override"> <Condition Valid="SHOW_INTERMEDIARY_POS_WHEN_INTERACTING"> <True> <UPDATE_MOMENTARY_RELEASE>#MOMENTARY_RELEASE# 1 (&gt;#VAR_UPDATE_LAST_DRAG_VALUE#)</UPDATE_MOMENTARY_RELEASE> </True> <False> <UPDATE_MOMENTARY_RELEASE>#MOMENTARY_RELEASE#</UPDATE_MOMENTARY_RELEASE> </False> </Condition> </Parameters> </Condition> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>MOMENTARY_RELEASE</PARAM> <OUT_PARAM_NAME>ON_EXIT_LOCK</OUT_PARAM_NAME> </UseParametersFn> <Condition Valid="HOLD_TO_STAY_IN_MOMENTARY_POSITION"> <UseParametersFn Name="ASOBO_Add_Update_Helper"> <UPDATE_CODE>(#VAR_IS_INTERACTING#) if{ @MR_IsUsingRelativePos @MR_Abs_X 0 == @MR_Abs_Y 0 == and and if{ #UPDATE_MOMENTARY_RELEASE# } }</UPDATE_CODE> <UPDATE_FREQUENCY>20</UPDATE_FREQUENCY> </UseParametersFn> </Condition> </Parameters> </Condition> <Parameters Type="Default"> <Condition NotEmpty="INVERT_DRAG_SCALAR"> <MR_INVERT_INC_DEC_EVENTS>#INVERT_DRAG_SCALAR#</MR_INVERT_INC_DEC_EVENTS> </Condition> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <True> <ON_INCREASE>#MR_TO_IE_INC_VALUE# (&gt;B:#IE_PRESET_ID#_Inc)</ON_INCREASE> <ON_DECREASE>#MR_TO_IE_DEC_VALUE# (&gt;B:#IE_PRESET_ID#_Dec)</ON_DECREASE> </True> <False> <ON_INCREASE/> <ON_DECREASE/> </False> </Condition> <ON_AFTER_PRIMARY_DOWN/> <ON_ENTER_LOCK/> <ON_EXIT_LOCK/> <ON_PRIMARY_PRESSED_NO_LOCK/> <Condition Valid="SHOW_INTERMEDIARY_POS_WHEN_INTERACTING"> <SHOW_INTERMEDIARY_POS_CONDITION/> <SHOW_INTERMEDIARY_POS_CODE/> </Condition> <Condition Check="PROCESS_MOMENTARY_RELEASE_TARGETS"> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_Momentary_Parameters"/> </Condition> <Switch Param="AXIS"> <Case Value="X"> <MR_REL_AXIS_VALUE>@MR_Rel_X</MR_REL_AXIS_VALUE> </Case> <Case Value="Y"> <MR_REL_AXIS_VALUE>@MR_Rel_Y</MR_REL_AXIS_VALUE> </Case> <Case Value="TRAJECTORY"> <!-- keep the lock interaction --> </Case> </Switch> <Condition> <Test> <Greater> <Number>#NUMBER_OF_INPUT_EVENT#</Number> <Number>1</Number> </Greater> </Test> <True> <Loop> <Setup> <Param>IE_ID</Param> <From>0</From> <Inc>1</Inc> <To>#NUMBER_OF_INPUT_EVENT#</To> </Setup> <Do> <!-- if any of the attached input event is a button reserve some space in the center --> <Condition CheckSavedParameters="Saved_Input_Event_#IE_ID#" Check="BUTTON_TYPE"> <DEAD_ZONE_RADIUS>@MR_DefaultDeadZoneRadius</DEAD_ZONE_RADIUS> </Condition> </Do> </Loop> </True> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_ON_ENTER_LOCK</PARAM> <THIS_ON_ENTER_LOCK>1 (&gt;#VAR_IS_INTERACTING#)</THIS_ON_ENTER_LOCK> <OUT_PARAM_NAME>ON_ENTER_LOCK</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_ON_EXIT_LOCK</PARAM> <THIS_ON_EXIT_LOCK>0 (&gt;#VAR_IS_INTERACTING#)</THIS_ON_EXIT_LOCK> <OUT_PARAM_NAME>ON_EXIT_LOCK</OUT_PARAM_NAME> </UseParametersFn> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Process_Gates_Parameters_Helper"> <UPDATE_VAR_LAST_DRAG_VALUE>False</UPDATE_VAR_LAST_DRAG_VALUE> <PLOAD_GATES_CONFIG>MR_Gates_Config</PLOAD_GATES_CONFIG> </UseParametersFn> </Parameters> <Parameters Type="Override"> <Condition Check="ON_POSITION_CHANGED"> <ON_AFTER_PRIMARY_DOWN>#ON_POSITION_CHANGED#</ON_AFTER_PRIMARY_DOWN> </Condition> <Condition Valid="WRAPPING_INTERACTION"> <SaveParameters ID="Append_With_Animation" Append="Default"> <ANIM_WRAP>True</ANIM_WRAP> </SaveParameters> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="SHOW_INTERMEDIARY_POS_WHEN_INTERACTING"> <ANIM_CODE> (#VAR_IS_INTERACTING#) (#VAR_UPDATE_LAST_DRAG_VALUE#) ! and #SHOW_INTERMEDIARY_POS_CONDITION# if{ (#VAR_LAST_DRAG_VALUE#) #SHOW_INTERMEDIARY_POS_CODE# } els{ (#VAR_UPDATE_LAST_DRAG_VALUE#) if{ 0 (&gt;#VAR_UPDATE_LAST_DRAG_VALUE#) } #ANIM_CODE# } </ANIM_CODE> <ON_INCREASE>#ON_INCREASE# 1 (&gt;#VAR_UPDATE_LAST_DRAG_VALUE#)</ON_INCREASE> <ON_DECREASE>#ON_DECREASE# 1 (&gt;#VAR_UPDATE_LAST_DRAG_VALUE#)</ON_DECREASE> </Condition> <Condition Check="VALUE_CHANGED_CHECK"> <True> <ON_PRIMARY_DOWN>#MR_TO_IE_SET_VALUE# #VALUE_CHANGED_CHECK# if{ #ON_PRIMARY_DOWN# #ON_AFTER_PRIMARY_DOWN# }</ON_PRIMARY_DOWN> </True> <False> <ON_PRIMARY_DOWN>#MR_TO_IE_SET_VALUE# #ON_PRIMARY_DOWN# #ON_AFTER_PRIMARY_DOWN#</ON_PRIMARY_DOWN> </False> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Process_Inc_Dec_Invertion"/> </Parameters> <Condition NotEmpty="MR_REL_AXIS_VALUE"> <Parameters Type="Default"> <Condition NotEmpty="DEAD_ZONE_RADIUS"> <IS_OUTSIDE_DEAD_ZONE>#MR_REL_AXIS_VALUE# abs #DEAD_ZONE_RADIUS# &gt;</IS_OUTSIDE_DEAD_ZONE> </Condition> <IS_POS_ON_INC_SIDE>#MR_REL_AXIS_VALUE# 0 &gt;</IS_POS_ON_INC_SIDE> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_ON_PRIMARY_PRESSED_NO_LOCK</PARAM> <Condition NotEmpty="DEAD_ZONE_RADIUS"> <True> <THIS_ON_PRIMARY_PRESSED_NO_LOCK>#IS_OUTSIDE_DEAD_ZONE# if{ #IS_POS_ON_INC_SIDE# if{ #ON_INCREASE# } els{ #ON_DECREASE# } }</THIS_ON_PRIMARY_PRESSED_NO_LOCK> </True> <False> <THIS_ON_PRIMARY_PRESSED_NO_LOCK>#IS_POS_ON_INC_SIDE# if{ #ON_INCREASE# } els{ #ON_DECREASE# }</THIS_ON_PRIMARY_PRESSED_NO_LOCK> </False> </Condition> <OUT_PARAM_NAME>ON_PRIMARY_PRESSED_NO_LOCK</OUT_PARAM_NAME> </UseParametersFn> </Parameters> </Condition> <Parameters Type="Override"> <Condition NotEmpty="ON_PRIMARY_PRESSED_NO_LOCK"> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_PRIMARY_PRESSED</EV_PARAM> <EV_PARAM_NAME_SHORTHAND>ON_PRIMARY_PRESSED_NO_LOCK</EV_PARAM_NAME_SHORTHAND> <INTERACTION_MODEL>@IM_Default</INTERACTION_MODEL> </UseParametersFn> </Condition> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_PRIMARY_DOWN</EV_PARAM> <Condition NotEmpty="MR_REL_AXIS_VALUE"> <!-- Lever interaction in trajectory still and states still use the drag interaction --> <INTERACTION_MODEL>@IM_Drag</INTERACTION_MODEL> </Condition> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_ENTER_LOCK</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_EXIT_LOCK</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_INCREASE</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_DECREASE</EV_PARAM> </UseParametersFn> </Parameters> <Parameters Type="Override"> <ANIM_CODE>#ANIM_CODE# s0 (&gt;#VAR_LAST_DRAG_VALUE#) l0</ANIM_CODE> </Parameters> <ReturnParameters> <SaveParameters ID="Mouserect_Parameters" Append="Default"> <UseParametersFn Name="ASOBO_Add_Animation_Helper"/> <CURSOR_DRAG_IM>Grab</CURSOR_DRAG_IM> <Condition NotEmpty="MR_REL_AXIS_VALUE"> <True> <CURSOR_CENTER_DEFAULT_IM>Hand</CURSOR_CENTER_DEFAULT_IM> <Condition NotEmpty="DEAD_ZONE_RADIUS"> <CURSOR_CENTER_RADIUS_DEFAULT_IM>#DEAD_ZONE_RADIUS#</CURSOR_CENTER_RADIUS_DEFAULT_IM> <DEAD_ZONE_RADIUS>#DEAD_ZONE_RADIUS#</DEAD_ZONE_RADIUS> </Condition> <Switch Param="AXIS"> <Case Value="X"> <Switch Param="INTERACTION_TYPE"> <Case Value="Knob"> <CURSOR_LEFT_DEFAULT_IM>TurnLeft</CURSOR_LEFT_DEFAULT_IM> <CURSOR_RIGHT_DEFAULT_IM>TurnRight</CURSOR_RIGHT_DEFAULT_IM> </Case> <Default> <CURSOR_LEFT_DEFAULT_IM>LeftArrow</CURSOR_LEFT_DEFAULT_IM> <CURSOR_RIGHT_DEFAULT_IM>RightArrow</CURSOR_RIGHT_DEFAULT_IM> </Default> </Switch> </Case> <Case Value="Y"> <CURSOR_UP_DEFAULT_IM>UpArrow</CURSOR_UP_DEFAULT_IM> <CURSOR_DOWN_DEFAULT_IM>DownArrow</CURSOR_DOWN_DEFAULT_IM> </Case> </Switch> </True> <False> <CURSOR_DEFAULT_IM>Grab</CURSOR_DEFAULT_IM> </False> </Condition> <CALLBACK_DRAG_SCALAR>#CALLBACK_DRAG_SCALAR#</CALLBACK_DRAG_SCALAR> <CALLBACK_DRAG_AXIS>#INTERACTION_AXIS#</CALLBACK_DRAG_AXIS> <AXIS>#AXIS#</AXIS> </SaveParameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Knob"> <IE_TOOLTIP_ICON>ROTATE</IE_TOOLTIP_ICON> </Case> <Case Value="Switch"> <IE_TOOLTIP_ICON>MOVE_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Case> <Default> <IE_TOOLTIP_ICON>MOVE_AXIS_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Default> </Switch> <IE_TOOLTIP_INTERACTION>PRIMARY_DOWN+#INTERACTION_AXIS#_AXIS</IE_TOOLTIP_INTERACTION> <IE_TOOLTIP_INTERACTION_LOCKABLE>#INTERACTION_AXIS#_AXIS</IE_TOOLTIP_INTERACTION_LOCKABLE> <UseParametersFn Name="ASOBO_Format_Tooltip_Value_Helper"/> </ReturnParameters> </ParametersFn> <ParametersFn Name="ASOBO_Get_Processed_Interaction_Momentary_Parameters"> <Parameters Type="Default"> <Condition Check="VAR_IS_INTERACTING"> <SHOULD_UPDATE_MOMENTARY_RELEASE_TARGETS>(#VAR_IS_INTERACTING#) !</SHOULD_UPDATE_MOMENTARY_RELEASE_TARGETS> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Watch_LocalVar_Helper"> <LOCAL_VAR>XMLVAR_#IE_PRESET_ID#_Momentary_Tick</LOCAL_VAR> <VAR_SCOPE>O</VAR_SCOPE> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_Set_Code_Helper"> <SET_CODE>#UPDATE_MOMENTARY_RELEASE_TIMEOUTS#</SET_CODE> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_Init_Code_Helper"> <INIT_CODE>#SHOULD_UPDATE_MOMENTARY_RELEASE_TARGETS# if{ #PROCESS_MOMENTARY_RELEASE_TARGETS# }</INIT_CODE> </UseParametersFn> </Parameters> </ParametersFn> <ParametersFn Name="ASOBO_Get_Processed_Interaction_Covered_Parameters"> <Parameters Type="Override"> <LoadParameters ID="Cover_Interaction_Parameters"/> </Parameters> <Parameters Type="Default"> <COVER_ID>#IE_PRESET_ID#_Cover</COVER_ID> </Parameters> <Parameters Type="Default"> <COVER_VAR_NAME>XMLVAR_#COVER_ID#_Open</COVER_VAR_NAME> <COVER_VAR_SCOPE>L:1</COVER_VAR_SCOPE> </Parameters> <Parameters Type="Default"> <Condition Check="FORCE_POSITION_WHEN_COVER_CLOSED"> <ON_COVER_CLOSED_SET_POSITION>#FORCE_POSITION_WHEN_COVER_CLOSED#</ON_COVER_CLOSED_SET_POSITION> <COVER_VAR>#COVER_VAR_SCOPE#:#COVER_VAR_NAME#</COVER_VAR> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="ON_COVER_CLOSED_SET_POSITION"> <ON_COVER_CLOSED_SET_POSITION>(&gt;B:#IE_PRESET_ID#_#ON_COVER_CLOSED_SET_POSITION#)</ON_COVER_CLOSED_SET_POSITION> </Condition> <Condition Check="ON_COVER_OPENED_SET_POSITION"> <ON_COVER_OPENED_SET_POSITION>(&gt;B:#IE_PRESET_ID#_#ON_COVER_OPENED_SET_POSITION#)</ON_COVER_OPENED_SET_POSITION> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="FORCE_POSITION_WHEN_COVER_CLOSED"> <INIT_CODE_WHEN_COVER_CLOSED>(#COVER_VAR#) ! if{ #ON_COVER_CLOSED_SET_POSITION# }</INIT_CODE_WHEN_COVER_CLOSED> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="ON_COVER_CLOSED_SET_POSITION_CONDITION"> <ON_COVER_CLOSED_SET_POSITION>#ON_COVER_CLOSED_SET_POSITION_CONDITION# if{ #ON_COVER_CLOSED_SET_POSITION# }</ON_COVER_CLOSED_SET_POSITION> </Condition> <Condition Check="ON_COVER_OPENED_SET_POSITION_CONDITION"> <ON_COVER_OPENED_SET_POSITION>#ON_COVER_OPENED_SET_POSITION_CONDITION# if{ #ON_COVER_OPENED_SET_POSITION# }</ON_COVER_OPENED_SET_POSITION> </Condition> </Parameters> <Parameters Type="Override"> <SaveParameters ID="Cover_Interaction_Parameters" Append="Override"> <Condition Check="ON_COVER_CLOSED_SET_POSITION"> <ON_COVER_CLOSED>#ON_COVER_CLOSED_SET_POSITION#</ON_COVER_CLOSED> </Condition> <Condition Check="ON_COVER_OPENED_SET_POSITION"> <ON_COVER_OPENED>#ON_COVER_OPENED_SET_POSITION#</ON_COVER_OPENED> </Condition> </SaveParameters> <SaveParameters ID="Cover_Interaction_Parameters" Append="Default"> <COVER_VAR_NAME>#COVER_VAR_NAME#</COVER_VAR_NAME> <COVER_VAR_SCOPE>#COVER_VAR_SCOPE#</COVER_VAR_SCOPE> <COVER_ID>#COVER_ID#</COVER_ID> </SaveParameters> </Parameters> <ReturnParameters> <Condition Check="FORCE_POSITION_WHEN_COVER_CLOSED"> <UseParametersFn Name="ASOBO_Append_Init_Code_Helper"> <APPEND_BEFORE>True</APPEND_BEFORE> <INIT_CODE>#INIT_CODE_WHEN_COVER_CLOSED#</INIT_CODE> </UseParametersFn> <UseParametersFn Name="ASOBO_Watch_LocalVar_Helper"> <LOCAL_VAR>#COVER_VAR_NAME#</LOCAL_VAR> <VAR_SCOPE>#COVER_VAR_SCOPE#</VAR_SCOPE> </UseParametersFn> </Condition> </ReturnParameters> </ParametersFn> </ModelBehaviors>

 

 

ParametersFn

  • ASOBO_Get_Interaction_XStates_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Interaction_XStates_Parameters"> <Parameters Type="Default"> <Condition CheckSavedParameters="Cover_Interaction_Parameters"> <IS_COVERED>True</IS_COVERED> </Condition> <AUTO_CREATE_SOUND_EVENTS>True</AUTO_CREATE_SOUND_EVENTS> </Parameters> <Parameters Type="Default"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <SOUND_EVENT_COUNT>#LAST_STATE_INDEX#</SOUND_EVENT_COUNT> <Condition NotEmpty="SOUND_EVENT_TYPE_ID"> <True> <SOUND_EVENT_NAME>TYPE_#SOUND_EVENT_TYPE_ID#</SOUND_EVENT_NAME> </True> <False> <SOUND_EVENT_NAME>#IE_PRESET_ID#</SOUND_EVENT_NAME> </False> </Condition> <SOUND_EVENT_INTERACTION_TYPE>#INTERACTION_TYPE#</SOUND_EVENT_INTERACTION_TYPE> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <Condition NotEmpty="SOUND_EVENT_SUFFIX"> <SOUND_EVENT_NAME>#SOUND_EVENT_NAME#_#SOUND_EVENT_SUFFIX#</SOUND_EVENT_NAME> </Condition> </Condition> </Parameters> <Parameters Type="Default"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <FULL_SOUND_EVENT_NAME>#SOUND_EVENT_INTERACTION_TYPE#_#SOUND_EVENT_NAME#</FULL_SOUND_EVENT_NAME> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <Condition NotEmpty="SOUND_EVENT_GROUP"> <FULL_SOUND_EVENT_NAME>#SOUND_EVENT_GROUP#_#FULL_SOUND_EVENT_NAME#</FULL_SOUND_EVENT_NAME> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="AUTO_CREATE_SOUND_EVENTS"> <UseParametersFn Name="ASOBO_Add_Sound_Event_Helper"> <WWISE_EVENT_DIRECTION>Both</WWISE_EVENT_DIRECTION> <WWISE_EVENT_NAME>#FULL_SOUND_EVENT_NAME#</WWISE_EVENT_NAME> <WWISE_EVENT_COUNT>#SOUND_EVENT_COUNT#</WWISE_EVENT_COUNT> </UseParametersFn> <UseParametersFn Name="ASOBO_Add_Sound_Event_Helper"> <WWISE_EVENT_DIRECTION>Forward</WWISE_EVENT_DIRECTION> <WWISE_EVENT_NAME>#FULL_SOUND_EVENT_NAME#_Forward</WWISE_EVENT_NAME> <WWISE_EVENT_COUNT>#SOUND_EVENT_COUNT#</WWISE_EVENT_COUNT> </UseParametersFn> <UseParametersFn Name="ASOBO_Add_Sound_Event_Helper"> <WWISE_EVENT_DIRECTION>Backward</WWISE_EVENT_DIRECTION> <WWISE_EVENT_NAME>#FULL_SOUND_EVENT_NAME#_Backward</WWISE_EVENT_NAME> <WWISE_EVENT_COUNT>#SOUND_EVENT_COUNT#</WWISE_EVENT_COUNT> </UseParametersFn> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="IS_COVERED"> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_Covered_Parameters"/> </Condition> </Parameters> <ReturnParameters> <Loop> <Setup> <Param>CUR_ID</Param> <From>0</From> <Inc>1</Inc> <To>#LAST_STATE_INDEX#</To> </Setup> <Do> <Parameters Type="Override" Lifetime="Loop"> <UseParametersFn Name="ASOBO_Get_Interaction_XState_Parameters"> <IN_STATE_ID Process="Param">IE_STATE_#CUR_ID#</IN_STATE_ID> <IN_STATE_INDEX>#CUR_ID#</IN_STATE_INDEX> </UseParametersFn> </Parameters> </Do> <Then> <Switch> <Case Valid="USE_SIMPLE_TOGGLE_INTERACTION"> <UseParametersFn Name="ASOBO_Get_Interaction_2States_Parameters"/> </Case> <Default> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Parameters"/> </Default> </Switch> </Then> </Loop> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • AUTO_CREATE_SOUND_EVENTS

      Condition: CheckSavedParameters(Cover_Interaction_Parameters)

      • Case: True

        Parameters set:

        • IS_COVERED
    • Default

      Condition: Valid(AUTO_CREATE_SOUND_EVENTS)

      • Case: True

        Parameters set:

        • SOUND_EVENT_COUNT (using LAST_STATE_INDEX)
        • SOUND_EVENT_INTERACTION_TYPE (using INTERACTION_TYPE)

        Condition: NotEmpty(SOUND_EVENT_TYPE_ID)

        • Case: True

          Parameters set:

          • SOUND_EVENT_NAME (using SOUND_EVENT_TYPE_ID)
        • Case: False

          Parameters set:

          • SOUND_EVENT_NAME (using IE_PRESET_ID)
    • Override

      Condition: Valid(AUTO_CREATE_SOUND_EVENTS)

      • Case: True

        Condition: NotEmpty(SOUND_EVENT_SUFFIX)

        • Case: True

          Parameters set:

          • SOUND_EVENT_NAME (using SOUND_EVENT_NAME, SOUND_EVENT_SUFFIX)
    • Default

      Condition: Valid(AUTO_CREATE_SOUND_EVENTS)

      • Case: True

        Parameters set:

        • FULL_SOUND_EVENT_NAME (using SOUND_EVENT_INTERACTION_TYPE, SOUND_EVENT_NAME)
    • Override

      Condition: Valid(AUTO_CREATE_SOUND_EVENTS)

      • Case: True

        Condition: NotEmpty(SOUND_EVENT_GROUP)

        • Case: True

          Parameters set:

          • FULL_SOUND_EVENT_NAME (using SOUND_EVENT_GROUP, FULL_SOUND_EVENT_NAME)
    • Override

      Condition: Valid(AUTO_CREATE_SOUND_EVENTS)

      • Case: True

        ParametersFn used:

        • ASOBO_Add_Sound_Event_Helper

          Parameters set:

          • WWISE_EVENT_DIRECTION
          • WWISE_EVENT_NAME (using FULL_SOUND_EVENT_NAME)
          • WWISE_EVENT_COUNT (using SOUND_EVENT_COUNT)
        • ASOBO_Add_Sound_Event_Helper

          Parameters set:

          • WWISE_EVENT_DIRECTION
          • WWISE_EVENT_NAME (using FULL_SOUND_EVENT_NAME)
          • WWISE_EVENT_COUNT (using SOUND_EVENT_COUNT)
        • ASOBO_Add_Sound_Event_Helper

          Parameters set:

          • WWISE_EVENT_DIRECTION
          • WWISE_EVENT_NAME (using FULL_SOUND_EVENT_NAME)
          • WWISE_EVENT_COUNT (using SOUND_EVENT_COUNT)
    • Override

      Condition: Valid(IS_COVERED)

    Return parameters:

    Parameters read:

    • LAST_STATE_INDEX

    Parameters set:

    • CUR_ID

    ParametersFn used:

    Condition: Switch

  • ASOBO_Get_Interaction_2States_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Interaction_2States_Parameters"> <Parameters Type="Default"> <Condition Valid="IS_AN_ATTACHEMENT"> <True> <FORWARD_INC_DEC_TO_IE>False</FORWARD_INC_DEC_TO_IE> </True> <False> <FORWARD_INC_DEC_TO_IE>True</FORWARD_INC_DEC_TO_IE> </False> </Condition> <MOUSERECT_LOCK_ENABLED>False</MOUSERECT_LOCK_ENABLED> <Condition Check="STATE_0_MOMENTARY_RELEASE_TARGET"> <MOMENTARY_RELEASE>(&gt;B:#IE_PRESET_ID#_#STATE_0_MOMENTARY_RELEASE_TARGET#)</MOMENTARY_RELEASE> <MOMENTARY_CONDITION>#STATE_0_CHECK#</MOMENTARY_CONDITION> <MOMENTARY_MIN_DURATION>#STATE_0_MOMENTARY_MIN_DURATION#</MOMENTARY_MIN_DURATION> <STATE_ID Process="Param">STATE_0_ID</STATE_ID> </Condition> <Condition Check="STATE_1_MOMENTARY_RELEASE_TARGET"> <MOMENTARY_RELEASE>(&gt;B:#IE_PRESET_ID#_#STATE_1_MOMENTARY_RELEASE_TARGET#)</MOMENTARY_RELEASE> <MOMENTARY_CONDITION>#STATE_1_CHECK#</MOMENTARY_CONDITION> <MOMENTARY_MIN_DURATION>#STATE_1_MOMENTARY_MIN_DURATION#</MOMENTARY_MIN_DURATION> <STATE_ID Process="Param">STATE_1_ID</STATE_ID> </Condition> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <AXIS>TRAJECTORY</AXIS> </Case> <Case Value="Knob"> <AXIS>X</AXIS> </Case> <Default> <AXIS>Y</AXIS> </Default> </Switch> <Condition Valid="IS_AN_ATTACHEMENT"> <True> <VAR_IS_INTERACTING>O:_Sub_Interaction_#ATTACHEMENT_ID#_Is_Locked</VAR_IS_INTERACTING> </True> <False> <VAR_IS_INTERACTING>O:_Interaction_Is_Locked</VAR_IS_INTERACTING> </False> </Condition> </Parameters> <Condition Check="MOMENTARY_RELEASE"> <Parameters Type="Override"> <PROCESS_MOMENTARY_RELEASE_TARGETS> #MOMENTARY_CONDITION# if{ @E_SimulationTime (O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) &gt; if{ #MOMENTARY_RELEASE# } els{ (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) } } </PROCESS_MOMENTARY_RELEASE_TARGETS> <UPDATE_MOMENTARY_RELEASE_TIMEOUTS>@E_SimulationTime #MOMENTARY_MIN_DURATION# + (&gt;O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick)</UPDATE_MOMENTARY_RELEASE_TIMEOUTS> </Parameters> <Condition Valid="ENFORCE_MOMENTARY_MIN_DURATION"> <Parameters Type="Override"> <MOMENTARY_RELEASE>#PROCESS_MOMENTARY_RELEASE_TARGETS#</MOMENTARY_RELEASE> </Parameters> </Condition> </Condition> <Parameters Type="Default"> <Switch Param="AXIS"> <Case Value="TRAJECTORY"> <INTERACTION_AXIS>Y</INTERACTION_AXIS> </Case> <Default> <INTERACTION_AXIS>#AXIS#</INTERACTION_AXIS> </Default> </Switch> <ANIM_LAG>300</ANIM_LAG> <ANIM_CODE>(B:#IE_PRESET_ID#, percent)</ANIM_CODE> <ON_ENTER_LOCK_INTERACTION>(&gt;B:#IE_PRESET_ID#_Toggle)</ON_ENTER_LOCK_INTERACTION> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <MR_TO_IE_INC_VALUE>1</MR_TO_IE_INC_VALUE> <MR_TO_IE_DEC_VALUE>1</MR_TO_IE_DEC_VALUE> </Condition> <Condition NotEmpty="INVERT_DRAG_SCALAR"> <MR_INVERT_INC_DEC_EVENTS>#INVERT_DRAG_SCALAR#</MR_INVERT_INC_DEC_EVENTS> </Condition> </Parameters> <Parameters Type="Default"> <Condition> <Test> <And> <Arg NotEmpty="STATE_0_TOOLTIP"/> <Arg NotEmpty="STATE_1_TOOLTIP"/> </And> </Test> <True> <IE_TOOLTIP_VALUE>#STATE_0_CHECK# if{ #STATE_0_TOOLTIP# } els{ #STATE_1_TOOLTIP# }</IE_TOOLTIP_VALUE> </True> </Condition> </Parameters> <Parameters Type="Default"> <Condition Valid="IS_AN_ATTACHEMENT"> <True> <SaveParameters ID="Temp_MR_Events_DEFAULT_IM"> <UseParametersFn Name="ASOBO_Get_Code_For_MR_Binding_Type_Helper"> <INTERACTION_MODEL>@IM_Default</INTERACTION_MODEL> <CODE_ON_PRESS>#ON_ENTER_LOCK_INTERACTION# 1 (&gt;#VAR_IS_INTERACTING#)</CODE_ON_PRESS> <Condition Check="MOMENTARY_RELEASE"> <CODE_ON_RELEASE>#MOMENTARY_RELEASE# 0 (&gt;#VAR_IS_INTERACTING#)</CODE_ON_RELEASE> </Condition> </UseParametersFn> </SaveParameters> <SaveParameters ID="Temp_MR_Events_DRAG_IM"> <UseParametersFn Name="ASOBO_Get_Code_For_MR_Binding_Type_Helper"> <INTERACTION_MODEL>@IM_Drag</INTERACTION_MODEL> <CODE_ON_PRESS>#ON_ENTER_LOCK_INTERACTION# 1 (&gt;#VAR_IS_INTERACTING#)</CODE_ON_PRESS> <Condition Check="MOMENTARY_RELEASE"> <CODE_ON_RELEASE>#MOMENTARY_RELEASE# 0 (&gt;#VAR_IS_INTERACTING#)</CODE_ON_RELEASE> </Condition> </UseParametersFn> </SaveParameters> </True> <False> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <ON_INCREASE>#MR_TO_IE_INC_VALUE# (&gt;B:#IE_PRESET_ID#_Inc)</ON_INCREASE> <ON_DECREASE>#MR_TO_IE_DEC_VALUE# (&gt;B:#IE_PRESET_ID#_Dec)</ON_DECREASE> </Condition> <Condition Check="PROCESS_MOMENTARY_RELEASE_TARGETS"> <True> <ON_ENTER_LOCK>1 (&gt;#VAR_IS_INTERACTING#) #ON_ENTER_LOCK_INTERACTION#</ON_ENTER_LOCK> <ON_EXIT_LOCK>0 (&gt;#VAR_IS_INTERACTING#) #MOMENTARY_RELEASE#</ON_EXIT_LOCK> </True> <False> <ON_ENTER_LOCK>#ON_ENTER_LOCK_INTERACTION#</ON_ENTER_LOCK> </False> </Condition> </False> </Condition> <Condition Check="PROCESS_MOMENTARY_RELEASE_TARGETS"> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_Momentary_Parameters"/> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <UseParametersFn Name="ASOBO_Process_Inc_Dec_Invertion"/> </Condition> </Parameters> <ReturnParameters> <Condition Valid="IS_AN_ATTACHEMENT"> <True> <Loop> <Setup> <Param>EV_PARAM</Param> <Value>EV_VALUE</Value> <Parameters> <LoadParameters ID="Temp_MR_Events_DEFAULT_IM"/> <RemoveSavedParameters ID="Temp_MR_Events_DEFAULT_IM"/> </Parameters> </Setup> <Do> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <#EV_PARAM#>#EV_VALUE#</#EV_PARAM#> <INTERACTION_MODEL>@IM_Default</INTERACTION_MODEL> </UseParametersFn> </Do> </Loop> <Loop> <Setup> <Param>EV_PARAM</Param> <Value>EV_VALUE</Value> <Parameters> <LoadParameters ID="Temp_MR_Events_DRAG_IM"/> <RemoveSavedParameters ID="Temp_MR_Events_DRAG_IM"/> </Parameters> </Setup> <Do> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <#EV_PARAM#>#EV_VALUE#</#EV_PARAM#> <INTERACTION_MODEL>@IM_Drag</INTERACTION_MODEL> </UseParametersFn> </Do> </Loop> </True> <False> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_ENTER_LOCK</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_EXIT_LOCK</EV_PARAM> </UseParametersFn> </False> </Condition> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_INCREASE</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_DECREASE</EV_PARAM> </UseParametersFn> </Condition> <UseParametersFn Name="ASOBO_Add_Animation_Helper"/> <Condition Valid="IS_AN_ATTACHEMENT"> <False> <SaveParameters ID="Mouserect_Parameters" Append="Default"> <CURSOR>Hand</CURSOR> <MOUSERECT_LOCK_ENABLED>#MOUSERECT_LOCK_ENABLED#</MOUSERECT_LOCK_ENABLED> </SaveParameters> </False> </Condition> <Switch Param="INTERACTION_TYPE"> <Case Value="Button"> <Switch Param="BUTTON_TYPE"> <Case Value="Push"> <IE_TOOLTIP_ICON>PUSH</IE_TOOLTIP_ICON> </Case> <Case Value="Pull"> <IE_TOOLTIP_ICON>PULL</IE_TOOLTIP_ICON> </Case> <Default> <IE_TOOLTIP_ICON>MOVE_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Default> </Switch> </Case> <Case Value="Knob"> <IE_TOOLTIP_ICON>ROTATE</IE_TOOLTIP_ICON> </Case> <Case Value="Lever"> <IE_TOOLTIP_ICON>MOVE_AXIS_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Case> <Default> <IE_TOOLTIP_ICON>MOVE_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Default> </Switch> <UseParametersFn Name="ASOBO_Get_Interaction_For_MR_Binding_Type_Helper"/> <UseParametersFn Name="ASOBO_Format_Tooltip_Value_Helper"/> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • MOUSERECT_LOCK_ENABLED

      Condition: Valid(IS_AN_ATTACHEMENT)

      • Case: True

        Parameters set:

        • FORWARD_INC_DEC_TO_IE
      • Case: False

        Parameters set:

        • FORWARD_INC_DEC_TO_IE

      Condition: Check(STATE_0_MOMENTARY_RELEASE_TARGET)

      • Case: True

        Parameters set:

        • MOMENTARY_RELEASE (using IE_PRESET_ID, STATE_0_MOMENTARY_RELEASE_TARGET)
        • MOMENTARY_CONDITION (using STATE_0_CHECK)
        • MOMENTARY_MIN_DURATION (using STATE_0_MOMENTARY_MIN_DURATION)
        • STATE_ID

      Condition: Check(STATE_1_MOMENTARY_RELEASE_TARGET)

      • Case: True

        Parameters set:

        • MOMENTARY_RELEASE (using IE_PRESET_ID, STATE_1_MOMENTARY_RELEASE_TARGET)
        • MOMENTARY_CONDITION (using STATE_1_CHECK)
        • MOMENTARY_MIN_DURATION (using STATE_1_MOMENTARY_MIN_DURATION)
        • STATE_ID

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Parameters set:

        • AXIS
      • Case: Knob

        Parameters set:

        • AXIS
      • Default case:

        Parameters set:

        • AXIS

      Condition: Valid(IS_AN_ATTACHEMENT)

      • Case: True

        Parameters set:

        • VAR_IS_INTERACTING (using ATTACHEMENT_ID)
      • Case: False

        Parameters set:

        • VAR_IS_INTERACTING
    • Default

      Parameters set:

      • ANIM_LAG
      • ANIM_CODE (using IE_PRESET_ID)
      • ON_ENTER_LOCK_INTERACTION (using IE_PRESET_ID)

      Condition: Switch(AXIS)

      • Case: TRAJECTORY

        Parameters set:

        • INTERACTION_AXIS
      • Default case:

        Parameters set:

        • INTERACTION_AXIS (using AXIS)

      Condition: Valid(FORWARD_INC_DEC_TO_IE)

      • Case: True

        Parameters set:

        • MR_TO_IE_INC_VALUE
        • MR_TO_IE_DEC_VALUE

      Condition: NotEmpty(INVERT_DRAG_SCALAR)

      • Case: True

        Parameters set:

        • MR_INVERT_INC_DEC_EVENTS (using INVERT_DRAG_SCALAR)
    • Default

      Condition: Test(STATE_0_TOOLTIP, STATE_1_TOOLTIP)

      • Case: True

        Parameters set:

        • IE_TOOLTIP_VALUE (using STATE_0_CHECK, STATE_0_TOOLTIP, STATE_1_TOOLTIP)
    • Default

      Condition: Valid(IS_AN_ATTACHEMENT)

      • Case: True

        ParametersFn used:

        • ASOBO_Get_Code_For_MR_Binding_Type_Helper

          Parameters set:

          • INTERACTION_MODEL
          • CODE_ON_PRESS (using ON_ENTER_LOCK_INTERACTION, VAR_IS_INTERACTING)

          Condition: Check(MOMENTARY_RELEASE)

          • Case: True

            Parameters set:

            • CODE_ON_RELEASE (using MOMENTARY_RELEASE, VAR_IS_INTERACTING)
        • ASOBO_Get_Code_For_MR_Binding_Type_Helper

          Parameters set:

          • INTERACTION_MODEL
          • CODE_ON_PRESS (using ON_ENTER_LOCK_INTERACTION, VAR_IS_INTERACTING)

          Condition: Check(MOMENTARY_RELEASE)

          • Case: True

            Parameters set:

            • CODE_ON_RELEASE (using MOMENTARY_RELEASE, VAR_IS_INTERACTING)
      • Case: False

        Condition: Valid(FORWARD_INC_DEC_TO_IE)

        • Case: True

          Parameters set:

          • ON_INCREASE (using MR_TO_IE_INC_VALUE, IE_PRESET_ID)
          • ON_DECREASE (using MR_TO_IE_DEC_VALUE, IE_PRESET_ID)

        Condition: Check(PROCESS_MOMENTARY_RELEASE_TARGETS)

        • Case: True

          Parameters set:

          • ON_ENTER_LOCK (using VAR_IS_INTERACTING, ON_ENTER_LOCK_INTERACTION)
          • ON_EXIT_LOCK (using VAR_IS_INTERACTING, MOMENTARY_RELEASE)
        • Case: False

          Parameters set:

          • ON_ENTER_LOCK (using ON_ENTER_LOCK_INTERACTION)

      Condition: Check(PROCESS_MOMENTARY_RELEASE_TARGETS)

    • Override

      Condition: Valid(FORWARD_INC_DEC_TO_IE)

    Return parameters:

    ParametersFn used:

    Condition: Valid(IS_AN_ATTACHEMENT)

    Condition: Valid(FORWARD_INC_DEC_TO_IE)

    Condition: Valid(IS_AN_ATTACHEMENT)

    • Case: False

      Parameters set:

      • CURSOR
      • MOUSERECT_LOCK_ENABLED (using MOUSERECT_LOCK_ENABLED)

    Condition: Switch(INTERACTION_TYPE)

    • Case: Button

      Condition: Switch(BUTTON_TYPE)

      • Case: Push

        Parameters set:

        • IE_TOOLTIP_ICON
      • Case: Pull

        Parameters set:

        • IE_TOOLTIP_ICON
      • Default case:

        Parameters set:

        • IE_TOOLTIP_ICON (using INTERACTION_AXIS)
    • Case: Knob

      Parameters set:

      • IE_TOOLTIP_ICON
    • Case: Lever

      Parameters set:

      • IE_TOOLTIP_ICON (using INTERACTION_AXIS)
    • Default case:

      Parameters set:

      • IE_TOOLTIP_ICON (using INTERACTION_AXIS)
  • ASOBO_Get_Interaction_XState_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Interaction_XState_Parameters"> <Parameters Type="Default"> <Condition Check="POS_#IN_STATE_ID#_MOMENTARY_RELEASE_TARGET"> <DEFAULT_MOMENTARY_MIN_DURATION>0.75</DEFAULT_MOMENTARY_MIN_DURATION> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="POS_#IN_STATE_ID#_GATE_DIRECTION"> <LoadParameters ID="MR_Gates_Temp_Data"/> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="POS_#IN_STATE_ID#_GATE_DIRECTION"> <Condition Check="LAST_USED_GATE_ID"> <True> <GATE_ID Process="Int">#LAST_USED_GATE_ID# 1 +</GATE_ID> </True> <False> <GATE_ID>0</GATE_ID> </False> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="POS_#IN_STATE_ID#_GATE_DIRECTION"> <SaveParameters ID="MR_Gates_Config" Append="Override"> <GATE_#GATE_ID#>POS_#IN_STATE_ID#</GATE_#GATE_ID#> </SaveParameters> <SaveParameters ID="MR_Gates_Temp_Data" Append="Override"> <LAST_USED_GATE_ID>#GATE_ID#</LAST_USED_GATE_ID> </SaveParameters> </Condition> </Parameters> <Parameters Type="Override"> <Switch> <Case NotEmpty="POS_#IN_STATE_ID#_CODE"> <IN_STATE_CODE Process="Param">POS_#IN_STATE_ID#_CODE</IN_STATE_CODE> </Case> <Case NotEmpty="POS_#IN_STATE_ID#_IE_ALIAS"> <UseParametersFn Name="ASOBO_Get_IE_ALIAS_Code"> <OUT_PARAM_NAME>IN_STATE_CODE</OUT_PARAM_NAME> <ALIAS_ID Process="Param">POS_#IN_STATE_ID#_IE_ALIAS</ALIAS_ID> </UseParametersFn> </Case> </Switch> <Switch> <Case NotEmpty="POS_#IN_STATE_ID#_CHECK"> <IN_STATE_CHECK Process="Param">POS_#IN_STATE_ID#_CHECK</IN_STATE_CHECK> </Case> <Case NotEmpty="POS_#IN_STATE_ID#_IE_VALUE"> <UseParametersFn Name="ASOBO_Get_IE_VALUE_Check"> <OUT_PARAM_NAME>IN_STATE_CHECK</OUT_PARAM_NAME> <VALUE Process="Param">POS_#IN_STATE_ID#_IE_VALUE</VALUE> </UseParametersFn> </Case> </Switch> <Switch> <Case NotEmpty="POS_#IN_STATE_ID#_TOOLTIP_CODE"> <IN_STATE_TOOLTIP Process="Param">POS_#IN_STATE_ID#_TOOLTIP_CODE</IN_STATE_TOOLTIP> </Case> <Case NotEmpty="POS_#IN_STATE_ID#_TOOLTIP_ID"> <UseParametersFn Name="ASOBO_Get_TOOLTIP_ID_Parameters"> <OUT_PARAM_NAME>IN_STATE_TOOLTIP</OUT_PARAM_NAME> <TOOLTIP_ID Process="Param">POS_#IN_STATE_ID#_TOOLTIP_ID</TOOLTIP_ID> </UseParametersFn> </Case> </Switch> <Condition NotEmpty="POS_#IN_STATE_ID#_ANIM_PERCENT"> <True> <IN_STATE_PERCENT Process="Param">POS_#IN_STATE_ID#_ANIM_PERCENT</IN_STATE_PERCENT> </True> <False> <IN_STATE_PERCENT Process="Int">#IN_STATE_INDEX# #LAST_STATE_INDEX# / 100 * near</IN_STATE_PERCENT> </False> </Condition> <Condition NotEmpty="POS_#IN_STATE_ID#_MOMENTARY_RELEASE_TARGET"> <IN_STATE_MOMENTARY_TARGET Process="Param">POS_#IN_STATE_ID#_MOMENTARY_RELEASE_TARGET</IN_STATE_MOMENTARY_TARGET> <Condition NotEmpty="POS_#IN_STATE_ID#_MOMENTARY_MIN_DURATION"> <True> <IN_STATE_MOMENTARY_MIN_DURATION Process="Param">POS_#IN_STATE_ID#_MOMENTARY_MIN_DURATION</IN_STATE_MOMENTARY_MIN_DURATION> </True> <False> <IN_STATE_MOMENTARY_MIN_DURATION>#DEFAULT_MOMENTARY_MIN_DURATION#</IN_STATE_MOMENTARY_MIN_DURATION> </False> </Condition> <Condition NotEmpty="POS_#IN_STATE_ID#_MOMENTARY_CONDITION"> <True> <IN_STATE_MOMENTARY_MOMENTARY_CONDITION Process="Param">POS_#IN_STATE_ID#_MOMENTARY_CONDITION</IN_STATE_MOMENTARY_MOMENTARY_CONDITION> </True> <False> <IN_STATE_MOMENTARY_MOMENTARY_CONDITION/> </False> </Condition> </Condition> </Parameters> <ReturnParameters> <STATE_#IN_STATE_INDEX#_ID>#IN_STATE_ID#</STATE_#IN_STATE_INDEX#_ID> <STATE_#IN_STATE_INDEX#_CODE>#IN_STATE_CODE#</STATE_#IN_STATE_INDEX#_CODE> <Condition NotEmpty="IN_STATE_TOOLTIP"> <STATE_#IN_STATE_INDEX#_TOOLTIP>#IN_STATE_TOOLTIP#</STATE_#IN_STATE_INDEX#_TOOLTIP> </Condition> <Condition NotEmpty="IN_STATE_CHECK"> <STATE_#IN_STATE_INDEX#_CHECK>#IN_STATE_CHECK#</STATE_#IN_STATE_INDEX#_CHECK> </Condition> <STATE_#IN_STATE_INDEX#_ANIM_PERCENT>#IN_STATE_PERCENT#</STATE_#IN_STATE_INDEX#_ANIM_PERCENT> <Condition NotEmpty="IN_STATE_MOMENTARY_TARGET"> <IS_MOMENTARY>True</IS_MOMENTARY> <STATE_#IN_STATE_INDEX#_MOMENTARY_RELEASE_TARGET>#IN_STATE_MOMENTARY_TARGET#</STATE_#IN_STATE_INDEX#_MOMENTARY_RELEASE_TARGET> <STATE_#IN_STATE_INDEX#_MOMENTARY_MIN_DURATION>#IN_STATE_MOMENTARY_MIN_DURATION#</STATE_#IN_STATE_INDEX#_MOMENTARY_MIN_DURATION> <STATE_#IN_STATE_INDEX#_MOMENTARY_CONDITION>#IN_STATE_MOMENTARY_MOMENTARY_CONDITION#</STATE_#IN_STATE_INDEX#_MOMENTARY_CONDITION> </Condition> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Condition: Check(POS_#IN_STATE_ID#_MOMENTARY_RELEASE_TARGET)

      • Case: True

        Parameters set:

        • DEFAULT_MOMENTARY_MIN_DURATION
    • Override

      Condition: Check(POS_#IN_STATE_ID#_GATE_DIRECTION)

      • Case: True
    • Override

      Condition: Check(POS_#IN_STATE_ID#_GATE_DIRECTION)

      • Case: True

        Condition: Check(LAST_USED_GATE_ID)

        • Case: True

          Parameters set:

          • GATE_ID (using LAST_USED_GATE_ID)
        • Case: False

          Parameters set:

          • GATE_ID
    • Override

      Condition: Check(POS_#IN_STATE_ID#_GATE_DIRECTION)

      • Case: True

        Parameters set:

        • GATE_#GATE_ID# (using IN_STATE_ID)
        • LAST_USED_GATE_ID (using GATE_ID)
    • Override

      Condition: Switch

      • Case: NotEmpty(POS_#IN_STATE_ID#_CODE)

        Parameters read:

        • IN_STATE_ID

        Parameters set:

        • IN_STATE_CODE (using IN_STATE_ID)
      • Case: NotEmpty(POS_#IN_STATE_ID#_IE_ALIAS)

        Parameters read:

        • IN_STATE_ID

        ParametersFn used:

      Condition: Switch

      • Case: NotEmpty(POS_#IN_STATE_ID#_CHECK)

        Parameters read:

        • IN_STATE_ID

        Parameters set:

        • IN_STATE_CHECK (using IN_STATE_ID)
      • Case: NotEmpty(POS_#IN_STATE_ID#_IE_VALUE)

        Parameters read:

        • IN_STATE_ID

        ParametersFn used:

      Condition: Switch

      • Case: NotEmpty(POS_#IN_STATE_ID#_TOOLTIP_CODE)

        Parameters read:

        • IN_STATE_ID

        Parameters set:

        • IN_STATE_TOOLTIP (using IN_STATE_ID)
      • Case: NotEmpty(POS_#IN_STATE_ID#_TOOLTIP_ID)

        Parameters read:

        • IN_STATE_ID

        ParametersFn used:

      Condition: NotEmpty(POS_#IN_STATE_ID#_ANIM_PERCENT)

      • Case: True

        Parameters set:

        • IN_STATE_PERCENT (using IN_STATE_ID)
      • Case: False

        Parameters set:

        • IN_STATE_PERCENT (using IN_STATE_INDEX, LAST_STATE_INDEX)

      Condition: NotEmpty(POS_#IN_STATE_ID#_MOMENTARY_RELEASE_TARGET)

      • Case: True

        Parameters set:

        • IN_STATE_MOMENTARY_TARGET (using IN_STATE_ID)

        Condition: NotEmpty(POS_#IN_STATE_ID#_MOMENTARY_MIN_DURATION)

        • Case: True

          Parameters set:

          • IN_STATE_MOMENTARY_MIN_DURATION (using IN_STATE_ID)
        • Case: False

          Parameters set:

          • IN_STATE_MOMENTARY_MIN_DURATION (using DEFAULT_MOMENTARY_MIN_DURATION)

        Condition: NotEmpty(POS_#IN_STATE_ID#_MOMENTARY_CONDITION)

        • Case: True

          Parameters set:

          • IN_STATE_MOMENTARY_MOMENTARY_CONDITION (using IN_STATE_ID)
        • Case: False

          Parameters set:

          • IN_STATE_MOMENTARY_MOMENTARY_CONDITION

    Return parameters:

    Parameters set:

    • STATE_#IN_STATE_INDEX#_ID (using IN_STATE_ID)
    • STATE_#IN_STATE_INDEX#_CODE (using IN_STATE_CODE)
    • STATE_#IN_STATE_INDEX#_ANIM_PERCENT (using IN_STATE_PERCENT)

    Condition: NotEmpty(IN_STATE_TOOLTIP)

    • Case: True

      Parameters set:

      • STATE_#IN_STATE_INDEX#_TOOLTIP (using IN_STATE_TOOLTIP)

    Condition: NotEmpty(IN_STATE_CHECK)

    • Case: True

      Parameters set:

      • STATE_#IN_STATE_INDEX#_CHECK (using IN_STATE_CHECK)

    Condition: NotEmpty(IN_STATE_MOMENTARY_TARGET)

    • Case: True

      Parameters set:

      • IS_MOMENTARY
      • STATE_#IN_STATE_INDEX#_MOMENTARY_RELEASE_TARGET (using IN_STATE_MOMENTARY_TARGET)
      • STATE_#IN_STATE_INDEX#_MOMENTARY_MIN_DURATION (using IN_STATE_MOMENTARY_MIN_DURATION)
      • STATE_#IN_STATE_INDEX#_MOMENTARY_CONDITION (using IN_STATE_MOMENTARY_MOMENTARY_CONDITION)
  • ASOBO_Get_Processed_Interaction_XStates_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Parameters"> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <AXIS>TRAJECTORY</AXIS> </Case> <Case Value="Knob"> <AXIS>X</AXIS> </Case> <Default> <AXIS>Y</AXIS> </Default> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="AXIS"> <Case Value="TRAJECTORY"> <INTERACTION_AXIS>Y</INTERACTION_AXIS> </Case> <Default> <INTERACTION_AXIS>#AXIS#</INTERACTION_AXIS> </Default> </Switch> </Parameters> <ReturnParameters> <Switch Param="AXIS"> <Case Value="TRAJECTORY"> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Trajectory_Parameters"/> </Case> <Default> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Axis_Parameters"/> </Default> </Switch> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Parameters set:

        • AXIS
      • Case: Knob

        Parameters set:

        • AXIS
      • Default case:

        Parameters set:

        • AXIS
    • Default

      Condition: Switch(AXIS)

      • Case: TRAJECTORY

        Parameters set:

        • INTERACTION_AXIS
      • Default case:

        Parameters set:

        • INTERACTION_AXIS (using AXIS)

    Return parameters:

    Condition: Switch(AXIS)

  • ASOBO_Get_Processed_Interaction_XStates_Axis_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Axis_Parameters"> <Parameters Type="Default"> <Condition CheckSavedParameters="MR_Gates_Config"> <True> <UseParametersFn Name="ASOBO_Drag_Threshold_States"/> </True> <False> <UseParametersFn Name="ASOBO_Drag_Threshold_States_No_Gates"/> </False> </Condition> <AXIS_THRESHOLD_COUNT_VAR>O:_#AXIS#AxisThresholdCount</AXIS_THRESHOLD_COUNT_VAR> <CALLBACK_DRAG_USE_ANIM_LAG>True</CALLBACK_DRAG_USE_ANIM_LAG> <Condition NotEmpty="MR_INVERT_MOUSE_DRAG_INTERACTION"> <MR_INVERT_DRAG_POSITIVE_CONDITION>#MR_INVERT_MOUSE_DRAG_INTERACTION#</MR_INVERT_DRAG_POSITIVE_CONDITION> </Condition> </Parameters> <Parameters Type="Override"> <CLAMP_IE_SET_VALUE>0 max 100 min</CLAMP_IE_SET_VALUE> </Parameters> <Parameters Type="Override"> <SaveParameters ID="Mouserect_Parameters" Append="Default"> <CALLBACK_DRAG_USE_ANIM_LAG>#CALLBACK_DRAG_USE_ANIM_LAG#</CALLBACK_DRAG_USE_ANIM_LAG> </SaveParameters> <UseParametersFn Name="ASOBO_Get_Delta_Value_Threshold_Helper"/> <Condition Valid="WRAPPING_INTERACTION"> <LAST_STATE_INDEX Process="Int">#LAST_STATE_INDEX# 1 +</LAST_STATE_INDEX> <CLAMP_IE_SET_VALUE>100 pmod</CLAMP_IE_SET_VALUE> </Condition> </Parameters> <Parameters Type="Default"> <MR_TO_IE_SET_VALUE>#DELTA_VALUE# (B:#IE_PRESET_ID#, Number) (#AXIS_THRESHOLD_COUNT_VAR#) + #LAST_STATE_INDEX# / 100 * #CLAMP_IE_SET_VALUE#</MR_TO_IE_SET_VALUE> <GATES_TYPE>XSTATES</GATES_TYPE> <GATES_XTATES_GET_VALUE>(B:#IE_PRESET_ID#, Number) #LAST_STATE_INDEX# / 100 *</GATES_XTATES_GET_VALUE> <ON_ENTER_LOCK>#DELTA_VALUE_INIT#</ON_ENTER_LOCK> <VALUE_CHANGED_CHECK>(#AXIS_THRESHOLD_COUNT_VAR#) 0 !=</VALUE_CHANGED_CHECK> </Parameters> <ReturnParameters> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Base_Parameters"/> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • AXIS_THRESHOLD_COUNT_VAR (using AXIS)
      • CALLBACK_DRAG_USE_ANIM_LAG

      Condition: CheckSavedParameters(MR_Gates_Config)

      Condition: NotEmpty(MR_INVERT_MOUSE_DRAG_INTERACTION)

      • Case: True

        Parameters set:

        • MR_INVERT_DRAG_POSITIVE_CONDITION (using MR_INVERT_MOUSE_DRAG_INTERACTION)
    • Override

      Parameters set:

      • CLAMP_IE_SET_VALUE
    • Override

      Parameters set:

      • CALLBACK_DRAG_USE_ANIM_LAG (using CALLBACK_DRAG_USE_ANIM_LAG)

      ParametersFn used:

      Condition: Valid(WRAPPING_INTERACTION)

      • Case: True

        Parameters set:

        • LAST_STATE_INDEX (using LAST_STATE_INDEX)
        • CLAMP_IE_SET_VALUE
    • Default

      Parameters set:

      • MR_TO_IE_SET_VALUE (using DELTA_VALUE, IE_PRESET_ID, AXIS_THRESHOLD_COUNT_VAR, LAST_STATE_INDEX, CLAMP_IE_SET_VALUE)
      • GATES_TYPE
      • GATES_XTATES_GET_VALUE (using IE_PRESET_ID, LAST_STATE_INDEX)
      • ON_ENTER_LOCK (using DELTA_VALUE_INIT)
      • VALUE_CHANGED_CHECK (using AXIS_THRESHOLD_COUNT_VAR)

    Return parameters:

  • ASOBO_Get_Processed_Interaction_XStates_Trajectory_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Trajectory_Parameters"> <Parameters Type="Default"> <MR_TO_IE_SET_VALUE>@MR_DragPercent 100 *</MR_TO_IE_SET_VALUE> <CALLBACK_DRAG_ANIM_NAME>#ANIM_NAME#</CALLBACK_DRAG_ANIM_NAME> </Parameters> <Parameters Type="Override"> <SaveParameters ID="Mouserect_Parameters" Append="Default"> <CALLBACK_DRAG_ANIM_NAME>#CALLBACK_DRAG_ANIM_NAME#</CALLBACK_DRAG_ANIM_NAME> </SaveParameters> </Parameters> <ReturnParameters> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Base_Parameters"/> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • MR_TO_IE_SET_VALUE
      • CALLBACK_DRAG_ANIM_NAME (using ANIM_NAME)
    • Override

      Parameters set:

      • CALLBACK_DRAG_ANIM_NAME (using CALLBACK_DRAG_ANIM_NAME)

    Return parameters:

  • ASOBO_Get_Processed_Interaction_XStates_Base_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Processed_Interaction_XStates_Base_Parameters"> <Parameters Type="Default"> <FORWARD_INC_DEC_TO_IE>True</FORWARD_INC_DEC_TO_IE> </Parameters> <Parameters Type="Default"> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <MR_TO_IE_INC_VALUE>1</MR_TO_IE_INC_VALUE> <MR_TO_IE_DEC_VALUE>1</MR_TO_IE_DEC_VALUE> </Condition> <UseParametersFn Name="ASOBO_Get_Next_Safe_Jump_Flag_Helper"> <OUT_PARAM_NAME>FL_JUMP_TT_VALUE</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Get_Next_Safe_Jump_Flag_Helper"> <OUT_PARAM_NAME>FL_JUMP_CODE</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Get_Next_Safe_Jump_Flag_Helper"> <OUT_PARAM_NAME>FL_JUMP_ANIM_CODE</OUT_PARAM_NAME> </UseParametersFn> <VAR_LAST_DRAG_VALUE>O:_Interaction_Last_Drag_Percent</VAR_LAST_DRAG_VALUE> <VAR_UPDATE_LAST_DRAG_VALUE>O:_Interaction_Last_Drag_Needs_Update</VAR_UPDATE_LAST_DRAG_VALUE> <VAR_IS_INTERACTING>O:_Interaction_Is_Locked</VAR_IS_INTERACTING> <FORMAT_TOOLTIP_VALUE/> <Condition NotEmpty="ANIM_CODE"> <False> <ANIM_CODE>(B:#IE_PRESET_ID#, percent)</ANIM_CODE> <CAN_OVERRIDE_ANIM_CODE>True</CAN_OVERRIDE_ANIM_CODE> <SHOW_INTERMEDIARY_POS_WHEN_INTERACTING>True</SHOW_INTERMEDIARY_POS_WHEN_INTERACTING> </False> </Condition> <CALLBACK_DRAG_SCALAR>0.01</CALLBACK_DRAG_SCALAR> <ANIM_LAG>300</ANIM_LAG> </Parameters> <Parameters Type="Override"> <Condition Valid="WRAPPING_INTERACTION"> <True> <MAX_STATE_INDEX Process="Int">#LAST_STATE_INDEX# 1 +</MAX_STATE_INDEX> </True> <False> <MAX_STATE_INDEX>#LAST_STATE_INDEX#</MAX_STATE_INDEX> </False> </Condition> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>CUR_ID</Param> <From>0</From> <Inc>1</Inc> <To>#LAST_STATE_INDEX#</To> </Setup> <Do> <Parameters Type="Override"> <PREV_ID Process="Int">#CUR_ID# 1 -</PREV_ID> <NEXT_ID Process="Int">#CUR_ID# 1 +</NEXT_ID> </Parameters> <Parameters Type="Override"> <STATE_CODE Process="Param">STATE_#CUR_ID#_CODE</STATE_CODE> <Condition Check="STATE_#CUR_ID#_CHECK"> <STATE_CHECK Process="Param">STATE_#CUR_ID#_CHECK</STATE_CHECK> </Condition> <Condition Check="STATE_#CUR_ID#_TOOLTIP"> <STATE_TOOLTIP Process="Param">STATE_#CUR_ID#_TOOLTIP</STATE_TOOLTIP> </Condition> <Condition Check="STATE_#CUR_ID#_ANIM_PERCENT"> <True> <STATE_PERCENT Process="Param">STATE_#CUR_ID#_ANIM_PERCENT</STATE_PERCENT> </True> <False> <STATE_PERCENT Process="Float">#CUR_ID# #MAX_STATE_INDEX# / 100 *</STATE_PERCENT> </False> </Condition> <Condition Check="STATE_#PREV_ID#_ANIM_PERCENT"> <True> <STATE_BEFORE_PERCENT Process="Param">STATE_#PREV_ID#_ANIM_PERCENT</STATE_BEFORE_PERCENT> </True> <False> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#CUR_ID#</Number> <Number>0</Number> </Equal> </And> </Test> <True> <STATE_BEFORE_PERCENT Process="Float">#LAST_STATE_INDEX# #LAST_STATE_INDEX# 1 + / 100 *</STATE_BEFORE_PERCENT> </True> <False> <STATE_BEFORE_PERCENT Process="Float">#PREV_ID# 0 max #MAX_STATE_INDEX# / 100 *</STATE_BEFORE_PERCENT> </False> </Condition> </False> </Condition> <Condition Check="STATE_#NEXT_ID#_ANIM_PERCENT"> <True> <STATE_AFTER_PERCENT Process="Param">STATE_#NEXT_ID#_ANIM_PERCENT</STATE_AFTER_PERCENT> </True> <False> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#CUR_ID#</Number> <Number>#LAST_STATE_INDEX#</Number> </Equal> </And> </Test> <True> <STATE_AFTER_PERCENT>0</STATE_AFTER_PERCENT> </True> <False> <STATE_AFTER_PERCENT Process="Float">#NEXT_ID# #LAST_STATE_INDEX# min #MAX_STATE_INDEX# / 100 *</STATE_AFTER_PERCENT> </False> </Condition> </False> </Condition> <Condition Check="STATE_#CUR_ID#_MOMENTARY_RELEASE_TARGET"> <STATE_MOMENTARY_RELEASE_TARGET Process="Param">STATE_#CUR_ID#_MOMENTARY_RELEASE_TARGET</STATE_MOMENTARY_RELEASE_TARGET> <MOMENTARY_MIN_DURATION Process="Param">STATE_#CUR_ID#_MOMENTARY_MIN_DURATION</MOMENTARY_MIN_DURATION> <MOMENTARY_CONDITION Process="Param">STATE_#CUR_ID#_MOMENTARY_CONDITION</MOMENTARY_CONDITION> <STATE_ID Process="Param">STATE_#CUR_ID#_ID</STATE_ID> </Condition> </Parameters> <Parameters Type="Override"> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#STATE_PERCENT#</Number> <Number>0</Number> </Equal> </And> </Test> <True> <STATE_PERCENT_MID_TO_BEFORE Process="Float">100 #STATE_BEFORE_PERCENT# + 2 /</STATE_PERCENT_MID_TO_BEFORE> </True> <False> <STATE_PERCENT_MID_TO_BEFORE Process="Float">#STATE_PERCENT# #STATE_BEFORE_PERCENT# + 2 /</STATE_PERCENT_MID_TO_BEFORE> </False> </Condition> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#STATE_AFTER_PERCENT#</Number> <Number>0</Number> </Equal> </And> </Test> <True> <STATE_PERCENT_MID_TO_AFTER Process="Float">#STATE_PERCENT# 100 + 2 /</STATE_PERCENT_MID_TO_AFTER> </True> <False> <STATE_PERCENT_MID_TO_AFTER Process="Float">#STATE_PERCENT# #STATE_AFTER_PERCENT# + 2 /</STATE_PERCENT_MID_TO_AFTER> </False> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="STATE_CHECK"> <True> <STATE_CHECK_POS>#STATE_CHECK#</STATE_CHECK_POS> </True> <False> <STATE_CHECK_POS>#STATE_PERCENT_MID_TO_BEFORE# #STATE_PERCENT_MID_TO_AFTER# l0 rng</STATE_CHECK_POS> </False> </Condition> </Parameters> <Parameters Type="Override"> <Condition> <Test> <And> <Arg Valid="WRAPPING_INTERACTION"/> <Equal> <Number>#STATE_PERCENT#</Number> <Number>0</Number> </Equal> </And> </Test> <True> <THIS_POS_CODE>l0 #STATE_PERCENT_MID_TO_BEFORE# &gt; l0 #STATE_PERCENT_MID_TO_AFTER# &lt; or if{ #STATE_CODE# g#FL_JUMP_CODE# }</THIS_POS_CODE> </True> <False> <THIS_POS_CODE>#STATE_PERCENT_MID_TO_BEFORE# #STATE_PERCENT_MID_TO_AFTER# l0 rng if{ #STATE_CODE# g#FL_JUMP_CODE# }</THIS_POS_CODE> </False> </Condition> <Condition NotEmpty="STATE_CHECK"> <Condition NotEmpty="STATE_TOOLTIP"> <THIS_POS_TOOLTIP>#STATE_CHECK# if{ #STATE_TOOLTIP# g#FL_JUMP_TT_VALUE# }</THIS_POS_TOOLTIP> </Condition> <Condition Valid="CAN_OVERRIDE_ANIM_CODE"> <THIS_POS_ANIM_CODE>#STATE_CHECK# if{ #STATE_PERCENT# g#FL_JUMP_ANIM_CODE# }</THIS_POS_ANIM_CODE> </Condition> </Condition> <Condition Check="STATE_MOMENTARY_RELEASE_TARGET"> <THIS_POS_MOMENTARY_RELEASE_TARGET>#STATE_CHECK_POS# if{ (&gt;B:#IE_PRESET_ID#_#STATE_MOMENTARY_RELEASE_TARGET#) }</THIS_POS_MOMENTARY_RELEASE_TARGET> <THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT>#STATE_CHECK_POS# if{ l0 (O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) &gt; if{ (&gt;B:#IE_PRESET_ID#_#STATE_MOMENTARY_RELEASE_TARGET#) } els{ 1 sp1 } }</THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT> <THIS_POS_MOMENTARY_RELEASE_TIMEOUT>l0 #CUR_ID# == if{ @E_SimulationTime #MOMENTARY_MIN_DURATION# + (&gt;O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) }</THIS_POS_MOMENTARY_RELEASE_TIMEOUT> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="STATE_MOMENTARY_RELEASE_TARGET"> <Condition Valid="ENFORCE_MOMENTARY_MIN_DURATION"> <THIS_POS_MOMENTARY_RELEASE_TARGET> @E_SimulationTime (O:XMLVAR_#IE_PRESET_ID#_Pos_#STATE_ID#_Hold_Timeout) &gt; if{ #THIS_POS_MOMENTARY_RELEASE_TARGET# } els{ (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) } </THIS_POS_MOMENTARY_RELEASE_TARGET> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="STATE_MOMENTARY_RELEASE_TARGET"> <Condition NotEmpty="MOMENTARY_CONDITION"> <THIS_POS_MOMENTARY_RELEASE_TARGET>#MOMENTARY_CONDITION# if{ #THIS_POS_MOMENTARY_RELEASE_TARGET# }</THIS_POS_MOMENTARY_RELEASE_TARGET> <THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT>#MOMENTARY_CONDITION# if{ #THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT# }</THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT> <THIS_POS_MOMENTARY_RELEASE_TIMEOUT>#MOMENTARY_CONDITION# if{ #THIS_POS_MOMENTARY_RELEASE_TIMEOUT# }</THIS_POS_MOMENTARY_RELEASE_TIMEOUT> </Condition> </Condition> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_CODE</PARAM> <OUT_PARAM_NAME>ON_PRIMARY_DOWN_T</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_TOOLTIP</PARAM> <OUT_PARAM_NAME>TOOLTIP_VALUE_T</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_ANIM_CODE</PARAM> <OUT_PARAM_NAME>ANIM_CODE_T</OUT_PARAM_NAME> </UseParametersFn> <Condition Check="STATE_MOMENTARY_RELEASE_TARGET"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_MOMENTARY_RELEASE_TARGET</PARAM> <OUT_PARAM_NAME>ON_MOMENTARY_RELEASE_T</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT</PARAM> <OUT_PARAM_NAME>ON_MOMENTARY_RELEASE_WITH_TIMEOUT_T</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_POS_MOMENTARY_RELEASE_TIMEOUT</PARAM> <OUT_PARAM_NAME>UPDATE_MOMENTARY_RELEASE_TIMEOUTS_T</OUT_PARAM_NAME> </UseParametersFn> </Condition> </Parameters> </Do> <Then> <ON_PRIMARY_DOWN>s0 (&gt;#VAR_LAST_DRAG_VALUE#) #ON_PRIMARY_DOWN_T# :#FL_JUMP_CODE#</ON_PRIMARY_DOWN> <Condition Check="TOOLTIP_VALUE_T"> <Condition Check="IE_TOOLTIP_VALUE"> <False> <IE_TOOLTIP_VALUE>#TOOLTIP_VALUE_T# :#FL_JUMP_TT_VALUE# #FORMAT_TOOLTIP_VALUE#</IE_TOOLTIP_VALUE> </False> </Condition> </Condition> <Condition Check="ANIM_CODE_T"> <ANIM_CODE>#ANIM_CODE_T# :#FL_JUMP_ANIM_CODE# s0 (&gt;#VAR_LAST_DRAG_VALUE#) l0</ANIM_CODE> </Condition> <Condition Check="ON_MOMENTARY_RELEASE_T"> <MOMENTARY_RELEASE>#ON_MOMENTARY_RELEASE_T#</MOMENTARY_RELEASE> <PROCESS_MOMENTARY_RELEASE_TARGETS>@E_SimulationTime sp0 #ON_MOMENTARY_RELEASE_WITH_TIMEOUT_T# l1 if{ (O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) 1 + (&gt;O:XMLVAR_#IE_PRESET_ID#_Momentary_Tick) }</PROCESS_MOMENTARY_RELEASE_TARGETS> <UPDATE_MOMENTARY_RELEASE_TIMEOUTS>#UPDATE_MOMENTARY_RELEASE_TIMEOUTS_T#</UPDATE_MOMENTARY_RELEASE_TIMEOUTS> </Condition> </Then> </Loop> </Parameters> <Condition Check="MOMENTARY_RELEASE"> <Parameters Type="Default"> <HOLD_TO_STAY_IN_MOMENTARY_POSITION>False</HOLD_TO_STAY_IN_MOMENTARY_POSITION> </Parameters> <Condition Valid="HOLD_TO_STAY_IN_MOMENTARY_POSITION"> <Parameters Type="Override"> <Condition Valid="SHOW_INTERMEDIARY_POS_WHEN_INTERACTING"> <True> <UPDATE_MOMENTARY_RELEASE>#MOMENTARY_RELEASE# 1 (&gt;#VAR_UPDATE_LAST_DRAG_VALUE#)</UPDATE_MOMENTARY_RELEASE> </True> <False> <UPDATE_MOMENTARY_RELEASE>#MOMENTARY_RELEASE#</UPDATE_MOMENTARY_RELEASE> </False> </Condition> </Parameters> </Condition> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>MOMENTARY_RELEASE</PARAM> <OUT_PARAM_NAME>ON_EXIT_LOCK</OUT_PARAM_NAME> </UseParametersFn> <Condition Valid="HOLD_TO_STAY_IN_MOMENTARY_POSITION"> <UseParametersFn Name="ASOBO_Add_Update_Helper"> <UPDATE_CODE>(#VAR_IS_INTERACTING#) if{ @MR_IsUsingRelativePos @MR_Abs_X 0 == @MR_Abs_Y 0 == and and if{ #UPDATE_MOMENTARY_RELEASE# } }</UPDATE_CODE> <UPDATE_FREQUENCY>20</UPDATE_FREQUENCY> </UseParametersFn> </Condition> </Parameters> </Condition> <Parameters Type="Default"> <Condition NotEmpty="INVERT_DRAG_SCALAR"> <MR_INVERT_INC_DEC_EVENTS>#INVERT_DRAG_SCALAR#</MR_INVERT_INC_DEC_EVENTS> </Condition> <Condition Valid="FORWARD_INC_DEC_TO_IE"> <True> <ON_INCREASE>#MR_TO_IE_INC_VALUE# (&gt;B:#IE_PRESET_ID#_Inc)</ON_INCREASE> <ON_DECREASE>#MR_TO_IE_DEC_VALUE# (&gt;B:#IE_PRESET_ID#_Dec)</ON_DECREASE> </True> <False> <ON_INCREASE/> <ON_DECREASE/> </False> </Condition> <ON_AFTER_PRIMARY_DOWN/> <ON_ENTER_LOCK/> <ON_EXIT_LOCK/> <ON_PRIMARY_PRESSED_NO_LOCK/> <Condition Valid="SHOW_INTERMEDIARY_POS_WHEN_INTERACTING"> <SHOW_INTERMEDIARY_POS_CONDITION/> <SHOW_INTERMEDIARY_POS_CODE/> </Condition> <Condition Check="PROCESS_MOMENTARY_RELEASE_TARGETS"> <UseParametersFn Name="ASOBO_Get_Processed_Interaction_Momentary_Parameters"/> </Condition> <Switch Param="AXIS"> <Case Value="X"> <MR_REL_AXIS_VALUE>@MR_Rel_X</MR_REL_AXIS_VALUE> </Case> <Case Value="Y"> <MR_REL_AXIS_VALUE>@MR_Rel_Y</MR_REL_AXIS_VALUE> </Case> <Case Value="TRAJECTORY"/> </Switch> <Condition> <Test> <Greater> <Number>#NUMBER_OF_INPUT_EVENT#</Number> <Number>1</Number> </Greater> </Test> <True> <Loop> <Setup> <Param>IE_ID</Param> <From>0</From> <Inc>1</Inc> <To>#NUMBER_OF_INPUT_EVENT#</To> </Setup> <Do> <Condition CheckSavedParameters="Saved_Input_Event_#IE_ID#" Check="BUTTON_TYPE"> <DEAD_ZONE_RADIUS>@MR_DefaultDeadZoneRadius</DEAD_ZONE_RADIUS> </Condition> </Do> </Loop> </True> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_ON_ENTER_LOCK</PARAM> <THIS_ON_ENTER_LOCK>1 (&gt;#VAR_IS_INTERACTING#)</THIS_ON_ENTER_LOCK> <OUT_PARAM_NAME>ON_ENTER_LOCK</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_ON_EXIT_LOCK</PARAM> <THIS_ON_EXIT_LOCK>0 (&gt;#VAR_IS_INTERACTING#)</THIS_ON_EXIT_LOCK> <OUT_PARAM_NAME>ON_EXIT_LOCK</OUT_PARAM_NAME> </UseParametersFn> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Process_Gates_Parameters_Helper"> <UPDATE_VAR_LAST_DRAG_VALUE>False</UPDATE_VAR_LAST_DRAG_VALUE> <PLOAD_GATES_CONFIG>MR_Gates_Config</PLOAD_GATES_CONFIG> </UseParametersFn> </Parameters> <Parameters Type="Override"> <Condition Check="ON_POSITION_CHANGED"> <ON_AFTER_PRIMARY_DOWN>#ON_POSITION_CHANGED#</ON_AFTER_PRIMARY_DOWN> </Condition> <Condition Valid="WRAPPING_INTERACTION"> <SaveParameters ID="Append_With_Animation" Append="Default"> <ANIM_WRAP>True</ANIM_WRAP> </SaveParameters> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="SHOW_INTERMEDIARY_POS_WHEN_INTERACTING"> <ANIM_CODE> (#VAR_IS_INTERACTING#) (#VAR_UPDATE_LAST_DRAG_VALUE#) ! and #SHOW_INTERMEDIARY_POS_CONDITION# if{ (#VAR_LAST_DRAG_VALUE#) #SHOW_INTERMEDIARY_POS_CODE# } els{ (#VAR_UPDATE_LAST_DRAG_VALUE#) if{ 0 (&gt;#VAR_UPDATE_LAST_DRAG_VALUE#) } #ANIM_CODE# } </ANIM_CODE> <ON_INCREASE>#ON_INCREASE# 1 (&gt;#VAR_UPDATE_LAST_DRAG_VALUE#)</ON_INCREASE> <ON_DECREASE>#ON_DECREASE# 1 (&gt;#VAR_UPDATE_LAST_DRAG_VALUE#)</ON_DECREASE> </Condition> <Condition Check="VALUE_CHANGED_CHECK"> <True> <ON_PRIMARY_DOWN>#MR_TO_IE_SET_VALUE# #VALUE_CHANGED_CHECK# if{ #ON_PRIMARY_DOWN# #ON_AFTER_PRIMARY_DOWN# }</ON_PRIMARY_DOWN> </True> <False> <ON_PRIMARY_DOWN>#MR_TO_IE_SET_VALUE# #ON_PRIMARY_DOWN# #ON_AFTER_PRIMARY_DOWN#</ON_PRIMARY_DOWN> </False> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Process_Inc_Dec_Invertion"/> </Parameters> <Condition NotEmpty="MR_REL_AXIS_VALUE"> <Parameters Type="Default"> <Condition NotEmpty="DEAD_ZONE_RADIUS"> <IS_OUTSIDE_DEAD_ZONE>#MR_REL_AXIS_VALUE# abs #DEAD_ZONE_RADIUS# &gt;</IS_OUTSIDE_DEAD_ZONE> </Condition> <IS_POS_ON_INC_SIDE>#MR_REL_AXIS_VALUE# 0 &gt;</IS_POS_ON_INC_SIDE> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_ON_PRIMARY_PRESSED_NO_LOCK</PARAM> <Condition NotEmpty="DEAD_ZONE_RADIUS"> <True> <THIS_ON_PRIMARY_PRESSED_NO_LOCK>#IS_OUTSIDE_DEAD_ZONE# if{ #IS_POS_ON_INC_SIDE# if{ #ON_INCREASE# } els{ #ON_DECREASE# } }</THIS_ON_PRIMARY_PRESSED_NO_LOCK> </True> <False> <THIS_ON_PRIMARY_PRESSED_NO_LOCK>#IS_POS_ON_INC_SIDE# if{ #ON_INCREASE# } els{ #ON_DECREASE# }</THIS_ON_PRIMARY_PRESSED_NO_LOCK> </False> </Condition> <OUT_PARAM_NAME>ON_PRIMARY_PRESSED_NO_LOCK</OUT_PARAM_NAME> </UseParametersFn> </Parameters> </Condition> <Parameters Type="Override"> <Condition NotEmpty="ON_PRIMARY_PRESSED_NO_LOCK"> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_PRIMARY_PRESSED</EV_PARAM> <EV_PARAM_NAME_SHORTHAND>ON_PRIMARY_PRESSED_NO_LOCK</EV_PARAM_NAME_SHORTHAND> <INTERACTION_MODEL>@IM_Default</INTERACTION_MODEL> </UseParametersFn> </Condition> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_PRIMARY_DOWN</EV_PARAM> <Condition NotEmpty="MR_REL_AXIS_VALUE"> <INTERACTION_MODEL>@IM_Drag</INTERACTION_MODEL> </Condition> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_ENTER_LOCK</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_EXIT_LOCK</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_INCREASE</EV_PARAM> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_To_Mouserect_Events_Helper"> <EV_PARAM>ON_DECREASE</EV_PARAM> </UseParametersFn> </Parameters> <Parameters Type="Override"> <ANIM_CODE>#ANIM_CODE# s0 (&gt;#VAR_LAST_DRAG_VALUE#) l0</ANIM_CODE> </Parameters> <ReturnParameters> <SaveParameters ID="Mouserect_Parameters" Append="Default"> <UseParametersFn Name="ASOBO_Add_Animation_Helper"/> <CURSOR_DRAG_IM>Grab</CURSOR_DRAG_IM> <Condition NotEmpty="MR_REL_AXIS_VALUE"> <True> <CURSOR_CENTER_DEFAULT_IM>Hand</CURSOR_CENTER_DEFAULT_IM> <Condition NotEmpty="DEAD_ZONE_RADIUS"> <CURSOR_CENTER_RADIUS_DEFAULT_IM>#DEAD_ZONE_RADIUS#</CURSOR_CENTER_RADIUS_DEFAULT_IM> <DEAD_ZONE_RADIUS>#DEAD_ZONE_RADIUS#</DEAD_ZONE_RADIUS> </Condition> <Switch Param="AXIS"> <Case Value="X"> <Switch Param="INTERACTION_TYPE"> <Case Value="Knob"> <CURSOR_LEFT_DEFAULT_IM>TurnLeft</CURSOR_LEFT_DEFAULT_IM> <CURSOR_RIGHT_DEFAULT_IM>TurnRight</CURSOR_RIGHT_DEFAULT_IM> </Case> <Default> <CURSOR_LEFT_DEFAULT_IM>LeftArrow</CURSOR_LEFT_DEFAULT_IM> <CURSOR_RIGHT_DEFAULT_IM>RightArrow</CURSOR_RIGHT_DEFAULT_IM> </Default> </Switch> </Case> <Case Value="Y"> <CURSOR_UP_DEFAULT_IM>UpArrow</CURSOR_UP_DEFAULT_IM> <CURSOR_DOWN_DEFAULT_IM>DownArrow</CURSOR_DOWN_DEFAULT_IM> </Case> </Switch> </True> <False> <CURSOR_DEFAULT_IM>Grab</CURSOR_DEFAULT_IM> </False> </Condition> <CALLBACK_DRAG_SCALAR>#CALLBACK_DRAG_SCALAR#</CALLBACK_DRAG_SCALAR> <CALLBACK_DRAG_AXIS>#INTERACTION_AXIS#</CALLBACK_DRAG_AXIS> <AXIS>#AXIS#</AXIS> </SaveParameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Knob"> <IE_TOOLTIP_ICON>ROTATE</IE_TOOLTIP_ICON> </Case> <Case Value="Switch"> <IE_TOOLTIP_ICON>MOVE_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Case> <Default> <IE_TOOLTIP_ICON>MOVE_AXIS_#INTERACTION_AXIS#</IE_TOOLTIP_ICON> </Default> </Switch> <IE_TOOLTIP_INTERACTION>PRIMARY_DOWN+#INTERACTION_AXIS#_AXIS</IE_TOOLTIP_INTERACTION> <IE_TOOLTIP_INTERACTION_LOCKABLE>#INTERACTION_AXIS#_AXIS</IE_TOOLTIP_INTERACTION_LOCKABLE> <UseParametersFn Name="ASOBO_Format_Tooltip_Value_Helper"/> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • FORWARD_INC_DEC_TO_IE
    • Default

      Parameters set:

      • VAR_LAST_DRAG_VALUE
      • VAR_UPDATE_LAST_DRAG_VALUE
      • VAR_IS_INTERACTING
      • FORMAT_TOOLTIP_VALUE
      • CALLBACK_DRAG_SCALAR
      • ANIM_LAG

      ParametersFn used:

      Condition: Valid(FORWARD_INC_DEC_TO_IE)

      • Case: True

        Parameters set:

        • MR_TO_IE_INC_VALUE
        • MR_TO_IE_DEC_VALUE

      Condition: NotEmpty(ANIM_CODE)

      • Case: False

        Parameters set:

        • ANIM_CODE (using IE_PRESET_ID)
        • CAN_OVERRIDE_ANIM_CODE
        • SHOW_INTERMEDIARY_POS_WHEN_INTERACTING
    • Override

      Condition: Valid(WRAPPING_INTERACTION)

      • Case: True

        Parameters set:

        • MAX_STATE_INDEX (using LAST_STATE_INDEX)
      • Case: False

        Parameters set:

        • MAX_STATE_INDEX (using LAST_STATE_INDEX)
    • Override

      Parameters read:

      • LAST_STATE_INDEX

      Parameters set:

      • CUR_ID
      • PREV_ID (using CUR_ID)
      • NEXT_ID (using CUR_ID)
      • STATE_CODE (using CUR_ID)
      • ON_PRIMARY_DOWN (using VAR_LAST_DRAG_VALUE, ON_PRIMARY_DOWN_T, FL_JUMP_CODE)

      ParametersFn used:

      Condition: Check(STATE_#CUR_ID#_CHECK)

      • Case: True

        Parameters set:

        • STATE_CHECK (using CUR_ID)

      Condition: Check(STATE_#CUR_ID#_TOOLTIP)

      • Case: True

        Parameters set:

        • STATE_TOOLTIP (using CUR_ID)

      Condition: Check(STATE_#CUR_ID#_ANIM_PERCENT)

      • Case: True

        Parameters set:

        • STATE_PERCENT (using CUR_ID)
      • Case: False

        Parameters set:

        • STATE_PERCENT (using CUR_ID, MAX_STATE_INDEX)

      Condition: Check(STATE_#PREV_ID#_ANIM_PERCENT)

      • Case: True

        Parameters set:

        • STATE_BEFORE_PERCENT (using PREV_ID)
      • Case: False

        Condition: Test(WRAPPING_INTERACTION)

        • Case: True

          Parameters set:

          • STATE_BEFORE_PERCENT (using LAST_STATE_INDEX)
        • Case: False

          Parameters set:

          • STATE_BEFORE_PERCENT (using PREV_ID, MAX_STATE_INDEX)

      Condition: Check(STATE_#NEXT_ID#_ANIM_PERCENT)

      • Case: True

        Parameters set:

        • STATE_AFTER_PERCENT (using NEXT_ID)
      • Case: False

        Condition: Test(WRAPPING_INTERACTION)

        • Case: True

          Parameters set:

          • STATE_AFTER_PERCENT
        • Case: False

          Parameters set:

          • STATE_AFTER_PERCENT (using NEXT_ID, LAST_STATE_INDEX, MAX_STATE_INDEX)

      Condition: Check(STATE_#CUR_ID#_MOMENTARY_RELEASE_TARGET)

      • Case: True

        Parameters set:

        • STATE_MOMENTARY_RELEASE_TARGET (using CUR_ID)
        • MOMENTARY_MIN_DURATION (using CUR_ID)
        • MOMENTARY_CONDITION (using CUR_ID)
        • STATE_ID (using CUR_ID)

      Condition: Test(WRAPPING_INTERACTION)

      • Case: True

        Parameters set:

        • STATE_PERCENT_MID_TO_BEFORE (using STATE_BEFORE_PERCENT)
      • Case: False

        Parameters set:

        • STATE_PERCENT_MID_TO_BEFORE (using STATE_PERCENT, STATE_BEFORE_PERCENT)

      Condition: Test(WRAPPING_INTERACTION)

      • Case: True

        Parameters set:

        • STATE_PERCENT_MID_TO_AFTER (using STATE_PERCENT)
      • Case: False

        Parameters set:

        • STATE_PERCENT_MID_TO_AFTER (using STATE_PERCENT, STATE_AFTER_PERCENT)

      Condition: NotEmpty(STATE_CHECK)

      • Case: True

        Parameters set:

        • STATE_CHECK_POS (using STATE_CHECK)
      • Case: False

        Parameters set:

        • STATE_CHECK_POS (using STATE_PERCENT_MID_TO_BEFORE, STATE_PERCENT_MID_TO_AFTER)

      Condition: Test(WRAPPING_INTERACTION)

      • Case: True

        Parameters set:

        • THIS_POS_CODE (using STATE_PERCENT_MID_TO_BEFORE, STATE_PERCENT_MID_TO_AFTER, STATE_CODE, FL_JUMP_CODE)
      • Case: False

        Parameters set:

        • THIS_POS_CODE (using STATE_PERCENT_MID_TO_BEFORE, STATE_PERCENT_MID_TO_AFTER, STATE_CODE, FL_JUMP_CODE)

      Condition: NotEmpty(STATE_CHECK)

      • Case: True

        Condition: NotEmpty(STATE_TOOLTIP)

        • Case: True

          Parameters set:

          • THIS_POS_TOOLTIP (using STATE_CHECK, STATE_TOOLTIP, FL_JUMP_TT_VALUE)

        Condition: Valid(CAN_OVERRIDE_ANIM_CODE)

        • Case: True

          Parameters set:

          • THIS_POS_ANIM_CODE (using STATE_CHECK, STATE_PERCENT, FL_JUMP_ANIM_CODE)

      Condition: Check(STATE_MOMENTARY_RELEASE_TARGET)

      • Case: True

        Parameters set:

        • THIS_POS_MOMENTARY_RELEASE_TARGET (using STATE_CHECK_POS, IE_PRESET_ID, STATE_MOMENTARY_RELEASE_TARGET)
        • THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT (using STATE_CHECK_POS, IE_PRESET_ID, STATE_ID, STATE_MOMENTARY_RELEASE_TARGET)
        • THIS_POS_MOMENTARY_RELEASE_TIMEOUT (using CUR_ID, MOMENTARY_MIN_DURATION, IE_PRESET_ID, STATE_ID)

      Condition: Check(STATE_MOMENTARY_RELEASE_TARGET)

      • Case: True

        Condition: Valid(ENFORCE_MOMENTARY_MIN_DURATION)

        • Case: True

          Parameters set:

          • THIS_POS_MOMENTARY_RELEASE_TARGET (using IE_PRESET_ID, STATE_ID, THIS_POS_MOMENTARY_RELEASE_TARGET)

      Condition: Check(STATE_MOMENTARY_RELEASE_TARGET)

      • Case: True

        Condition: NotEmpty(MOMENTARY_CONDITION)

        • Case: True

          Parameters set:

          • THIS_POS_MOMENTARY_RELEASE_TARGET (using MOMENTARY_CONDITION, THIS_POS_MOMENTARY_RELEASE_TARGET)
          • THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT (using MOMENTARY_CONDITION, THIS_POS_MOMENTARY_RELEASE_TARGET_WITH_TIMEOUT)
          • THIS_POS_MOMENTARY_RELEASE_TIMEOUT (using MOMENTARY_CONDITION, THIS_POS_MOMENTARY_RELEASE_TIMEOUT)

      Condition: Check(STATE_MOMENTARY_RELEASE_TARGET)

      Condition: Check(TOOLTIP_VALUE_T)

      • Case: True

        Condition: Check(IE_TOOLTIP_VALUE)

        • Case: False

          Parameters set:

          • IE_TOOLTIP_VALUE (using TOOLTIP_VALUE_T, FL_JUMP_TT_VALUE, FORMAT_TOOLTIP_VALUE)

      Condition: Check(ANIM_CODE_T)

      • Case: True

        Parameters set:

        • ANIM_CODE (using ANIM_CODE_T, FL_JUMP_ANIM_CODE, VAR_LAST_DRAG_VALUE)

      Condition: Check(ON_MOMENTARY_RELEASE_T)

      • Case: True

        Parameters set:

        • MOMENTARY_RELEASE (using ON_MOMENTARY_RELEASE_T)
        • PROCESS_MOMENTARY_RELEASE_TARGETS (using ON_MOMENTARY_RELEASE_WITH_TIMEOUT_T, IE_PRESET_ID)
        • UPDATE_MOMENTARY_RELEASE_TIMEOUTS (using UPDATE_MOMENTARY_RELEASE_TIMEOUTS_T)
    • Default

      Parameters set:

      • ON_AFTER_PRIMARY_DOWN
      • ON_ENTER_LOCK
      • ON_EXIT_LOCK
      • ON_PRIMARY_PRESSED_NO_LOCK

      Condition: NotEmpty(INVERT_DRAG_SCALAR)

      • Case: True

        Parameters set:

        • MR_INVERT_INC_DEC_EVENTS (using INVERT_DRAG_SCALAR)

      Condition: Valid(FORWARD_INC_DEC_TO_IE)

      • Case: True

        Parameters set:

        • ON_INCREASE (using MR_TO_IE_INC_VALUE, IE_PRESET_ID)
        • ON_DECREASE (using MR_TO_IE_DEC_VALUE, IE_PRESET_ID)
      • Case: False

        Parameters set:

        • ON_INCREASE
        • ON_DECREASE

      Condition: Valid(SHOW_INTERMEDIARY_POS_WHEN_INTERACTING)

      • Case: True

        Parameters set:

        • SHOW_INTERMEDIARY_POS_CONDITION
        • SHOW_INTERMEDIARY_POS_CODE

      Condition: Check(PROCESS_MOMENTARY_RELEASE_TARGETS)

      Condition: Switch(AXIS)

      • Case: X

        Parameters set:

        • MR_REL_AXIS_VALUE
      • Case: Y

        Parameters set:

        • MR_REL_AXIS_VALUE
      • Case: TRAJECTORY

      Condition: Test

      • Case: True

        Parameters read:

        • NUMBER_OF_INPUT_EVENT

        Parameters set:

        • IE_ID

        Condition: CheckSavedParameters(Saved_Input_Event_#IE_ID#)

        • Case: True

          Parameters set:

          • DEAD_ZONE_RADIUS
    • Override

      ParametersFn used:

    • Override

      ParametersFn used:

    • Override

      Condition: Check(ON_POSITION_CHANGED)

      • Case: True

        Parameters set:

        • ON_AFTER_PRIMARY_DOWN (using ON_POSITION_CHANGED)

      Condition: Valid(WRAPPING_INTERACTION)

      • Case: True

        Parameters set:

        • ANIM_WRAP
    • Override

      Condition: Valid(SHOW_INTERMEDIARY_POS_WHEN_INTERACTING)

      • Case: True

        Parameters set:

        • ANIM_CODE (using VAR_IS_INTERACTING, VAR_UPDATE_LAST_DRAG_VALUE, SHOW_INTERMEDIARY_POS_CONDITION, VAR_LAST_DRAG_VALUE, SHOW_INTERMEDIARY_POS_CODE, ANIM_CODE)
        • ON_INCREASE (using ON_INCREASE, VAR_UPDATE_LAST_DRAG_VALUE)
        • ON_DECREASE (using ON_DECREASE, VAR_UPDATE_LAST_DRAG_VALUE)

      Condition: Check(VALUE_CHANGED_CHECK)

      • Case: True

        Parameters set:

        • ON_PRIMARY_DOWN (using MR_TO_IE_SET_VALUE, VALUE_CHANGED_CHECK, ON_PRIMARY_DOWN, ON_AFTER_PRIMARY_DOWN)
      • Case: False

        Parameters set:

        • ON_PRIMARY_DOWN (using MR_TO_IE_SET_VALUE, ON_PRIMARY_DOWN, ON_AFTER_PRIMARY_DOWN)
    • Override
    • Override

      ParametersFn used:

      Condition: NotEmpty(ON_PRIMARY_PRESSED_NO_LOCK)

    • Override

      Parameters set:

      • ANIM_CODE (using ANIM_CODE, VAR_LAST_DRAG_VALUE)

    Return parameters:

    Parameters set:

    • CURSOR_DRAG_IM
    • CALLBACK_DRAG_SCALAR (using CALLBACK_DRAG_SCALAR)
    • CALLBACK_DRAG_AXIS (using INTERACTION_AXIS)
    • AXIS (using AXIS)
    • IE_TOOLTIP_INTERACTION (using INTERACTION_AXIS)
    • IE_TOOLTIP_INTERACTION_LOCKABLE (using INTERACTION_AXIS)

    ParametersFn used:

    Condition: NotEmpty(MR_REL_AXIS_VALUE)

    • Case: True

      Parameters set:

      • CURSOR_CENTER_DEFAULT_IM

      Condition: NotEmpty(DEAD_ZONE_RADIUS)

      • Case: True

        Parameters set:

        • CURSOR_CENTER_RADIUS_DEFAULT_IM (using DEAD_ZONE_RADIUS)
        • DEAD_ZONE_RADIUS (using DEAD_ZONE_RADIUS)

      Condition: Switch(AXIS)

      • Case: X

        Condition: Switch(INTERACTION_TYPE)

        • Case: Knob

          Parameters set:

          • CURSOR_LEFT_DEFAULT_IM
          • CURSOR_RIGHT_DEFAULT_IM
        • Default case:

          Parameters set:

          • CURSOR_LEFT_DEFAULT_IM
          • CURSOR_RIGHT_DEFAULT_IM
      • Case: Y

        Parameters set:

        • CURSOR_UP_DEFAULT_IM
        • CURSOR_DOWN_DEFAULT_IM
    • Case: False

      Parameters set:

      • CURSOR_DEFAULT_IM

    Condition: Switch(INTERACTION_TYPE)

    • Case: Knob

      Parameters set:

      • IE_TOOLTIP_ICON
    • Case: Switch

      Parameters set:

      • IE_TOOLTIP_ICON (using INTERACTION_AXIS)
    • Default case:

      Parameters set:

      • IE_TOOLTIP_ICON (using INTERACTION_AXIS)
  • ASOBO_Get_Processed_Interaction_Momentary_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Processed_Interaction_Momentary_Parameters"> <Parameters Type="Default"> <Condition Check="VAR_IS_INTERACTING"> <SHOULD_UPDATE_MOMENTARY_RELEASE_TARGETS>(#VAR_IS_INTERACTING#) !</SHOULD_UPDATE_MOMENTARY_RELEASE_TARGETS> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Watch_LocalVar_Helper"> <LOCAL_VAR>XMLVAR_#IE_PRESET_ID#_Momentary_Tick</LOCAL_VAR> <VAR_SCOPE>O</VAR_SCOPE> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_Set_Code_Helper"> <SET_CODE>#UPDATE_MOMENTARY_RELEASE_TIMEOUTS#</SET_CODE> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_Init_Code_Helper"> <INIT_CODE>#SHOULD_UPDATE_MOMENTARY_RELEASE_TARGETS# if{ #PROCESS_MOMENTARY_RELEASE_TARGETS# }</INIT_CODE> </UseParametersFn> </Parameters> </ParametersFn>

    Parameters initialization:

    • Default

      Condition: Check(VAR_IS_INTERACTING)

      • Case: True

        Parameters set:

        • SHOULD_UPDATE_MOMENTARY_RELEASE_TARGETS (using VAR_IS_INTERACTING)
    • Override

      ParametersFn used:

  • ASOBO_Get_Processed_Interaction_Covered_Parameters

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Processed_Interaction_Covered_Parameters"> <Parameters Type="Override"> <LoadParameters ID="Cover_Interaction_Parameters"/> </Parameters> <Parameters Type="Default"> <COVER_ID>#IE_PRESET_ID#_Cover</COVER_ID> </Parameters> <Parameters Type="Default"> <COVER_VAR_NAME>XMLVAR_#COVER_ID#_Open</COVER_VAR_NAME> <COVER_VAR_SCOPE>L:1</COVER_VAR_SCOPE> </Parameters> <Parameters Type="Default"> <Condition Check="FORCE_POSITION_WHEN_COVER_CLOSED"> <ON_COVER_CLOSED_SET_POSITION>#FORCE_POSITION_WHEN_COVER_CLOSED#</ON_COVER_CLOSED_SET_POSITION> <COVER_VAR>#COVER_VAR_SCOPE#:#COVER_VAR_NAME#</COVER_VAR> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="ON_COVER_CLOSED_SET_POSITION"> <ON_COVER_CLOSED_SET_POSITION>(&gt;B:#IE_PRESET_ID#_#ON_COVER_CLOSED_SET_POSITION#)</ON_COVER_CLOSED_SET_POSITION> </Condition> <Condition Check="ON_COVER_OPENED_SET_POSITION"> <ON_COVER_OPENED_SET_POSITION>(&gt;B:#IE_PRESET_ID#_#ON_COVER_OPENED_SET_POSITION#)</ON_COVER_OPENED_SET_POSITION> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="FORCE_POSITION_WHEN_COVER_CLOSED"> <INIT_CODE_WHEN_COVER_CLOSED>(#COVER_VAR#) ! if{ #ON_COVER_CLOSED_SET_POSITION# }</INIT_CODE_WHEN_COVER_CLOSED> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="ON_COVER_CLOSED_SET_POSITION_CONDITION"> <ON_COVER_CLOSED_SET_POSITION>#ON_COVER_CLOSED_SET_POSITION_CONDITION# if{ #ON_COVER_CLOSED_SET_POSITION# }</ON_COVER_CLOSED_SET_POSITION> </Condition> <Condition Check="ON_COVER_OPENED_SET_POSITION_CONDITION"> <ON_COVER_OPENED_SET_POSITION>#ON_COVER_OPENED_SET_POSITION_CONDITION# if{ #ON_COVER_OPENED_SET_POSITION# }</ON_COVER_OPENED_SET_POSITION> </Condition> </Parameters> <Parameters Type="Override"> <SaveParameters ID="Cover_Interaction_Parameters" Append="Override"> <Condition Check="ON_COVER_CLOSED_SET_POSITION"> <ON_COVER_CLOSED>#ON_COVER_CLOSED_SET_POSITION#</ON_COVER_CLOSED> </Condition> <Condition Check="ON_COVER_OPENED_SET_POSITION"> <ON_COVER_OPENED>#ON_COVER_OPENED_SET_POSITION#</ON_COVER_OPENED> </Condition> </SaveParameters> <SaveParameters ID="Cover_Interaction_Parameters" Append="Default"> <COVER_VAR_NAME>#COVER_VAR_NAME#</COVER_VAR_NAME> <COVER_VAR_SCOPE>#COVER_VAR_SCOPE#</COVER_VAR_SCOPE> <COVER_ID>#COVER_ID#</COVER_ID> </SaveParameters> </Parameters> <ReturnParameters> <Condition Check="FORCE_POSITION_WHEN_COVER_CLOSED"> <UseParametersFn Name="ASOBO_Append_Init_Code_Helper"> <APPEND_BEFORE>True</APPEND_BEFORE> <INIT_CODE>#INIT_CODE_WHEN_COVER_CLOSED#</INIT_CODE> </UseParametersFn> <UseParametersFn Name="ASOBO_Watch_LocalVar_Helper"> <LOCAL_VAR>#COVER_VAR_NAME#</LOCAL_VAR> <VAR_SCOPE>#COVER_VAR_SCOPE#</VAR_SCOPE> </UseParametersFn> </Condition> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Override
    • Default

      Parameters set:

      • COVER_ID (using IE_PRESET_ID)
    • Default

      Parameters set:

      • COVER_VAR_NAME (using COVER_ID)
      • COVER_VAR_SCOPE
    • Default

      Condition: Check(FORCE_POSITION_WHEN_COVER_CLOSED)

      • Case: True

        Parameters set:

        • ON_COVER_CLOSED_SET_POSITION (using FORCE_POSITION_WHEN_COVER_CLOSED)
        • COVER_VAR (using COVER_VAR_SCOPE, COVER_VAR_NAME)
    • Override

      Condition: Check(ON_COVER_CLOSED_SET_POSITION)

      • Case: True

        Parameters set:

        • ON_COVER_CLOSED_SET_POSITION (using IE_PRESET_ID, ON_COVER_CLOSED_SET_POSITION)

      Condition: Check(ON_COVER_OPENED_SET_POSITION)

      • Case: True

        Parameters set:

        • ON_COVER_OPENED_SET_POSITION (using IE_PRESET_ID, ON_COVER_OPENED_SET_POSITION)
    • Override

      Condition: Check(FORCE_POSITION_WHEN_COVER_CLOSED)

      • Case: True

        Parameters set:

        • INIT_CODE_WHEN_COVER_CLOSED (using COVER_VAR, ON_COVER_CLOSED_SET_POSITION)
    • Override

      Condition: Check(ON_COVER_CLOSED_SET_POSITION_CONDITION)

      • Case: True

        Parameters set:

        • ON_COVER_CLOSED_SET_POSITION (using ON_COVER_CLOSED_SET_POSITION_CONDITION, ON_COVER_CLOSED_SET_POSITION)

      Condition: Check(ON_COVER_OPENED_SET_POSITION_CONDITION)

      • Case: True

        Parameters set:

        • ON_COVER_OPENED_SET_POSITION (using ON_COVER_OPENED_SET_POSITION_CONDITION, ON_COVER_OPENED_SET_POSITION)
    • Override

      Parameters set:

      • COVER_VAR_NAME (using COVER_VAR_NAME)
      • COVER_VAR_SCOPE (using COVER_VAR_SCOPE)
      • COVER_ID (using COVER_ID)

      Condition: Check(ON_COVER_CLOSED_SET_POSITION)

      • Case: True

        Parameters set:

        • ON_COVER_CLOSED (using ON_COVER_CLOSED_SET_POSITION)

      Condition: Check(ON_COVER_OPENED_SET_POSITION)

      • Case: True

        Parameters set:

        • ON_COVER_OPENED (using ON_COVER_OPENED_SET_POSITION)

    Return parameters:

    Condition: Check(FORCE_POSITION_WHEN_COVER_CLOSED)

 

0/255