[Go back to index]

Asobo\Generic\Complex\PushButton.xml

Source XML
<ModelBehaviors> <!-- Simple push button object. Required parameter: ANIM_NAME LEFT_SINGLE_CODE --> <Template Name = "ASOBO_GT_Push_Button"> <DefaultTemplateParameters> <ANIM_LENGTH>100</ANIM_LENGTH> <ANIM_DURATION>0.5</ANIM_DURATION> <SWITCH_POSITION_TYPE>O</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>_ButtonAnimVar</SWITCH_POSITION_VAR> <Condition Valid="LEFT_SINGLE_CODE_REPEAT_FREQUENCY"> <True> <LEFT_LEAVE_CODE>0</LEFT_LEAVE_CODE> </True> </Condition> <Condition Check="LEFT_SINGLE_CODE_DRAG_IM"> <False> <NO_PREEXISTING_DRAG_IM_DEFINITION/> </False> </Condition> <Condition Check="LEFT_SINGLE_CODE"> <True> <LEFT_SINGLE_CODE_DEFAULT_IM>#LEFT_SINGLE_CODE#</LEFT_SINGLE_CODE_DEFAULT_IM> <LEFT_SINGLE_CODE_DRAG_IM>#LEFT_SINGLE_CODE#</LEFT_SINGLE_CODE_DRAG_IM> </True> <False> <LEFT_SINGLE_CODE_DEFAULT_IM/> <LEFT_SINGLE_CODE_DRAG_IM/> </False> </Condition> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> </DefaultTemplateParameters> <Update Frequency = "10"> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 &gt; (O:ForcePush) 0 &gt; or if{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0.1 #ANIM_DURATION# / - (O:ForcePush) max (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) } </Update> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <Condition Valid="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>#ANIM_LENGTH# (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) *</ANIM_CODE> </False> </Condition> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> </UseTemplate> <Condition Check="LEFT_LEAVE_CODE"> <True> <Condition Valid="LEFT_SINGLE_CODE_REPEAT_FREQUENCY"> <True> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>#LEFT_SINGLE_CODE_REPEAT_FREQUENCY#</FREQUENCY> <UPDATE_CODE>(O:ForcePush) if{ #LEFT_SINGLE_CODE# }</UPDATE_CODE> </UseTemplate> </True> </Condition> <UseTemplate Name = "ASOBO_GT_Interaction_LeftSingle_Leave_Code"> <LEFT_SINGLE_CODE>1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #LEFT_SINGLE_CODE# 1 (&gt;O:ForcePush)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>0 (&gt;O:ForcePush) #LEFT_LEAVE_CODE#</LEFT_LEAVE_CODE> </UseTemplate> </True> <False> <UseTemplate Name = "ASOBO_GT_Interaction_LeftSingle_Code"> <LEFT_SINGLE_CODE_DEFAULT_IM> 1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #LEFT_SINGLE_CODE_DEFAULT_IM# </LEFT_SINGLE_CODE_DEFAULT_IM> <Condition Check="NO_PREEXISTING_DRAG_IM_DEFINITION"> <LEFT_SINGLE_CODE_DRAG_IM> 1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #LEFT_SINGLE_CODE_DRAG_IM# </LEFT_SINGLE_CODE_DRAG_IM> </Condition> </UseTemplate> </False> </Condition> </Template> <!-- Simple push button object, customized for AIRBUS type planes. Required parameter: ANIM_NAME LEFT_SINGLE_CODE SEQ1_NODE_ID SEQ1_EMISSIVE_CODE SEQ2_NODE_ID SEQ2_EMISSIVE_CODE / POTENTIOMETER --> <Template Name = "ASOBO_GT_Push_Button_Airliner"> <DefaultTemplateParameters> <SEQ1_SUFFIX>_SEQ1</SEQ1_SUFFIX> <SEQ2_SUFFIX>_SEQ2</SEQ2_SUFFIX> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner_SubTemplate"> </UseTemplate> </Template> <Template Name = "ASOBO_GT_Push_Button_Airliner_SubTemplate"> <Parameters Type="Default"> <Condition Check="POTENTIOMETER"> <True> <POTENTIOMETER_SEQ1>#POTENTIOMETER#</POTENTIOMETER_SEQ1> <POTENTIOMETER_SEQ2>#POTENTIOMETER#</POTENTIOMETER_SEQ2> </True> </Condition> <Condition Check="SIMVAR_POWER_SETTING"> <True> <SIMVAR_POWER_SETTING_SEQ1>#SIMVAR_POWER_SETTING#</SIMVAR_POWER_SETTING_SEQ1> <SIMVAR_POWER_SETTING_SEQ2>#SIMVAR_POWER_SETTING#</SIMVAR_POWER_SETTING_SEQ2> </True> </Condition> <SEQ1_EMISSIVE_CODE>1</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>1</SEQ2_EMISSIVE_CODE> <SEQ1_NODE_ID>#NODE_ID##SEQ1_SUFFIX#</SEQ1_NODE_ID> <SEQ2_NODE_ID>#NODE_ID##SEQ2_SUFFIX#</SEQ2_NODE_ID> <Condition Check="ONLY_SEQ1"> <NO_SEQ2/> </Condition> <Condition Check="ONLY_SEQ2"> <NO_SEQ1/> </Condition> <SEQ1_EMISSIVE_DRIVES_VISIBILITY>True</SEQ1_EMISSIVE_DRIVES_VISIBILITY> <SEQ2_EMISSIVE_DRIVES_VISIBILITY>True</SEQ2_EMISSIVE_DRIVES_VISIBILITY> <SEQ1_CODE_DRIVES_VISIBILITY>False</SEQ1_CODE_DRIVES_VISIBILITY> <SEQ2_CODE_DRIVES_VISIBILITY>False</SEQ2_CODE_DRIVES_VISIBILITY> <Condition Check="NOT_DIMMABLE"> <True> <SEQ1_NOT_DIMMABLE>#NOT_DIMMABLE#</SEQ1_NOT_DIMMABLE> <SEQ2_NOT_DIMMABLE>#NOT_DIMMABLE#</SEQ2_NOT_DIMMABLE> </True> <False> <SEQ1_NOT_DIMMABLE>False</SEQ1_NOT_DIMMABLE> <SEQ2_NOT_DIMMABLE>False</SEQ2_NOT_DIMMABLE> </False> </Condition> <IS_SWITCH>False</IS_SWITCH> </Parameters> <Parameters Type="Default"> <Condition Check="COVER_NODE_ID"> <COVER_INIT_VALUE>0</COVER_INIT_VALUE> <COVER_IE_NAME>#NODE_ID#_Cover</COVER_IE_NAME> <Condition NotEmpty="INPUT_EVENT_ID"> <True> <COVER_IE_ID_SOURCE>#INPUT_EVENT_ID#</COVER_IE_ID_SOURCE> </True> <False> <COVER_IE_ID_SOURCE>COMMON</COVER_IE_ID_SOURCE> </False> </Condition> <COVER_USE_INPUT_EVENT>COMMON</COVER_USE_INPUT_EVENT> <COVER_INVERT_SWITCH_ON_CONDITION>False</COVER_INVERT_SWITCH_ON_CONDITION> <COVER_INVERT_WHEEL_INTERACTION>False</COVER_INVERT_WHEEL_INTERACTION> <TT_DESCRIPTION_ID_COVER>@TT_Package.COMMON_COVER_ACTION</TT_DESCRIPTION_ID_COVER> <TOOLTIP_TITLE_COVER>@TT_Package.COMMON_COVER_TITLE</TOOLTIP_TITLE_COVER> <ON_COVER_OPENED/> <ON_COVER_CLOSED/> <TT_ICON_COVER>MOVE_Y</TT_ICON_COVER> <NO_INTERACTION_WHEN_COVERED>True</NO_INTERACTION_WHEN_COVERED> </Condition> </Parameters> <Parameters Type="Default"> <Condition Check="COVER_NODE_ID"> <IS_COVER_OPENED>(B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#, Bool)</IS_COVER_OPENED> <COVER_VAR_NAME>#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Position</COVER_VAR_NAME> <COVER_VAR_TYPE>O</COVER_VAR_TYPE> <WWISE_COVER_EVENT_OPEN>cover_open</WWISE_COVER_EVENT_OPEN> <WWISE_COVER_EVENT_CLOSE>cover_close</WWISE_COVER_EVENT_CLOSE> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="DOWN_STATE_CODE"> <False> <Condition Valid="SEQ1_CODE_DRIVES_DOWN_STATE"> <True> <DOWN_STATE_CODE>#SEQ1_EMISSIVE_CODE#</DOWN_STATE_CODE> </True> </Condition> <Condition Valid="SEQ2_CODE_DRIVES_DOWN_STATE"> <True> <DOWN_STATE_CODE>#SEQ2_EMISSIVE_CODE#</DOWN_STATE_CODE> </True> </Condition> </False> </Condition> </Parameters> <EditableTemplateParameters> <AddParams> <SEQ1_NODE_ID></SEQ1_NODE_ID> <SEQ2_NODE_ID></SEQ2_NODE_ID> </AddParams> </EditableTemplateParameters> <Condition Check="DUMMY_BUTTON"> <False> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <Switch> <Case Valid="HAS_LONG_PRESS"> <PUSH_TEMPLATE_TO_USE>ASOBO_GT_Push_Button_Timed</PUSH_TEMPLATE_TO_USE> </Case> <Default> <PUSH_TEMPLATE_TO_USE>ASOBO_GT_Push_Button</PUSH_TEMPLATE_TO_USE> </Default> </Switch> </Parameters> <Parameters Type="Override"> <Condition Check="COVER_NODE_ID"> <True> <LEFT_SINGLE_CODE>(B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#, Bool) if{ #LEFT_SINGLE_CODE# }</LEFT_SINGLE_CODE> </True> </Condition> </Parameters> <Condition Check="INPUT_EVENT_ID"> <UseInputEvent ID="#INPUT_EVENT_ID#"/> </Condition> <Condition Check="DOWN_STATE_CODE"> <True> <UseTemplate Name = "ASOBO_GT_Switch_Code"> <ANIM_CODE>#DOWN_STATE_CODE# 100 *</ANIM_CODE> </UseTemplate> </True> <False> <UseTemplate Name="#PUSH_TEMPLATE_TO_USE#"/> </False> </Condition> </Component> <Condition Check="COVER_NODE_ID"> <True> <Component ID="#COVER_NODE_ID#" Node="#COVER_NODE_ID#"> <Parameters Type="Override"> <Condition NotEmpty="INVERT_COVER_ANIM"> <INVERT_ANIM>#INVERT_COVER_ANIM#</INVERT_ANIM> </Condition> <INVERT_SWITCH_ON_CONDITION>#COVER_INVERT_SWITCH_ON_CONDITION#</INVERT_SWITCH_ON_CONDITION> <INVERT_WHEEL_INTERACTION>#COVER_INVERT_WHEEL_INTERACTION#</INVERT_WHEEL_INTERACTION> <ON_STATE_CHANGED_EXTERNAL_CODE/> </Parameters> <Condition NotEmpty="OPEN_COVER_CONDITION"> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>5</FREQUENCY> <UPDATE_CODE>#OPEN_COVER_CONDITION# != if{ (&gt;B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Open) }</UPDATE_CODE> </UseTemplate> </Condition> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#COVER_INIT_VALUE# (&gt;B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Set)</UPDATE_CODE> </UseTemplate> <UseInputEvent ID="#COVER_USE_INPUT_EVENT#"> <BTN_ID>#COVER_IE_NAME#</BTN_ID> <INPUT_EVENT_ID_SOURCE>#COVER_IE_ID_SOURCE#</INPUT_EVENT_ID_SOURCE> <TT_ICON>#TT_ICON_COVER#</TT_ICON> <Condition Check="NUM_STATES" Match="3"> <True> <SET_STATE_1>1 (&gt;#COVER_VAR_TYPE#:#COVER_VAR_NAME#) #ON_COVER_OPENED#</SET_STATE_1> <SET_STATE_0>0 (&gt;#COVER_VAR_TYPE#:#COVER_VAR_NAME#) #ON_COVER_CLOSED#</SET_STATE_0> <SET_STATE_2/> </True> <False> <SET_STATE_ON>1 (&gt;#COVER_VAR_TYPE#:#COVER_VAR_NAME#) #ON_COVER_OPENED#</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;#COVER_VAR_TYPE#:#COVER_VAR_NAME#) #ON_COVER_CLOSED#</SET_STATE_OFF> </False> </Condition> <ON_BEFORE_INC_CODE/> <ON_BEFORE_DEC_CODE/> <ON_BEFORE_SET_CODE/> <ON_AFTER_INC_CODE/> <ON_AFTER_DEC_CODE/> <ON_AFTER_SET_CODE/> <GET_STATE_EXTERNAL>(#COVER_VAR_TYPE#:#COVER_VAR_NAME#) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_COVER#</TT_DESCRIPTION_ID> <STR_STATE_OFF>Close</STR_STATE_OFF> <STR_STATE_ON>Open</STR_STATE_ON> <TT_VALUE_OFF>@TT_Closed</TT_VALUE_OFF> <TT_VALUE_ON>@TT_Open</TT_VALUE_ON> <NUM_STATES>2</NUM_STATES> <SIMVAR_TO_WATCH_0/> <LOCAL_VAR_TO_WATCH_0/> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <TOOLTIP_TITLE>#TOOLTIP_TITLE_COVER#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#</TOOLTIP_ENTRY_0> <ANIM_NAME>#COVER_ANIM_NAME#</ANIM_NAME> <ANIM_CODE>#IS_COVER_OPENED# 100 *</ANIM_CODE> <LEFT_SINGLE_CODE>(&gt;B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Toggle)</LEFT_SINGLE_CODE> <WWISE_EVENT_1>#WWISE_COVER_EVENT_OPEN#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_COVER_EVENT_CLOSE#</WWISE_EVENT_2> <Condition NotEmpty="COVER_PART_ID"> <PART_ID>#COVER_PART_ID#</PART_ID> </Condition> <Condition NotEmpty="COVER_HIGHLIGHT_NODE_ID"> <HIGHLIGHT_NODE_ID>#COVER_HIGHLIGHT_NODE_ID#</HIGHLIGHT_NODE_ID> </Condition> </UseTemplate> </Component> </True> </Condition> </False> <True> <Condition Valid="IS_INOP"> <True> <UseTemplate Name="ASOBO_GT_Interaction_Tooltip"> <Condition> <Test> <And> <Arg Check="DOWN_STATE_CODE"/> <Arg Check="ANIM_NAME"/> </And> </Test> <True> <ANIM_POS>#DOWN_STATE_CODE# 100 *</ANIM_POS> </True> </Condition> </UseTemplate> </True> </Condition> </True> </Condition> <Condition Check="NO_SEQ1"> <False> <Component ID="#SEQ1_NODE_ID#_S1" Node="#SEQ1_NODE_ID#"> <UseTemplate Name ="ASOBO_GT_Emissive_Gauge"> <Condition NotEmpty="SEQ1_FAILURE"> <FAILURE>#SEQ1_FAILURE#</FAILURE> </Condition> <Switch> <Case Valid="SEQ1_NOT_DIMMABLE"> <EMISSIVE_CODE>#SEQ1_EMISSIVE_CODE#</EMISSIVE_CODE> </Case> <Case NotEmpty="POTENTIOMETER_SEQ1"> <EMISSIVE_CODE>#SEQ1_EMISSIVE_CODE# (A:LIGHT POTENTIOMETER:#POTENTIOMETER_SEQ1#, Percent over 100) *</EMISSIVE_CODE> </Case> <Case NotEmpty="SIMVAR_POWER_SETTING_SEQ1"> <EMISSIVE_CODE>#SEQ1_EMISSIVE_CODE# (A:#SIMVAR_POWER_SETTING_SEQ1#, Percent over 100) *</EMISSIVE_CODE> </Case> <Default> <EMISSIVE_CODE>#SEQ1_EMISSIVE_CODE#</EMISSIVE_CODE> </Default> </Switch> <Condition Valid="SEQ1_EMISSIVE_DRIVES_VISIBILITY"> <True> <EMISSIVE_DRIVES_VISIBILITY>True</EMISSIVE_DRIVES_VISIBILITY> </True> </Condition> </UseTemplate> <Condition Valid="SEQ1_CODE_DRIVES_VISIBILITY"> <True> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>#SEQ1_EMISSIVE_CODE# 0 &gt;</VISIBILITY_CODE> </UseTemplate> </True> </Condition> </Component> </False> </Condition> <Condition Check="NO_SEQ2"> <False> <Component ID="#SEQ2_NODE_ID#_S2" Node="#SEQ2_NODE_ID#"> <UseTemplate Name ="ASOBO_GT_Emissive_Gauge"> <Condition NotEmpty="SEQ2_FAILURE"> <FAILURE>#SEQ2_FAILURE#</FAILURE> </Condition> <Switch> <Case Valid="SEQ2_NOT_DIMMABLE"> <EMISSIVE_CODE>#SEQ2_EMISSIVE_CODE#</EMISSIVE_CODE> </Case> <Case NotEmpty="POTENTIOMETER_SEQ2"> <EMISSIVE_CODE>#SEQ2_EMISSIVE_CODE# (A:LIGHT POTENTIOMETER:#POTENTIOMETER_SEQ2#, Percent over 100) *</EMISSIVE_CODE> </Case> <Case NotEmpty="SIMVAR_POWER_SETTING_SEQ2"> <EMISSIVE_CODE>#SEQ2_EMISSIVE_CODE# (A:#SIMVAR_POWER_SETTING_SEQ2#, Percent over 100) *</EMISSIVE_CODE> </Case> <Default> <EMISSIVE_CODE>#SEQ2_EMISSIVE_CODE#</EMISSIVE_CODE> </Default> </Switch> <Condition Valid="SEQ2_EMISSIVE_DRIVES_VISIBILITY"> <True> <EMISSIVE_DRIVES_VISIBILITY>True</EMISSIVE_DRIVES_VISIBILITY> </True> </Condition> </UseTemplate> <Condition Valid="SEQ2_CODE_DRIVES_VISIBILITY"> <True> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>#SEQ2_EMISSIVE_CODE# 0 &gt;</VISIBILITY_CODE> </UseTemplate> </True> </Condition> </Component> </False> </Condition> </Template> <!-- Push button object, with emissive code. (Requires Gauge power) Required parameter: ANIM_NAME LEFT_SINGLE_CODE EMISSIVE_CODE --> <Template Name = "ASOBO_GT_Push_Button_Emissive"> <UseTemplate Name = "ASOBO_GT_Push_Button"> </UseTemplate> <UseTemplate Name = "ASOBO_GT_Emissive_Gauge"> </UseTemplate> </Template> <!-- Push button, with action on short press, and action on long press. Required parameter: SHORT_CLICK_CODE LONG_CLICK_CODE --> <Template Name = "ASOBO_GT_Push_Button_Timed"> <DefaultTemplateParameters> <ANIM_LENGTH>100</ANIM_LENGTH> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> <ANIM_CODE>(O:_ButtonAnimVar)</ANIM_CODE> </DefaultTemplateParameters> <Update Frequency = "10"> (O:_PressTime) 0 &gt; if{ #ANIM_LENGTH# (&gt;O:_ButtonAnimVar) } els{ (O:_ButtonAnimVar) #ANIM_LENGTH# 0.7 * - 0 max (&gt;O:_ButtonAnimVar) } </Update> <UseTemplate Name = "ASOBO_GT_Anim_Code"> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> </UseTemplate> <UseTemplate Name = "ASOBO_GT_Interaction_Left_Timed_Code"> </UseTemplate> </Template> <!-- Push button, with action when first pressed, and another when released. Required parameter: SHORT_CLICK_CODE LONG_CLICK_CODE --> <Template Name = "ASOBO_GT_Push_Button_Held"> <DefaultTemplateParameters> <ANIM_LENGTH>100</ANIM_LENGTH> <SWITCH_POSITION_TYPE>O</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>_ButtonAnimVar</SWITCH_POSITION_VAR> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <ANIM_DURATION>0.3</ANIM_DURATION> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> <MIN_HELD_DURATION>0.0</MIN_HELD_DURATION> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <True> <Condition> <Test> <Greater> <Value>MIN_HELD_DURATION</Value> <Number>0.0</Number> </Greater> </Test> <True> <USE_MIN_HELD_DURATION>True</USE_MIN_HELD_DURATION> <LEFT_SINGLE_CODE>1 (&gt;O:_Is_Held) #LEFT_SINGLE_CODE# (E:ABSOLUTE TIME, second) #MIN_HELD_DURATION# + (&gt;O:_DelayedReleaseTime)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>0 (&gt;O:_Is_Held) (E:ABSOLUTE TIME, second) (O:_DelayedReleaseTime) &gt; if{ #LEFT_LEAVE_CODE# }</LEFT_LEAVE_CODE> <LEFT_LEAVE_CODE_DELAYED>#LEFT_LEAVE_CODE#</LEFT_LEAVE_CODE_DELAYED> </True> </Condition> </True> <False> <Condition> <Test> <Greater> <Value>MIN_HELD_DURATION</Value> <Number>0.0</Number> </Greater> </Test> <True> <MOMENTARY_CONDITION> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_MinReleaseTime) (E:SIMULATION TIME, seconds) &gt; </MOMENTARY_CONDITION> <UPDATE_RELEASE_CODE> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_LeftLeaveToRun) if{ #LEFT_LEAVE_CODE# 0 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_LeftLeaveToRun) } </UPDATE_RELEASE_CODE> <LEFT_LEAVE_CODE_MOMENTARY> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_MinReleaseTime) (E:SIMULATION TIME, seconds) &lt; if{ #LEFT_LEAVE_CODE# } els{ 1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_LeftLeaveToRun) } </LEFT_LEAVE_CODE_MOMENTARY> </True> <False> <MOMENTARY_CONDITION>0</MOMENTARY_CONDITION> <UPDATE_RELEASE_CODE></UPDATE_RELEASE_CODE> <LEFT_LEAVE_CODE_MOMENTARY> #LEFT_LEAVE_CODE# </LEFT_LEAVE_CODE_MOMENTARY> </False> </Condition> </False> </Condition> </OverrideTemplateParameters> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <True> <Condition Valid="USE_MIN_HELD_DURATION"> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_CODE> (O:_DelayedReleaseTime) 0 &gt; if{ (E:ABSOLUTE TIME, second) (O:_DelayedReleaseTime) &gt; if{ (O:_Is_Held) ! if{ #LEFT_LEAVE_CODE_DELAYED# } 0 (&gt;O:_DelayedReleaseTime) } } </UPDATE_CODE> <FREQUENCY>5</FREQUENCY> </UseTemplate> </Condition> </True> <False> <Update Frequency = "10"> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 &gt; (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) 0 &gt; or if{ (O:AnimGoingForward) #MOMENTARY_CONDITION# or if{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0.1 #ANIM_DURATION# / + 1 min (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 1 == if{ 0 (&gt;O:AnimGoingForward) } } els{ #UPDATE_RELEASE_CODE# (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0.1 #ANIM_DURATION# / - (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) max (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) } } </Update> <UseTemplate Name = "ASOBO_GT_Anim_Code"> <Condition Check="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>#ANIM_LENGTH# (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) *</ANIM_CODE> </False> </Condition> </UseTemplate> </False> </Condition> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> </UseTemplate> <UseTemplate Name = "ASOBO_GT_Interaction_LeftSingle_Leave_Code"> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <False> <LEFT_SINGLE_CODE> 1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) (E:SIMULATION TIME, seconds) #MIN_HELD_DURATION# + (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_MinReleaseTime) 1 (&gt;O:AnimGoingForward) #LEFT_SINGLE_CODE# </LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE> 0 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) #LEFT_LEAVE_CODE_MOMENTARY# </LEFT_LEAVE_CODE> </False> </Condition> </UseTemplate> <Condition NotEmpty="EMISSIVE_CODE"> <UseTemplate Name = "ASOBO_GT_Emissive_Gauge"> <Condition Valid="NO_EMISSIVE_ON_HELD"> <False> <EMISSIVE_CODE> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) #EMISSIVE_CODE# or </EMISSIVE_CODE> </False> </Condition> </UseTemplate> </Condition> </Template> <!-- Push button, with action when first pressed, and another when released. Required parameter: LEFT_SINGLE_CODE LEFT_LEAVE_CODE --> <Template Name = "ASOBO_GT_Push_Button_Held_Simple"> <DefaultTemplateParameters> <ANIM_LENGTH>100</ANIM_LENGTH> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> </DefaultTemplateParameters> <UseTemplate Name = "ASOBO_GT_Anim"> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> </UseTemplate> <UseTemplate Name = "ASOBO_GT_Interaction_LeftSingle_Leave_Code"> </UseTemplate> </Template> <Template Name="ASOBO_GT_Push_Button_Dummy_Emissive"> <DefaultTemplateParameters> <BUTTON_STATE_TYPE>O</BUTTON_STATE_TYPE> <BUTTON_STATE_VAR>_ButtonVar</BUTTON_STATE_VAR> <LEFT_SINGLE_CODE></LEFT_SINGLE_CODE> </DefaultTemplateParameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Push_Button"> <LEFT_SINGLE_CODE> #LEFT_SINGLE_CODE# (#BUTTON_STATE_TYPE#:#BUTTON_STATE_VAR#) ! (&gt;#BUTTON_STATE_TYPE#:#BUTTON_STATE_VAR#)</LEFT_SINGLE_CODE> </UseTemplate> </Component> <Component ID="#OFF_NODE_ID#" Node="#OFF_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(#BUTTON_STATE_TYPE#:#BUTTON_STATE_VAR#)</EMISSIVE_CODE> </UseTemplate> </Component> <Condition Check="FAULT_INDICATOR"> <Component ID="#FAULT_NODE_ID#" Node="#FAULT_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>0</EMISSIVE_CODE> </UseTemplate> </Component> </Condition> </Template> <!-- Airliner Dummy button --> <Template Name="ASOBO_GT_Push_Button_Airliner_Dummy"> <DefaultTemplateParameters> <Condition Check="POTENTIOMETER_SEQ1"> <True> <SEQ1_EMISSIVE_CODE>1</SEQ1_EMISSIVE_CODE> </True> <False> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> </False> </Condition> <Condition Check="POTENTIOMETER_SEQ2"> <True> <SEQ2_EMISSIVE_CODE>1</SEQ2_EMISSIVE_CODE> </True> <False> <SEQ2_EMISSIVE_CODE>0</SEQ2_EMISSIVE_CODE> </False> </Condition> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"> <DUMMY_BUTTON/> </UseTemplate> </Template> </ModelBehaviors>

Templates

Template list
  • ASOBO_GT_Push_Button

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button"> <DefaultTemplateParameters> <ANIM_LENGTH>100</ANIM_LENGTH> <ANIM_DURATION>0.5</ANIM_DURATION> <SWITCH_POSITION_TYPE>O</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>_ButtonAnimVar</SWITCH_POSITION_VAR> <Condition Valid="LEFT_SINGLE_CODE_REPEAT_FREQUENCY"> <True> <LEFT_LEAVE_CODE>0</LEFT_LEAVE_CODE> </True> </Condition> <Condition Check="LEFT_SINGLE_CODE_DRAG_IM"> <False> <NO_PREEXISTING_DRAG_IM_DEFINITION/> </False> </Condition> <Condition Check="LEFT_SINGLE_CODE"> <True> <LEFT_SINGLE_CODE_DEFAULT_IM>#LEFT_SINGLE_CODE#</LEFT_SINGLE_CODE_DEFAULT_IM> <LEFT_SINGLE_CODE_DRAG_IM>#LEFT_SINGLE_CODE#</LEFT_SINGLE_CODE_DRAG_IM> </True> <False> <LEFT_SINGLE_CODE_DEFAULT_IM/> <LEFT_SINGLE_CODE_DRAG_IM/> </False> </Condition> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> </DefaultTemplateParameters> <Update Frequency="10"> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 &gt; (O:ForcePush) 0 &gt; or if{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0.1 #ANIM_DURATION# / - (O:ForcePush) max (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) } </Update> <UseTemplate Name="ASOBO_GT_Anim_Code"> <Condition Valid="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>#ANIM_LENGTH# (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) *</ANIM_CODE> </False> </Condition> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"/> <Condition Check="LEFT_LEAVE_CODE"> <True> <Condition Valid="LEFT_SINGLE_CODE_REPEAT_FREQUENCY"> <True> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>#LEFT_SINGLE_CODE_REPEAT_FREQUENCY#</FREQUENCY> <UPDATE_CODE>(O:ForcePush) if{ #LEFT_SINGLE_CODE# }</UPDATE_CODE> </UseTemplate> </True> </Condition> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_Leave_Code"> <LEFT_SINGLE_CODE>1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #LEFT_SINGLE_CODE# 1 (&gt;O:ForcePush)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>0 (&gt;O:ForcePush) #LEFT_LEAVE_CODE#</LEFT_LEAVE_CODE> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_Code"> <LEFT_SINGLE_CODE_DEFAULT_IM> 1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #LEFT_SINGLE_CODE_DEFAULT_IM# </LEFT_SINGLE_CODE_DEFAULT_IM> <Condition Check="NO_PREEXISTING_DRAG_IM_DEFINITION"> <LEFT_SINGLE_CODE_DRAG_IM> 1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) #LEFT_SINGLE_CODE_DRAG_IM# </LEFT_SINGLE_CODE_DRAG_IM> </Condition> </UseTemplate> </False> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH
      • ANIM_DURATION
      • SWITCH_POSITION_TYPE
      • SWITCH_POSITION_VAR
      • DISABLE_INTERACTION_LOCK

      Condition: Valid(LEFT_SINGLE_CODE_REPEAT_FREQUENCY)

      • Case: True

        Parameters set:

        • LEFT_LEAVE_CODE

      Condition: Check(LEFT_SINGLE_CODE_DRAG_IM)

      • Case: False

        Parameters set:

        • NO_PREEXISTING_DRAG_IM_DEFINITION

      Condition: Check(LEFT_SINGLE_CODE)

      • Case: True

        Parameters set:

        • LEFT_SINGLE_CODE_DEFAULT_IM (using LEFT_SINGLE_CODE)
        • LEFT_SINGLE_CODE_DRAG_IM (using LEFT_SINGLE_CODE)
      • Case: False

        Parameters set:

        • LEFT_SINGLE_CODE_DEFAULT_IM
        • LEFT_SINGLE_CODE_DRAG_IM

    Parameters read:

    • SWITCH_POSITION_TYPE
    • SWITCH_POSITION_VAR
    • ANIM_DURATION

    Templates used:

    Condition: Check(LEFT_LEAVE_CODE)

    • Case: True

      Templates used:

      Condition: Valid(LEFT_SINGLE_CODE_REPEAT_FREQUENCY)

      • Case: True

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • FREQUENCY (using LEFT_SINGLE_CODE_REPEAT_FREQUENCY)
          • UPDATE_CODE (using LEFT_SINGLE_CODE)
    • Case: False

      Templates used:

      • ASOBO_GT_Interaction_LeftSingle_Code

        Parameters set:

        • LEFT_SINGLE_CODE_DEFAULT_IM (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, LEFT_SINGLE_CODE_DEFAULT_IM)

        Condition: Check(NO_PREEXISTING_DRAG_IM_DEFINITION)

        • Case: True

          Parameters set:

          • LEFT_SINGLE_CODE_DRAG_IM (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, LEFT_SINGLE_CODE_DRAG_IM)
  • ASOBO_GT_Push_Button_Airliner

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button_Airliner"> <DefaultTemplateParameters> <SEQ1_SUFFIX>_SEQ1</SEQ1_SUFFIX> <SEQ2_SUFFIX>_SEQ2</SEQ2_SUFFIX> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner_SubTemplate"/> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • SEQ1_SUFFIX
      • SEQ2_SUFFIX

    Templates used:

  • ASOBO_GT_Push_Button_Airliner_SubTemplate

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button_Airliner_SubTemplate"> <Parameters Type="Default"> <Condition Check="POTENTIOMETER"> <True> <POTENTIOMETER_SEQ1>#POTENTIOMETER#</POTENTIOMETER_SEQ1> <POTENTIOMETER_SEQ2>#POTENTIOMETER#</POTENTIOMETER_SEQ2> </True> </Condition> <Condition Check="SIMVAR_POWER_SETTING"> <True> <SIMVAR_POWER_SETTING_SEQ1>#SIMVAR_POWER_SETTING#</SIMVAR_POWER_SETTING_SEQ1> <SIMVAR_POWER_SETTING_SEQ2>#SIMVAR_POWER_SETTING#</SIMVAR_POWER_SETTING_SEQ2> </True> </Condition> <SEQ1_EMISSIVE_CODE>1</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>1</SEQ2_EMISSIVE_CODE> <SEQ1_NODE_ID>#NODE_ID##SEQ1_SUFFIX#</SEQ1_NODE_ID> <SEQ2_NODE_ID>#NODE_ID##SEQ2_SUFFIX#</SEQ2_NODE_ID> <Condition Check="ONLY_SEQ1"> <NO_SEQ2/> </Condition> <Condition Check="ONLY_SEQ2"> <NO_SEQ1/> </Condition> <SEQ1_EMISSIVE_DRIVES_VISIBILITY>True</SEQ1_EMISSIVE_DRIVES_VISIBILITY> <SEQ2_EMISSIVE_DRIVES_VISIBILITY>True</SEQ2_EMISSIVE_DRIVES_VISIBILITY> <SEQ1_CODE_DRIVES_VISIBILITY>False</SEQ1_CODE_DRIVES_VISIBILITY> <SEQ2_CODE_DRIVES_VISIBILITY>False</SEQ2_CODE_DRIVES_VISIBILITY> <Condition Check="NOT_DIMMABLE"> <True> <SEQ1_NOT_DIMMABLE>#NOT_DIMMABLE#</SEQ1_NOT_DIMMABLE> <SEQ2_NOT_DIMMABLE>#NOT_DIMMABLE#</SEQ2_NOT_DIMMABLE> </True> <False> <SEQ1_NOT_DIMMABLE>False</SEQ1_NOT_DIMMABLE> <SEQ2_NOT_DIMMABLE>False</SEQ2_NOT_DIMMABLE> </False> </Condition> <IS_SWITCH>False</IS_SWITCH> </Parameters> <Parameters Type="Default"> <Condition Check="COVER_NODE_ID"> <COVER_INIT_VALUE>0</COVER_INIT_VALUE> <COVER_IE_NAME>#NODE_ID#_Cover</COVER_IE_NAME> <Condition NotEmpty="INPUT_EVENT_ID"> <True> <COVER_IE_ID_SOURCE>#INPUT_EVENT_ID#</COVER_IE_ID_SOURCE> </True> <False> <COVER_IE_ID_SOURCE>COMMON</COVER_IE_ID_SOURCE> </False> </Condition> <COVER_USE_INPUT_EVENT>COMMON</COVER_USE_INPUT_EVENT> <COVER_INVERT_SWITCH_ON_CONDITION>False</COVER_INVERT_SWITCH_ON_CONDITION> <COVER_INVERT_WHEEL_INTERACTION>False</COVER_INVERT_WHEEL_INTERACTION> <TT_DESCRIPTION_ID_COVER>@TT_Package.COMMON_COVER_ACTION</TT_DESCRIPTION_ID_COVER> <TOOLTIP_TITLE_COVER>@TT_Package.COMMON_COVER_TITLE</TOOLTIP_TITLE_COVER> <ON_COVER_OPENED/> <ON_COVER_CLOSED/> <TT_ICON_COVER>MOVE_Y</TT_ICON_COVER> <NO_INTERACTION_WHEN_COVERED>True</NO_INTERACTION_WHEN_COVERED> </Condition> </Parameters> <Parameters Type="Default"> <Condition Check="COVER_NODE_ID"> <IS_COVER_OPENED>(B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#, Bool)</IS_COVER_OPENED> <COVER_VAR_NAME>#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Position</COVER_VAR_NAME> <COVER_VAR_TYPE>O</COVER_VAR_TYPE> <WWISE_COVER_EVENT_OPEN>cover_open</WWISE_COVER_EVENT_OPEN> <WWISE_COVER_EVENT_CLOSE>cover_close</WWISE_COVER_EVENT_CLOSE> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="DOWN_STATE_CODE"> <False> <Condition Valid="SEQ1_CODE_DRIVES_DOWN_STATE"> <True> <DOWN_STATE_CODE>#SEQ1_EMISSIVE_CODE#</DOWN_STATE_CODE> </True> </Condition> <Condition Valid="SEQ2_CODE_DRIVES_DOWN_STATE"> <True> <DOWN_STATE_CODE>#SEQ2_EMISSIVE_CODE#</DOWN_STATE_CODE> </True> </Condition> </False> </Condition> </Parameters> <EditableTemplateParameters> <AddParams> <SEQ1_NODE_ID/> <SEQ2_NODE_ID/> </AddParams> </EditableTemplateParameters> <Condition Check="DUMMY_BUTTON"> <False> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <Switch> <Case Valid="HAS_LONG_PRESS"> <PUSH_TEMPLATE_TO_USE>ASOBO_GT_Push_Button_Timed</PUSH_TEMPLATE_TO_USE> </Case> <Default> <PUSH_TEMPLATE_TO_USE>ASOBO_GT_Push_Button</PUSH_TEMPLATE_TO_USE> </Default> </Switch> </Parameters> <Parameters Type="Override"> <Condition Check="COVER_NODE_ID"> <True> <LEFT_SINGLE_CODE>(B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#, Bool) if{ #LEFT_SINGLE_CODE# }</LEFT_SINGLE_CODE> </True> </Condition> </Parameters> <Condition Check="INPUT_EVENT_ID"> <UseInputEvent ID="#INPUT_EVENT_ID#"/> </Condition> <Condition Check="DOWN_STATE_CODE"> <True> <UseTemplate Name="ASOBO_GT_Switch_Code"> <ANIM_CODE>#DOWN_STATE_CODE# 100 *</ANIM_CODE> </UseTemplate> </True> <False> <UseTemplate Name="#PUSH_TEMPLATE_TO_USE#"/> </False> </Condition> </Component> <Condition Check="COVER_NODE_ID"> <True> <Component ID="#COVER_NODE_ID#" Node="#COVER_NODE_ID#"> <Parameters Type="Override"> <Condition NotEmpty="INVERT_COVER_ANIM"> <INVERT_ANIM>#INVERT_COVER_ANIM#</INVERT_ANIM> </Condition> <INVERT_SWITCH_ON_CONDITION>#COVER_INVERT_SWITCH_ON_CONDITION#</INVERT_SWITCH_ON_CONDITION> <INVERT_WHEEL_INTERACTION>#COVER_INVERT_WHEEL_INTERACTION#</INVERT_WHEEL_INTERACTION> <ON_STATE_CHANGED_EXTERNAL_CODE/> </Parameters> <Condition NotEmpty="OPEN_COVER_CONDITION"> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>5</FREQUENCY> <UPDATE_CODE>#OPEN_COVER_CONDITION# != if{ (&gt;B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Open) }</UPDATE_CODE> </UseTemplate> </Condition> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#COVER_INIT_VALUE# (&gt;B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Set)</UPDATE_CODE> </UseTemplate> <UseInputEvent ID="#COVER_USE_INPUT_EVENT#"> <BTN_ID>#COVER_IE_NAME#</BTN_ID> <INPUT_EVENT_ID_SOURCE>#COVER_IE_ID_SOURCE#</INPUT_EVENT_ID_SOURCE> <TT_ICON>#TT_ICON_COVER#</TT_ICON> <Condition Check="NUM_STATES" Match="3"> <True> <SET_STATE_1>1 (&gt;#COVER_VAR_TYPE#:#COVER_VAR_NAME#) #ON_COVER_OPENED#</SET_STATE_1> <SET_STATE_0>0 (&gt;#COVER_VAR_TYPE#:#COVER_VAR_NAME#) #ON_COVER_CLOSED#</SET_STATE_0> <SET_STATE_2/> </True> <False> <SET_STATE_ON>1 (&gt;#COVER_VAR_TYPE#:#COVER_VAR_NAME#) #ON_COVER_OPENED#</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;#COVER_VAR_TYPE#:#COVER_VAR_NAME#) #ON_COVER_CLOSED#</SET_STATE_OFF> </False> </Condition> <ON_BEFORE_INC_CODE/> <ON_BEFORE_DEC_CODE/> <ON_BEFORE_SET_CODE/> <ON_AFTER_INC_CODE/> <ON_AFTER_DEC_CODE/> <ON_AFTER_SET_CODE/> <GET_STATE_EXTERNAL>(#COVER_VAR_TYPE#:#COVER_VAR_NAME#) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_COVER#</TT_DESCRIPTION_ID> <STR_STATE_OFF>Close</STR_STATE_OFF> <STR_STATE_ON>Open</STR_STATE_ON> <TT_VALUE_OFF>@TT_Closed</TT_VALUE_OFF> <TT_VALUE_ON>@TT_Open</TT_VALUE_ON> <NUM_STATES>2</NUM_STATES> <SIMVAR_TO_WATCH_0/> <LOCAL_VAR_TO_WATCH_0/> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <TOOLTIP_TITLE>#TOOLTIP_TITLE_COVER#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#</TOOLTIP_ENTRY_0> <ANIM_NAME>#COVER_ANIM_NAME#</ANIM_NAME> <ANIM_CODE>#IS_COVER_OPENED# 100 *</ANIM_CODE> <LEFT_SINGLE_CODE>(&gt;B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Toggle)</LEFT_SINGLE_CODE> <WWISE_EVENT_1>#WWISE_COVER_EVENT_OPEN#</WWISE_EVENT_1> <WWISE_EVENT_2>#WWISE_COVER_EVENT_CLOSE#</WWISE_EVENT_2> <Condition NotEmpty="COVER_PART_ID"> <PART_ID>#COVER_PART_ID#</PART_ID> </Condition> <Condition NotEmpty="COVER_HIGHLIGHT_NODE_ID"> <HIGHLIGHT_NODE_ID>#COVER_HIGHLIGHT_NODE_ID#</HIGHLIGHT_NODE_ID> </Condition> </UseTemplate> </Component> </True> </Condition> </False> <True> <Condition Valid="IS_INOP"> <True> <UseTemplate Name="ASOBO_GT_Interaction_Tooltip"> <Condition> <Test> <And> <Arg Check="DOWN_STATE_CODE"/> <Arg Check="ANIM_NAME"/> </And> </Test> <True> <ANIM_POS>#DOWN_STATE_CODE# 100 *</ANIM_POS> </True> </Condition> </UseTemplate> </True> </Condition> </True> </Condition> <Condition Check="NO_SEQ1"> <False> <Component ID="#SEQ1_NODE_ID#_S1" Node="#SEQ1_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <Condition NotEmpty="SEQ1_FAILURE"> <FAILURE>#SEQ1_FAILURE#</FAILURE> </Condition> <Switch> <Case Valid="SEQ1_NOT_DIMMABLE"> <EMISSIVE_CODE>#SEQ1_EMISSIVE_CODE#</EMISSIVE_CODE> </Case> <Case NotEmpty="POTENTIOMETER_SEQ1"> <EMISSIVE_CODE>#SEQ1_EMISSIVE_CODE# (A:LIGHT POTENTIOMETER:#POTENTIOMETER_SEQ1#, Percent over 100) *</EMISSIVE_CODE> </Case> <Case NotEmpty="SIMVAR_POWER_SETTING_SEQ1"> <EMISSIVE_CODE>#SEQ1_EMISSIVE_CODE# (A:#SIMVAR_POWER_SETTING_SEQ1#, Percent over 100) *</EMISSIVE_CODE> </Case> <Default> <EMISSIVE_CODE>#SEQ1_EMISSIVE_CODE#</EMISSIVE_CODE> </Default> </Switch> <Condition Valid="SEQ1_EMISSIVE_DRIVES_VISIBILITY"> <True> <EMISSIVE_DRIVES_VISIBILITY>True</EMISSIVE_DRIVES_VISIBILITY> </True> </Condition> </UseTemplate> <Condition Valid="SEQ1_CODE_DRIVES_VISIBILITY"> <True> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>#SEQ1_EMISSIVE_CODE# 0 &gt;</VISIBILITY_CODE> </UseTemplate> </True> </Condition> </Component> </False> </Condition> <Condition Check="NO_SEQ2"> <False> <Component ID="#SEQ2_NODE_ID#_S2" Node="#SEQ2_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <Condition NotEmpty="SEQ2_FAILURE"> <FAILURE>#SEQ2_FAILURE#</FAILURE> </Condition> <Switch> <Case Valid="SEQ2_NOT_DIMMABLE"> <EMISSIVE_CODE>#SEQ2_EMISSIVE_CODE#</EMISSIVE_CODE> </Case> <Case NotEmpty="POTENTIOMETER_SEQ2"> <EMISSIVE_CODE>#SEQ2_EMISSIVE_CODE# (A:LIGHT POTENTIOMETER:#POTENTIOMETER_SEQ2#, Percent over 100) *</EMISSIVE_CODE> </Case> <Case NotEmpty="SIMVAR_POWER_SETTING_SEQ2"> <EMISSIVE_CODE>#SEQ2_EMISSIVE_CODE# (A:#SIMVAR_POWER_SETTING_SEQ2#, Percent over 100) *</EMISSIVE_CODE> </Case> <Default> <EMISSIVE_CODE>#SEQ2_EMISSIVE_CODE#</EMISSIVE_CODE> </Default> </Switch> <Condition Valid="SEQ2_EMISSIVE_DRIVES_VISIBILITY"> <True> <EMISSIVE_DRIVES_VISIBILITY>True</EMISSIVE_DRIVES_VISIBILITY> </True> </Condition> </UseTemplate> <Condition Valid="SEQ2_CODE_DRIVES_VISIBILITY"> <True> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>#SEQ2_EMISSIVE_CODE# 0 &gt;</VISIBILITY_CODE> </UseTemplate> </True> </Condition> </Component> </False> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • SEQ1_EMISSIVE_CODE
      • SEQ2_EMISSIVE_CODE
      • SEQ1_NODE_ID (using NODE_ID, SEQ1_SUFFIX)
      • SEQ2_NODE_ID (using NODE_ID, SEQ2_SUFFIX)
      • SEQ1_EMISSIVE_DRIVES_VISIBILITY
      • SEQ2_EMISSIVE_DRIVES_VISIBILITY
      • SEQ1_CODE_DRIVES_VISIBILITY
      • SEQ2_CODE_DRIVES_VISIBILITY
      • IS_SWITCH

      Condition: Check(POTENTIOMETER)

      • Case: True

        Parameters set:

        • POTENTIOMETER_SEQ1 (using POTENTIOMETER)
        • POTENTIOMETER_SEQ2 (using POTENTIOMETER)

      Condition: Check(SIMVAR_POWER_SETTING)

      • Case: True

        Parameters set:

        • SIMVAR_POWER_SETTING_SEQ1 (using SIMVAR_POWER_SETTING)
        • SIMVAR_POWER_SETTING_SEQ2 (using SIMVAR_POWER_SETTING)

      Condition: Check(ONLY_SEQ1)

      • Case: True

        Parameters set:

        • NO_SEQ2

      Condition: Check(ONLY_SEQ2)

      • Case: True

        Parameters set:

        • NO_SEQ1

      Condition: Check(NOT_DIMMABLE)

      • Case: True

        Parameters set:

        • SEQ1_NOT_DIMMABLE (using NOT_DIMMABLE)
        • SEQ2_NOT_DIMMABLE (using NOT_DIMMABLE)
      • Case: False

        Parameters set:

        • SEQ1_NOT_DIMMABLE
        • SEQ2_NOT_DIMMABLE
    • Default

      Condition: Check(COVER_NODE_ID)

      • Case: True

        Parameters set:

        • COVER_INIT_VALUE
        • COVER_IE_NAME (using NODE_ID)
        • COVER_USE_INPUT_EVENT
        • COVER_INVERT_SWITCH_ON_CONDITION
        • COVER_INVERT_WHEEL_INTERACTION
        • TT_DESCRIPTION_ID_COVER
        • TOOLTIP_TITLE_COVER
        • ON_COVER_OPENED
        • ON_COVER_CLOSED
        • TT_ICON_COVER
        • NO_INTERACTION_WHEN_COVERED

        Condition: NotEmpty(INPUT_EVENT_ID)

        • Case: True

          Parameters set:

          • COVER_IE_ID_SOURCE (using INPUT_EVENT_ID)
        • Case: False

          Parameters set:

          • COVER_IE_ID_SOURCE
    • Default

      Condition: Check(COVER_NODE_ID)

      • Case: True

        Parameters set:

        • IS_COVER_OPENED (using COVER_IE_ID_SOURCE, COVER_IE_NAME)
        • COVER_VAR_NAME (using COVER_IE_ID_SOURCE, COVER_IE_NAME)
        • COVER_VAR_TYPE
        • WWISE_COVER_EVENT_OPEN
        • WWISE_COVER_EVENT_CLOSE
    • Override

      Condition: Check(DOWN_STATE_CODE)

      • Case: False

        Condition: Valid(SEQ1_CODE_DRIVES_DOWN_STATE)

        • Case: True

          Parameters set:

          • DOWN_STATE_CODE (using SEQ1_EMISSIVE_CODE)

        Condition: Valid(SEQ2_CODE_DRIVES_DOWN_STATE)

        • Case: True

          Parameters set:

          • DOWN_STATE_CODE (using SEQ2_EMISSIVE_CODE)

    Condition: Check(DUMMY_BUTTON)

    • Case: False

      Parameters read:

      • NODE_ID

      Components:

      • #NODE_ID# (Node: #NODE_ID#)

        Condition: Switch

        • Case: Valid(HAS_LONG_PRESS)

          Parameters set:

          • PUSH_TEMPLATE_TO_USE
        • Default case:

          Parameters set:

          • PUSH_TEMPLATE_TO_USE

        Condition: Check(COVER_NODE_ID)

        • Case: True

          Parameters set:

          • LEFT_SINGLE_CODE (using COVER_IE_ID_SOURCE, COVER_IE_NAME, LEFT_SINGLE_CODE)

        Condition: Check(INPUT_EVENT_ID)

        • Case: True

          Parameters read:

          • INPUT_EVENT_ID

        Condition: Check(DOWN_STATE_CODE)

      Condition: Check(COVER_NODE_ID)

      • Case: True

        Parameters read:

        • COVER_NODE_ID

        Components:

        • #COVER_NODE_ID# (Node: #COVER_NODE_ID#)

          Parameters read:

          • COVER_USE_INPUT_EVENT

          Parameters set:

          • INVERT_SWITCH_ON_CONDITION (using COVER_INVERT_SWITCH_ON_CONDITION)
          • INVERT_WHEEL_INTERACTION (using COVER_INVERT_WHEEL_INTERACTION)
          • ON_STATE_CHANGED_EXTERNAL_CODE
          • BTN_ID (using COVER_IE_NAME)
          • INPUT_EVENT_ID_SOURCE (using COVER_IE_ID_SOURCE)
          • TT_ICON (using TT_ICON_COVER)
          • ON_BEFORE_INC_CODE
          • ON_BEFORE_DEC_CODE
          • ON_BEFORE_SET_CODE
          • ON_AFTER_INC_CODE
          • ON_AFTER_DEC_CODE
          • ON_AFTER_SET_CODE
          • GET_STATE_EXTERNAL (using COVER_VAR_TYPE, COVER_VAR_NAME)
          • SIM_STATE_IS_ON_EXTERNAL
          • TT_DESCRIPTION_ID (using TT_DESCRIPTION_ID_COVER)
          • STR_STATE_OFF
          • STR_STATE_ON
          • TT_VALUE_OFF
          • TT_VALUE_ON
          • NUM_STATES
          • SIMVAR_TO_WATCH_0
          • LOCAL_VAR_TO_WATCH_0

          Templates used:

          • ASOBO_GT_Update

            Parameters set:

            • UPDATE_ONCE
            • UPDATE_CODE (using COVER_INIT_VALUE, COVER_IE_ID_SOURCE, COVER_IE_NAME)
          • ASOBO_GT_Switch_Code

            Parameters set:

            • TOOLTIP_TITLE (using TOOLTIP_TITLE_COVER)
            • TOOLTIP_ENTRY_0 (using COVER_IE_ID_SOURCE, COVER_IE_NAME)
            • ANIM_NAME (using COVER_ANIM_NAME)
            • ANIM_CODE (using IS_COVER_OPENED)
            • LEFT_SINGLE_CODE (using COVER_IE_ID_SOURCE, COVER_IE_NAME)
            • WWISE_EVENT_1 (using WWISE_COVER_EVENT_OPEN)
            • WWISE_EVENT_2 (using WWISE_COVER_EVENT_CLOSE)

            Condition: NotEmpty(COVER_PART_ID)

            • Case: True

              Parameters set:

              • PART_ID (using COVER_PART_ID)

            Condition: NotEmpty(COVER_HIGHLIGHT_NODE_ID)

            • Case: True

              Parameters set:

              • HIGHLIGHT_NODE_ID (using COVER_HIGHLIGHT_NODE_ID)

          Condition: NotEmpty(INVERT_COVER_ANIM)

          • Case: True

            Parameters set:

            • INVERT_ANIM (using INVERT_COVER_ANIM)

          Condition: NotEmpty(OPEN_COVER_CONDITION)

          • Case: True

            Templates used:

            • ASOBO_GT_Update

              Parameters set:

              • FREQUENCY
              • UPDATE_CODE (using OPEN_COVER_CONDITION, COVER_IE_ID_SOURCE, COVER_IE_NAME)

          Condition: Check(NUM_STATES)

          • Case: True

            Parameters set:

            • SET_STATE_1 (using COVER_VAR_TYPE, COVER_VAR_NAME, ON_COVER_OPENED)
            • SET_STATE_0 (using COVER_VAR_TYPE, COVER_VAR_NAME, ON_COVER_CLOSED)
            • SET_STATE_2
          • Case: False

            Parameters set:

            • SET_STATE_ON (using COVER_VAR_TYPE, COVER_VAR_NAME, ON_COVER_OPENED)
            • SET_STATE_OFF (using COVER_VAR_TYPE, COVER_VAR_NAME, ON_COVER_CLOSED)
    • Case: True

      Condition: Valid(IS_INOP)

      • Case: True

        Templates used:

    Condition: Check(NO_SEQ1)

    • Case: False

      Parameters read:

      • SEQ1_NODE_ID

      Components:

      • #SEQ1_NODE_ID#_S1 (Node: #SEQ1_NODE_ID#)

        Templates used:

        • ASOBO_GT_Emissive_Gauge

          Condition: NotEmpty(SEQ1_FAILURE)

          • Case: True

            Parameters set:

            • FAILURE (using SEQ1_FAILURE)

          Condition: Switch

          • Case: Valid(SEQ1_NOT_DIMMABLE)

            Parameters set:

            • EMISSIVE_CODE (using SEQ1_EMISSIVE_CODE)
          • Case: NotEmpty(POTENTIOMETER_SEQ1)

            Parameters set:

            • EMISSIVE_CODE (using SEQ1_EMISSIVE_CODE, POTENTIOMETER_SEQ1)
          • Case: NotEmpty(SIMVAR_POWER_SETTING_SEQ1)

            Parameters set:

            • EMISSIVE_CODE (using SEQ1_EMISSIVE_CODE, SIMVAR_POWER_SETTING_SEQ1)
          • Default case:

            Parameters set:

            • EMISSIVE_CODE (using SEQ1_EMISSIVE_CODE)

          Condition: Valid(SEQ1_EMISSIVE_DRIVES_VISIBILITY)

          • Case: True

            Parameters set:

            • EMISSIVE_DRIVES_VISIBILITY

        Condition: Valid(SEQ1_CODE_DRIVES_VISIBILITY)

    Condition: Check(NO_SEQ2)

    • Case: False

      Parameters read:

      • SEQ2_NODE_ID

      Components:

      • #SEQ2_NODE_ID#_S2 (Node: #SEQ2_NODE_ID#)

        Templates used:

        • ASOBO_GT_Emissive_Gauge

          Condition: NotEmpty(SEQ2_FAILURE)

          • Case: True

            Parameters set:

            • FAILURE (using SEQ2_FAILURE)

          Condition: Switch

          • Case: Valid(SEQ2_NOT_DIMMABLE)

            Parameters set:

            • EMISSIVE_CODE (using SEQ2_EMISSIVE_CODE)
          • Case: NotEmpty(POTENTIOMETER_SEQ2)

            Parameters set:

            • EMISSIVE_CODE (using SEQ2_EMISSIVE_CODE, POTENTIOMETER_SEQ2)
          • Case: NotEmpty(SIMVAR_POWER_SETTING_SEQ2)

            Parameters set:

            • EMISSIVE_CODE (using SEQ2_EMISSIVE_CODE, SIMVAR_POWER_SETTING_SEQ2)
          • Default case:

            Parameters set:

            • EMISSIVE_CODE (using SEQ2_EMISSIVE_CODE)

          Condition: Valid(SEQ2_EMISSIVE_DRIVES_VISIBILITY)

          • Case: True

            Parameters set:

            • EMISSIVE_DRIVES_VISIBILITY

        Condition: Valid(SEQ2_CODE_DRIVES_VISIBILITY)

  • ASOBO_GT_Push_Button_Emissive

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button_Emissive"> <UseTemplate Name="ASOBO_GT_Push_Button"/> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"/> </Template>
  • ASOBO_GT_Push_Button_Timed

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button_Timed"> <DefaultTemplateParameters> <ANIM_LENGTH>100</ANIM_LENGTH> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> <ANIM_CODE>(O:_ButtonAnimVar)</ANIM_CODE> </DefaultTemplateParameters> <Update Frequency="10"> (O:_PressTime) 0 &gt; if{ #ANIM_LENGTH# (&gt;O:_ButtonAnimVar) } els{ (O:_ButtonAnimVar) #ANIM_LENGTH# 0.7 * - 0 max (&gt;O:_ButtonAnimVar) } </Update> <UseTemplate Name="ASOBO_GT_Anim_Code"/> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"/> <UseTemplate Name="ASOBO_GT_Interaction_Left_Timed_Code"/> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH
      • LEFT_SINGLE_CODE
      • LEFT_LEAVE_CODE
      • DISABLE_INTERACTION_LOCK
      • ANIM_CODE
  • ASOBO_GT_Push_Button_Held

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button_Held"> <DefaultTemplateParameters> <ANIM_LENGTH>100</ANIM_LENGTH> <SWITCH_POSITION_TYPE>O</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>_ButtonAnimVar</SWITCH_POSITION_VAR> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <ANIM_DURATION>0.3</ANIM_DURATION> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> <MIN_HELD_DURATION>0.0</MIN_HELD_DURATION> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <True> <Condition> <Test> <Greater> <Value>MIN_HELD_DURATION</Value> <Number>0.0</Number> </Greater> </Test> <True> <USE_MIN_HELD_DURATION>True</USE_MIN_HELD_DURATION> <LEFT_SINGLE_CODE>1 (&gt;O:_Is_Held) #LEFT_SINGLE_CODE# (E:ABSOLUTE TIME, second) #MIN_HELD_DURATION# + (&gt;O:_DelayedReleaseTime)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>0 (&gt;O:_Is_Held) (E:ABSOLUTE TIME, second) (O:_DelayedReleaseTime) &gt; if{ #LEFT_LEAVE_CODE# }</LEFT_LEAVE_CODE> <LEFT_LEAVE_CODE_DELAYED>#LEFT_LEAVE_CODE#</LEFT_LEAVE_CODE_DELAYED> </True> </Condition> </True> <False> <Condition> <Test> <Greater> <Value>MIN_HELD_DURATION</Value> <Number>0.0</Number> </Greater> </Test> <True> <MOMENTARY_CONDITION> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_MinReleaseTime) (E:SIMULATION TIME, seconds) &gt; </MOMENTARY_CONDITION> <UPDATE_RELEASE_CODE> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_LeftLeaveToRun) if{ #LEFT_LEAVE_CODE# 0 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_LeftLeaveToRun) } </UPDATE_RELEASE_CODE> <LEFT_LEAVE_CODE_MOMENTARY> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_MinReleaseTime) (E:SIMULATION TIME, seconds) &lt; if{ #LEFT_LEAVE_CODE# } els{ 1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_LeftLeaveToRun) } </LEFT_LEAVE_CODE_MOMENTARY> </True> <False> <MOMENTARY_CONDITION>0</MOMENTARY_CONDITION> <UPDATE_RELEASE_CODE/> <LEFT_LEAVE_CODE_MOMENTARY> #LEFT_LEAVE_CODE# </LEFT_LEAVE_CODE_MOMENTARY> </False> </Condition> </False> </Condition> </OverrideTemplateParameters> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <True> <Condition Valid="USE_MIN_HELD_DURATION"> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_CODE> (O:_DelayedReleaseTime) 0 &gt; if{ (E:ABSOLUTE TIME, second) (O:_DelayedReleaseTime) &gt; if{ (O:_Is_Held) ! if{ #LEFT_LEAVE_CODE_DELAYED# } 0 (&gt;O:_DelayedReleaseTime) } } </UPDATE_CODE> <FREQUENCY>5</FREQUENCY> </UseTemplate> </Condition> </True> <False> <Update Frequency="10"> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0 &gt; (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) 0 &gt; or if{ (O:AnimGoingForward) #MOMENTARY_CONDITION# or if{ (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0.1 #ANIM_DURATION# / + 1 min (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 1 == if{ 0 (&gt;O:AnimGoingForward) } } els{ #UPDATE_RELEASE_CODE# (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) 0.1 #ANIM_DURATION# / - (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) max (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) } } </Update> <UseTemplate Name="ASOBO_GT_Anim_Code"> <Condition Check="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>#ANIM_LENGTH# (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#) *</ANIM_CODE> </False> </Condition> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"/> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_Leave_Code"> <Condition Valid="ANIM_HANDLED_SEPARATELY"> <False> <LEFT_SINGLE_CODE> 1 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) (E:SIMULATION TIME, seconds) #MIN_HELD_DURATION# + (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_MinReleaseTime) 1 (&gt;O:AnimGoingForward) #LEFT_SINGLE_CODE# </LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE> 0 (&gt;#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) #LEFT_LEAVE_CODE_MOMENTARY# </LEFT_LEAVE_CODE> </False> </Condition> </UseTemplate> <Condition NotEmpty="EMISSIVE_CODE"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <Condition Valid="NO_EMISSIVE_ON_HELD"> <False> <EMISSIVE_CODE> (#SWITCH_POSITION_TYPE#:#SWITCH_POSITION_VAR#_IsDown) #EMISSIVE_CODE# or </EMISSIVE_CODE> </False> </Condition> </UseTemplate> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH
      • SWITCH_POSITION_TYPE
      • SWITCH_POSITION_VAR
      • LEFT_SINGLE_CODE
      • LEFT_LEAVE_CODE
      • ANIM_DURATION
      • DISABLE_INTERACTION_LOCK
      • MIN_HELD_DURATION
    • Override

      Condition: Valid(ANIM_HANDLED_SEPARATELY)

      • Case: True

        Condition: Test(MIN_HELD_DURATION)

        • Case: True

          Parameters set:

          • USE_MIN_HELD_DURATION
          • LEFT_SINGLE_CODE (using LEFT_SINGLE_CODE, MIN_HELD_DURATION)
          • LEFT_LEAVE_CODE (using LEFT_LEAVE_CODE)
          • LEFT_LEAVE_CODE_DELAYED (using LEFT_LEAVE_CODE)
      • Case: False

        Condition: Test(MIN_HELD_DURATION)

        • Case: True

          Parameters set:

          • MOMENTARY_CONDITION (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR)
          • UPDATE_RELEASE_CODE (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, LEFT_LEAVE_CODE)
          • LEFT_LEAVE_CODE_MOMENTARY (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, LEFT_LEAVE_CODE)
        • Case: False

          Parameters set:

          • MOMENTARY_CONDITION
          • UPDATE_RELEASE_CODE
          • LEFT_LEAVE_CODE_MOMENTARY (using LEFT_LEAVE_CODE)

    Templates used:

    Condition: Valid(ANIM_HANDLED_SEPARATELY)

    • Case: True

      Condition: Valid(USE_MIN_HELD_DURATION)

      • Case: True

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • UPDATE_CODE (using LEFT_LEAVE_CODE_DELAYED)
          • FREQUENCY
    • Case: False

      Parameters read:

      • SWITCH_POSITION_TYPE
      • SWITCH_POSITION_VAR
      • MOMENTARY_CONDITION
      • ANIM_DURATION
      • UPDATE_RELEASE_CODE

      Templates used:

      • ASOBO_GT_Anim_Code

        Condition: Check(OVERRIDE_ANIM_CODE)

        • Case: True

          Parameters set:

          • ANIM_CODE (using OVERRIDE_ANIM_CODE)
        • Case: False

          Parameters set:

          • ANIM_CODE (using ANIM_LENGTH, SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR)

    Condition: NotEmpty(EMISSIVE_CODE)

    • Case: True

      Templates used:

      • ASOBO_GT_Emissive_Gauge

        Condition: Valid(NO_EMISSIVE_ON_HELD)

        • Case: False

          Parameters set:

          • EMISSIVE_CODE (using SWITCH_POSITION_TYPE, SWITCH_POSITION_VAR, EMISSIVE_CODE)
  • ASOBO_GT_Push_Button_Held_Simple

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button_Held_Simple"> <DefaultTemplateParameters> <ANIM_LENGTH>100</ANIM_LENGTH> <LEFT_SINGLE_CODE/> <LEFT_LEAVE_CODE/> <DISABLE_INTERACTION_LOCK>True</DISABLE_INTERACTION_LOCK> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Anim"/> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"/> <UseTemplate Name="ASOBO_GT_Interaction_LeftSingle_Leave_Code"/> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_LENGTH
      • LEFT_SINGLE_CODE
      • LEFT_LEAVE_CODE
      • DISABLE_INTERACTION_LOCK
  • ASOBO_GT_Push_Button_Dummy_Emissive

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button_Dummy_Emissive"> <DefaultTemplateParameters> <BUTTON_STATE_TYPE>O</BUTTON_STATE_TYPE> <BUTTON_STATE_VAR>_ButtonVar</BUTTON_STATE_VAR> <LEFT_SINGLE_CODE/> </DefaultTemplateParameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Push_Button"> <LEFT_SINGLE_CODE> #LEFT_SINGLE_CODE# (#BUTTON_STATE_TYPE#:#BUTTON_STATE_VAR#) ! (&gt;#BUTTON_STATE_TYPE#:#BUTTON_STATE_VAR#)</LEFT_SINGLE_CODE> </UseTemplate> </Component> <Component ID="#OFF_NODE_ID#" Node="#OFF_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(#BUTTON_STATE_TYPE#:#BUTTON_STATE_VAR#)</EMISSIVE_CODE> </UseTemplate> </Component> <Condition Check="FAULT_INDICATOR"> <Component ID="#FAULT_NODE_ID#" Node="#FAULT_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>0</EMISSIVE_CODE> </UseTemplate> </Component> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • BUTTON_STATE_TYPE
      • BUTTON_STATE_VAR
      • LEFT_SINGLE_CODE

    Parameters read:

    • NODE_ID
    • OFF_NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Templates used:

      • ASOBO_GT_Push_Button

        Parameters set:

        • LEFT_SINGLE_CODE (using LEFT_SINGLE_CODE, BUTTON_STATE_TYPE, BUTTON_STATE_VAR)
    • #OFF_NODE_ID# (Node: #OFF_NODE_ID#)

      Templates used:

    Condition: Check(FAULT_INDICATOR)

    • Case: True

      Parameters read:

      • FAULT_NODE_ID

      Components:

  • ASOBO_GT_Push_Button_Airliner_Dummy

    Definition from XML
    <Template Name="ASOBO_GT_Push_Button_Airliner_Dummy"> <DefaultTemplateParameters> <Condition Check="POTENTIOMETER_SEQ1"> <True> <SEQ1_EMISSIVE_CODE>1</SEQ1_EMISSIVE_CODE> </True> <False> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> </False> </Condition> <Condition Check="POTENTIOMETER_SEQ2"> <True> <SEQ2_EMISSIVE_CODE>1</SEQ2_EMISSIVE_CODE> </True> <False> <SEQ2_EMISSIVE_CODE>0</SEQ2_EMISSIVE_CODE> </False> </Condition> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"> <DUMMY_BUTTON/> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Condition: Check(POTENTIOMETER_SEQ1)

      • Case: True

        Parameters set:

        • SEQ1_EMISSIVE_CODE
      • Case: False

        Parameters set:

        • SEQ1_EMISSIVE_CODE

      Condition: Check(POTENTIOMETER_SEQ2)

      • Case: True

        Parameters set:

        • SEQ2_EMISSIVE_CODE
      • Case: False

        Parameters set:

        • SEQ2_EMISSIVE_CODE

    Templates used: