[Go back to index]

Asobo\Common\Subtemplates\Engine_Subtemplates.xml

Source XML
<ModelBehaviors> <!-- #################################################### --> <!-- Template converted and now working using InputEvents --> <!-- #################################################### --> <Template Name="ASOBO_ENGINE_Throttle_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Throttle_#ID_NODE#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Throttle_#ID_NODE#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Throttle</PART_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="AIRBUS_TYPE"> <True> <LEVER_TYPE>AIRBUS</LEVER_TYPE> </True> </Condition> <RESET_LIMITS/> <PROCESS_LIMITS> (A:THROTTLE LOWER LIMIT, position 16k) (&gt;O:XMLVAR_MIN_Limit) 16384 (&gt;O:XMLVAR_MAX_Limit) </PROCESS_LIMITS> <DRAG_AXIS_SCALE>-450</DRAG_AXIS_SCALE> <POSITION_TYPE>O</POSITION_TYPE> <POSITION_VAR>Position</POSITION_VAR> <DELTA_MIN>0.00025</DELTA_MIN> <AXIS>Y</AXIS> <USE_TRAJECTORY_DRAG_MODE>true</USE_TRAJECTORY_DRAG_MODE> <NO_ARROWS/> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <AFTERBURNER_GATE_POS_16K Process="Int">#AFTERBURNER_GATE_POS# 16384 *</AFTERBURNER_GATE_POS_16K> <AFTERBURNER_GATE_POS_WITH_MARGIN Process="Float">#AFTERBURNER_GATE_POS# 0.01 -</AFTERBURNER_GATE_POS_WITH_MARGIN> </Condition> <Condition NotEmpty="OFF_GATE_POS"> <OFF_GATE_POS_16K Process="Int">#OFF_GATE_POS# 16384 *</OFF_GATE_POS_16K> </Condition> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <ENABLE_FORCED_BETA>#ID# (&gt;K:PROP_FORCE_BETA_ON) 30 180 / 16384 * #ID# (&gt;K:2:PROP_FORCE_BETA_VALUE_SET)</ENABLE_FORCED_BETA> <DISABLE_FORCED_BETA>#ID# (&gt;K:PROP_FORCE_BETA_OFF)</DISABLE_FORCED_BETA> <CHECK_FORCED_BETA>(A:PROP BETA FORCED ACTIVE:#ID#, Bool)</CHECK_FORCED_BETA> </Condition> <GATE_MARGIN>256</GATE_MARGIN> </Case> </Switch> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.THROTTLE_CONTROL</TOOLTIPID> <INCREMENT>163.84</INCREMENT> <SCROLL_INCREMENT>701</SCROLL_INCREMENT> <CURSOR>Hand</CURSOR> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <IDLE_GATE_SET_ABOVE>#CHECK_FORCED_BETA# ! (&gt;O:XMLVAR_MIN_Limit)</IDLE_GATE_SET_ABOVE> <IDLE_GATE_SET_BELOW>#CHECK_FORCED_BETA# (&gt;O:XMLVAR_MAX_Limit)</IDLE_GATE_SET_BELOW> <IDLE_GATE_SET_IN> #CHECK_FORCED_BETA# if{ 1 (&gt;O:XMLVAR_MAX_Limit) } els{ 0 (&gt;O:XMLVAR_MIN_Limit) } </IDLE_GATE_SET_IN> <ON_BEFORE_SET> (O:XMLVAR_MIN_Limit) 0 == (O:XMLVAR_MAX_Limit) 0 == or p0 0 == and if{ #ENABLE_FORCED_BETA# } els{ (O:XMLVAR_MAX_Limit) 1 == p0 0 != if{ #DISABLE_FORCED_BETA# } } </ON_BEFORE_SET> </True> <False> <IDLE_GATE_SET_ABOVE>0 (&gt;O:XMLVAR_MIN_Limit)</IDLE_GATE_SET_ABOVE> <IDLE_GATE_SET_BELOW>0 (&gt;O:XMLVAR_MAX_Limit)</IDLE_GATE_SET_BELOW> <IDLE_GATE_SET_IN></IDLE_GATE_SET_IN> </False> </Condition> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="LEVER_TYPE" Match="AIRBUS"> <CLIMB_LEVEL>89</CLIMB_LEVEL> <FLEX_LEVEL>95</FLEX_LEVEL> <TOGA_LEVEL>100</TOGA_LEVEL> </Condition> <Switch> <Case Check="LEVER_TYPE" Match="BOEING"> <DRAG_MAX_VALUE>16384</DRAG_MAX_VALUE> <DRAG_MIN_VALUE>0</DRAG_MIN_VALUE> </Case> <Case Check="HAS_IDLE_GATE"> <DRAG_MAX_VALUE>16384 (O:XMLVAR_MAX_Limit) min</DRAG_MAX_VALUE> <PROCESS_LIMITS> #PROCESS_LIMITS# (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) s0 #GATE_MARGIN# &gt; if{ #IDLE_GATE_SET_ABOVE# } els{ l0 #GATE_MARGIN# neg &lt; if{ #IDLE_GATE_SET_BELOW# } els{ #IDLE_GATE_SET_IN# } } </PROCESS_LIMITS> <RESET_LIMITS> (A:THROTTLE LOWER LIMIT, position 16k) (&gt;O:XMLVAR_MIN_Limit) 16384 (&gt;O:XMLVAR_MAX_Limit) </RESET_LIMITS> <DRAG_MIN_VALUE>(A:THROTTLE LOWER LIMIT, position 16k) (O:XMLVAR_MIN_Limit) max</DRAG_MIN_VALUE> <Condition Check="IDLE_GATE_ANIM_POS"> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <IDLE_MIN>#GROUND_GATE_ANIM_POS#</IDLE_MIN> </True> <False> <IDLE_MIN>#IDLE_GATE_ANIM_POS#</IDLE_MIN> </False> </Condition> <IDLE_MAX>#IDLE_GATE_ANIM_POS#</IDLE_MAX> <TRUE_IDLE_01 Process="Float">0 (A:THROTTLE LOWER LIMIT, percent) - 100 (A:THROTTLE LOWER LIMIT, percent) - /</TRUE_IDLE_01> <IDLE_MARGIN>0.001</IDLE_MARGIN> </Condition> </Case> <Case NotEmpty="OFF_GATE_POS_16K"> <DRAG_MAX_VALUE>16384 (O:XMLVAR_MAX_Limit) min</DRAG_MAX_VALUE> <DRAG_MIN_VALUE>(A:THROTTLE LOWER LIMIT, position 16k) (O:XMLVAR_MIN_Limit) max</DRAG_MIN_VALUE> <PROCESS_LIMITS> #PROCESS_LIMITS# (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) #OFF_GATE_POS_16K# &gt; if{ #OFF_GATE_POS_16K# (&gt;O:XMLVAR_MIN_Limit) } </PROCESS_LIMITS> </Case> <Default> <DRAG_MAX_VALUE>16384</DRAG_MAX_VALUE> <DRAG_MIN_VALUE Process="Int">(A:THROTTLE LOWER LIMIT, position 16k)</DRAG_MIN_VALUE> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <MIN_DIFF_POS_16K>819.2</MIN_DIFF_POS_16K> <Condition Valid="USE_TRAJECTORY_DRAG_MODE"> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> </Condition> <MAIN_LEVER_REVERSE_POSITION Process="Int">(A:THROTTLE LOWER LIMIT, position 16k)</MAIN_LEVER_REVERSE_POSITION> <MAIN_LEVER_REVERSE_POSITION_PCT Process="Int">(A:THROTTLE LOWER LIMIT, percent)</MAIN_LEVER_REVERSE_POSITION_PCT> <SNAP_DISTANCE>1</SNAP_DISTANCE> <DRAG_VALUE_OVERRIDE/> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <!-- adjust drag value based on anim value (positive range) --> <LERP_IDLE_FULL>l0 #IDLE_MAX# max #IDLE_MAX# - 1 #IDLE_MAX# - / 1 #TRUE_IDLE_01# - * #TRUE_IDLE_01# +</LERP_IDLE_FULL> <!-- adjust drag value based on anim value (negative range) --> <LERP_IDLE_REVERSE>l0 #IDLE_MIN# min #IDLE_MIN# - #IDLE_MIN# / #TRUE_IDLE_01# * #TRUE_IDLE_01# +</LERP_IDLE_REVERSE> <!-- adjust Idle/Ground based on LocalVar State --> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <PICK_IDLE_GROUND>#IDLE_MIN# #IDLE_MAX# #CHECK_FORCED_BETA# ?</PICK_IDLE_GROUND> </True> <False> <PICK_IDLE_GROUND>#IDLE_MIN#</PICK_IDLE_GROUND> </False> </Condition> </True> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <ADJUST_RAW_DRAG_VALUE>sp0 #LERP_IDLE_FULL# #LERP_IDLE_REVERSE# l0 #PICK_IDLE_GROUND# &gt; ?</ADJUST_RAW_DRAG_VALUE> </True> <False> <ADJUST_RAW_DRAG_VALUE/> <THROTTLE_ANIM_CODE>(B:ENGINE_Throttle_#ID#, percent)</THROTTLE_ANIM_CODE> </False> </Condition> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <GROUND_THROTTLE_ANIM_CODE> #IDLE_MIN# #IDLE_MAX# (* Idle/Ground *) #CHECK_FORCED_BETA# ? r l0 l1 0.01 eps ? </GROUND_THROTTLE_ANIM_CODE> </True> <False> <GROUND_THROTTLE_ANIM_CODE/> </False> </Condition> </Case> </Switch> <Condition NotEmpty="OFF_GATE_POS"> <Condition NotEmpty="VALVE_ID"> <True> <VALVE_GET>(A:FUELSYSTEM VALVE SWITCH:#VALVE_ID#, Boolean) !</VALVE_GET> <VALVE_CLOSE>#VALVE_ID# (&gt;K:FUELSYSTEM_VALVE_CLOSE)</VALVE_CLOSE> <VALVE_OPEN>#VALVE_ID# (&gt;K:FUELSYSTEM_VALVE_OPEN)</VALVE_OPEN> </True> <False> <VALVE_GET>(A:SHUTOFF VALVE PULLED, Boolean)</VALVE_GET> <VALVE_CLOSE>(&gt;K:SHUTOFF_VALVE_OFF)</VALVE_CLOSE> <VALVE_OPEN>(&gt;K:SHUTOFF_VALVE_ON)</VALVE_OPEN> </False> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch Param="LEVER_TYPE"> <Case Value="AIRBUS"> <THROTTLE_ANIM_CODE> (A:THROTTLE LOWER LIMIT, percent) sp0 (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, Percent) s1 0 &lt; if{ 1 l1 l0 / - 25 * sp2 0 sp3 #MAIN_LEVER_REVERSE_POSITION_PCT# sp4 0 sp5 } els{ l1 #CLIMB_LEVEL# &lt; if{ 1 sp3 0 sp4 #CLIMB_LEVEL# sp5 } els{ l1 #FLEX_LEVEL# &lt; if{ 2 sp3 #CLIMB_LEVEL# sp4 #FLEX_LEVEL# sp5 } els{ 3 sp3 #FLEX_LEVEL# sp4 #TOGA_LEVEL# sp5 } } l1 l4 - l5 l4 - / l3 + 25 * sp2 } (O:IsDragging) ! if{ -200 sp6 l1 l4 - #SNAP_DISTANCE# &lt; if{ l3 25 * sp6 } els{ l5 l1 - #SNAP_DISTANCE# &lt; if{ l3 1 + 25 * sp6 } } l6 -200 != if{ l6 sp2 } l2 0.04 * (&gt;#POSITION_TYPE#:#POSITION_VAR#) } l2 (&gt;O:XMLVAR_AnimationPosition_PostSnap) l2 </THROTTLE_ANIM_CODE> </Case> <Case Value="BOEING"> <THROTTLE_ANIM_CODE>(B:ENGINE_Throttle_#ID#, percent)</THROTTLE_ANIM_CODE> <MAIN_LEVER_REVERSE_POSITION>0</MAIN_LEVER_REVERSE_POSITION> <USE_SEPARATE_REVERSER>True</USE_SEPARATE_REVERSER> </Case> <Case NotEmpty="OFF_GATE_POS"> <ADJUST_RAW_DRAG_VALUE> #OFF_GATE_POS# max #OFF_GATE_POS# - 1 #OFF_GATE_POS# - / </ADJUST_RAW_DRAG_VALUE> <THROTTLE_ANIM_CODE>(B:ENGINE_Throttle_#ID#, percent)</THROTTLE_ANIM_CODE> </Case> <Default> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <THROTTLE_ANIM_CODE> (B:ENGINE_Throttle_#ID#, percent over 100) 1000 * int 1000 / sp0 #TRUE_IDLE_01# 1000 * int 1000 / sp1 l0 l1 - 1 #TRUE_IDLE_01# - / 1 #IDLE_MAX# - * #IDLE_MAX# + (* Upper part of throttle *) #GROUND_THROTTLE_ANIM_CODE# l0 l1 / #IDLE_MIN# * (* Reverse *) l0 l1 &gt;= ? 100 * </THROTTLE_ANIM_CODE> </True> <False> <THROTTLE_ANIM_CODE>#THROTTLE_ANIM_CODE#</THROTTLE_ANIM_CODE> </False> </Condition> </Default> </Switch> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_THROTTLE_TITLE>@TT_Package.ENGINE_THROTTLE_TITLE</TOOLTIP_THROTTLE_TITLE> <THROTTLE_ON_AFTER_SET/> <RIGHT_SINGLE_CODE/> <ENTRIES_COUNT>1</ENTRIES_COUNT> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_THROTTLE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Throttle_#ID#</TOOLTIP_ENTRY_0> <Condition Valid="HAS_WEP"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_WEP</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (&gt;B:ENGINE_Throttle_#ID#_WEP_On)</RIGHT_SINGLE_CODE> <THROTTLE_ANIM_CODE> #THROTTLE_ANIM_CODE# sp0 (B:ENGINE_Throttle_#ID#_WEP) if{ l0 } els{ l0 0.9 * } </THROTTLE_ANIM_CODE> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="OFF_GATE_POS"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_STOP</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (&gt;B:ENGINE_Throttle_#ID#_STOP_On)</RIGHT_SINGLE_CODE> <THROTTLE_ANIM_CODE> #THROTTLE_ANIM_CODE# sp0 (B:ENGINE_Throttle_#ID#_STOP) if{ 0 } els{ #OFF_GATE_POS# 100 * l0 1 #OFF_GATE_POS# - * + } </THROTTLE_ANIM_CODE> <THROTTLE_ON_AFTER_SET>#THROTTLE_ON_AFTER_SET# (&gt;B:ENGINE_Throttle_#ID#_STOP_Off)</THROTTLE_ON_AFTER_SET> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_Afterburner</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (&gt;B:ENGINE_Throttle_#ID#_Afterburner_On)</RIGHT_SINGLE_CODE> <THROTTLE_ON_AFTER_SET>#THROTTLE_ON_AFTER_SET# l0 #AFTERBURNER_GATE_POS_WITH_MARGIN# &lt; if{ (&gt;B:ENGINE_Throttle_#ID#_Afterburner_Off) }</THROTTLE_ON_AFTER_SET> <PROCESS_LIMITS> #PROCESS_LIMITS# (B:ENGINE_Throttle_#ID#_Afterburner) ! if{ (O:XMLVAR_MAX_Limit) #AFTERBURNER_GATE_POS_16K# min (&gt;O:XMLVAR_MAX_Limit) } </PROCESS_LIMITS> <ADJUST_RAW_DRAG_VALUE>#ADJUST_RAW_DRAG_VALUE# d (&gt;L:XMLVAR_LastAB#ID#ThrottleSet)</ADJUST_RAW_DRAG_VALUE> <CLAMP_IE>True</CLAMP_IE> <AFTERBURNER_BINDING_SET>(B:ENGINE_Throttle_#ID#, Percent over 100) #AFTERBURNER_GATE_POS_WITH_MARGIN# &gt;= if{ 1 } els{ 0 }</AFTERBURNER_BINDING_SET> <ON_AFTER_SET_BINDING>d (&gt;L:XMLVAR_LastAB#ID#ThrottleSet)</ON_AFTER_SET_BINDING> <THROTTLE_ON_AFTER_INC>(B:ENGINE_Throttle_#ID#, Percent over 100) (&gt;L:XMLVAR_LastAB#ID#ThrottleSet)</THROTTLE_ON_AFTER_INC> <THROTTLE_ON_AFTER_DEC>(B:ENGINE_Throttle_#ID#, Percent over 100) (&gt;L:XMLVAR_LastAB#ID#ThrottleSet)</THROTTLE_ON_AFTER_DEC> <AFTERBURNER_THROTTLE_INC> (E:SIMULATION TIME, seconds) s0 (L:XMLVAR_IE_Afterburner_#ID#_LastThrottleInc) 0.2 + &lt; if{ 1 (&gt;L:XMLVAR_IE_Afterburner_#ID#_Quit) } l0 (&gt;L:XMLVAR_IE_Afterburner_#ID#_LastThrottleInc) 1 </AFTERBURNER_THROTTLE_INC> </Condition> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="ANIM_NAME_REVERSE_LOCK"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE> (A:GENERAL ENG REVERSE THRUST ENGAGED:#ID#, bool) (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, Percent) 0 &lt; or 100 * </ANIM_CODE> <ANIM_NAME>#ANIM_NAME_REVERSE_LOCK#</ANIM_NAME> </UseTemplate> <UseTemplate Name = "ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_REVERSE_LOCK#</ANIM_NAME> <WWISE_EVENT_1>throttle_lever_lock_on</WWISE_EVENT_1> <WWISE_EVENT_2>throttle_lever_lock_off</WWISE_EVENT_2> </UseTemplate> </Condition> <UseInputEvent ID="ENGINE"> <THROTTLE_ID>#ID#</THROTTLE_ID> <Condition NotEmpty="THROTTLE_ON_AFTER_SET"> <ON_AFTER_SET>#THROTTLE_ON_AFTER_SET#</ON_AFTER_SET> </Condition> <Condition NotEmpty="THROTTLE_ON_AFTER_INC"> <ON_AFTER_INC>#THROTTLE_ON_AFTER_INC#</ON_AFTER_INC> </Condition> <Condition NotEmpty="THROTTLE_ON_AFTER_DEC"> <ON_AFTER_DEC>#THROTTLE_ON_AFTER_DEC#</ON_AFTER_DEC> </Condition> <RESET_LIMITS> #PROCESS_LIMITS# </RESET_LIMITS> <Condition Valid="CLAMP_IE"> <CLAMP_UPPER_LIMIT>(O:XMLVAR_MAX_Limit)</CLAMP_UPPER_LIMIT> <CLAMP_LOWER_LIMIT>(O:XMLVAR_MIN_Limit)</CLAMP_LOWER_LIMIT> <ON_AFTER_INIT>#PROCESS_LIMITS#</ON_AFTER_INIT> </Condition> </UseInputEvent> <Condition Valid="HAS_WEP"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_WEP</BTN_ID> <SET_STATE_EXTERNAL>(B:ENGINE_Throttle_#ID#) 100 == (A:RECIP ENG EMERGENCY BOOST ACTIVE:#ID#, Bool) ! and if{ (&gt;K:WAR_EMERGENCY_POWER) 1 (&gt;O:IsWEPActive) }</SET_STATE_EXTERNAL> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_SWITCH_WEP_ACTION</TT_DESCRIPTION> <TT_DESCRIPTION_IS_DYNAMIC>False</TT_DESCRIPTION_IS_DYNAMIC> <TT_VALUE>(O:IsWEPActive) @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <VALUE_CODE>(O:IsWEPActive)</VALUE_CODE> <VALUE_UNITS>Boolean</VALUE_UNITS> <BINDING_SET_0>On</BINDING_SET_0> <BINDING_SET_0_PARAM_0>(B:ENGINE_Throttle_#ID#) 100 == (A:RECIP ENG EMERGENCY BOOST ACTIVE:#ID#, Bool) ! and</BINDING_SET_0_PARAM_0> <BINDING_SET_0_PARAM_0_IS_DYNAMIC>True</BINDING_SET_0_PARAM_0_IS_DYNAMIC> <BINDING_SET_1>Activate</BINDING_SET_1> <BINDING_SET_1_EVENT_ID_ONLY>True</BINDING_SET_1_EVENT_ID_ONLY> <BINDING_SET_1_EVENT_ID>WAR_EMERGENCY_POWER</BINDING_SET_1_EVENT_ID> <BINDING_SET_1_PARAM_0>1</BINDING_SET_1_PARAM_0> </UseInputEvent> </Condition> <Condition NotEmpty="OFF_GATE_POS"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_STOP</BTN_ID> <GET_STATE_EXTERNAL>#VALVE_GET#</GET_STATE_EXTERNAL> <SET_STATE_EXTERNAL>(B:ENGINE_Throttle_#ID#) 0.1 &lt; p0 and if{ #VALVE_CLOSE# } els{ #VALVE_OPEN# }</SET_STATE_EXTERNAL> <ON_BEFORE_SET_CODE> p0 (B:ENGINE_Throttle_#ID#, Percent over 100) 0 &gt; and if{ quit } </ON_BEFORE_SET_CODE> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_FUEL_CUTOFF_ACTION</TT_DESCRIPTION> <TT_VALUE>#VALVE_GET# @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <VALUE_CODE>#VALVE_GET#</VALUE_CODE> <VALUE_UNITS>Boolean</VALUE_UNITS> <Condition NotEmpty="ON_AFTER_SET_STOP"> <ON_AFTER_SET_CODE>#ON_AFTER_SET_STOP#</ON_AFTER_SET_CODE> </Condition> </UseInputEvent> </Condition> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_Afterburner</BTN_ID> <GET_STATE_EXTERNAL>(A:TURB ENG AFTERBURNER:#ID#, Boolean) sp0</GET_STATE_EXTERNAL> <ON_BEFORE_SET_CODE> p0 (B:ENGINE_Throttle_#ID#, Percent over 100) #AFTERBURNER_GATE_POS_WITH_MARGIN# &lt; and (L:XMLVAR_IE_Afterburner_#ID#_Quit) or 0 (&gt;L:XMLVAR_IE_Afterburner_#ID#_Quit) if{ quit } </ON_BEFORE_SET_CODE> <SET_STATE_EXTERNAL> p0 if{ 16384 (&gt;O:XMLVAR_MAX_Limit) (L:XMLVAR_LastAB#ID#ThrottleSet) (&gt;B:ENGINE_Throttle_#ID#_Set) } </SET_STATE_EXTERNAL> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_SWITCH_AFTERBURNER_ACTION</TT_DESCRIPTION> <TT_VALUE>(B:ENGINE_Throttle_#ID#_Afterburner) @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <Condition NotEmpty="ON_AFTER_SET_STOP"> <ON_AFTER_SET_CODE>#ON_AFTER_SET_STOP#</ON_AFTER_SET_CODE> </Condition> <BINDING_SET_3>KeyBind_Toggle</BINDING_SET_3> <BINDING_SET_3_EVENT_ID_ONLY>True</BINDING_SET_3_EVENT_ID_ONLY> <BINDING_SET_3_EVENT_ID>TOGGLE_AFTERBURNER</BINDING_SET_3_EVENT_ID> <BINDING_SET_3_PARAM_0>#AFTERBURNER_BINDING_SET#</BINDING_SET_3_PARAM_0> <BINDING_SET_3_PARAM_0_IS_DYNAMIC>True</BINDING_SET_3_PARAM_0_IS_DYNAMIC> <BINDING_SET_4>KeyBind_ToggleID</BINDING_SET_4> <BINDING_SET_4_EVENT_ID_ONLY>True</BINDING_SET_4_EVENT_ID_ONLY> <BINDING_SET_4_EVENT_ID>TOGGLE_AFTERBURNER#ID#</BINDING_SET_4_EVENT_ID> <BINDING_SET_4_PARAM_0>#AFTERBURNER_BINDING_SET#</BINDING_SET_4_PARAM_0> <BINDING_SET_4_PARAM_0_IS_DYNAMIC>True</BINDING_SET_4_PARAM_0_IS_DYNAMIC> <BINDING_SET_5>KeyBind_IncreaseThrottle</BINDING_SET_5> <BINDING_SET_5_EVENT_ID>THROTTLE_INCR</BINDING_SET_5_EVENT_ID> <BINDING_SET_5_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_5_PARAM_0> <BINDING_SET_5_PARAM_0_IS_DYNAMIC>True</BINDING_SET_5_PARAM_0_IS_DYNAMIC> <BINDING_SET_6>KeyBind_IncreaseThrottleSmall</BINDING_SET_6> <BINDING_SET_6_EVENT_ID>THROTTLE_INCR_SMALL</BINDING_SET_6_EVENT_ID> <BINDING_SET_6_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_6_PARAM_0> <BINDING_SET_6_PARAM_0_IS_DYNAMIC>True</BINDING_SET_6_PARAM_0_IS_DYNAMIC> <BINDING_SET_7>KeyBind_IncreaseThrottle#ID#</BINDING_SET_7> <BINDING_SET_7_EVENT_ID>THROTTLE#ID#_INCR</BINDING_SET_7_EVENT_ID> <BINDING_SET_7_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_7_PARAM_0> <BINDING_SET_7_PARAM_0_IS_DYNAMIC>True</BINDING_SET_7_PARAM_0_IS_DYNAMIC> <BINDING_SET_8>KeyBind_IncreaseThrottle#ID#Small</BINDING_SET_8> <BINDING_SET_8_EVENT_ID>THROTTLE#ID#_INCR_SMALL</BINDING_SET_8_EVENT_ID> <BINDING_SET_8_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_8_PARAM_0> <BINDING_SET_8_PARAM_0_IS_DYNAMIC>True</BINDING_SET_8_PARAM_0_IS_DYNAMIC> <SIMVAR_TO_WATCH_0>TURB ENG AFTERBURNER:#ID#</SIMVAR_TO_WATCH_0> </UseInputEvent> </Condition> <UseTemplate Name="ASOBO_GT_Anim_Code"> <Condition Valid="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>#THROTTLE_ANIM_CODE#</ANIM_CODE> </False> </Condition> </UseTemplate> <Switch Param="LEVER_TYPE"> <Case Value="AIRBUS"> <Update Once="true"> (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, percent over 100) (A:THROTTLE LOWER LIMIT, percent over 100) - 4 * (&gt;#POSITION_TYPE#:#POSITION_VAR#) </Update> <Update Frequency="5"> (* Keep Track of Airbus Throttle Setting *) 0 (&gt;L:XML_Airbus_Throttle#ID#_TOGA) 0 (&gt;L:XML_Airbus_Throttle#ID#_Flex_MCT) 0 (&gt;L:XML_Airbus_Throttle#ID#_Climb) 0 (&gt;L:XML_Airbus_Throttle#ID#_Idle) 0 (&gt;L:XML_Airbus_Throttle#ID#_Rev) (O:XMLVAR_AnimationPosition_PostSnap) 25 &lt; if{ 1 (&gt;L:XML_Airbus_Throttle#ID#_Rev) } els{ (O:XMLVAR_AnimationPosition_PostSnap) 50 &lt; if{ 1 (&gt;L:XML_Airbus_Throttle#ID#_Idle) } els{ (O:XMLVAR_AnimationPosition_PostSnap) 75 &lt; if{ 1 (&gt;L:XML_Airbus_Throttle#ID#_Climb) } els{ (O:XMLVAR_AnimationPosition_PostSnap) 100 &lt; if{ 1 (&gt;L:XML_Airbus_Throttle#ID#_Flex_MCT) } els{ 1 (&gt;L:XML_Airbus_Throttle#ID#_TOGA) } } } } (O:XMLVAR_AnimationPosition_PostSnap) 25 % 25 / (&gt;L:XML_Airbus_Throttle#ID#_Value) </Update> <UseTemplate Name="ASOBO_GT_Interaction_DraggingYAxis_Gates"> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <STEPS_NUMBER>4</STEPS_NUMBER> <DRAG_CODE> (#POSITION_TYPE#:#POSITION_VAR#) s0 flr sp1 l0 dec sp2 l1 1 &lt; if{ #MAIN_LEVER_REVERSE_POSITION_PCT# sp4 0 sp5 } els{ l1 2 &lt; if{ 0 sp4 #CLIMB_LEVEL# sp5 } els{ l1 3 &lt; if{ #CLIMB_LEVEL# sp4 #FLEX_LEVEL# sp5 } els{ l1 4 &lt; if{ #FLEX_LEVEL# sp4 #TOGA_LEVEL# sp5 } els{ #TOGA_LEVEL# sp4 #TOGA_LEVEL# sp5 } } } } l5 l4 - l2 * l4 + 100 / (&gt;B:ENGINE_Throttle_#ID#_Set) </DRAG_CODE> <GATE_DIRECTION>0</GATE_DIRECTION> </UseTemplate> </Case> <Default> <Update Once="True"> #RESET_LIMITS# </Update> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <LOCK_CODE> #PROCESS_LIMITS# </LOCK_CODE> <UNLOCK_CODE> #RESET_LIMITS# </UNLOCK_CODE> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <DRAG_SIMVAR>GENERAL ENG THROTTLE LEVER POSITION:#ID#</DRAG_SIMVAR> <Condition Valid="USE_TRAJECTORY_DRAG_MODE"> <True> <DRAG_CODE> (M:InputType) 1 == if{ (O:_ResetLimitsTime) (E:SIMULATION TIME, second) &lt; if{ (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &lt; if{ #RESET_LIMITS# } } (E:SIMULATION TIME, second) 0.1 + (&gt;O:_ResetLimitsTime) } 16384 #MAIN_LEVER_REVERSE_POSITION# - (M:DragPercent) #ADJUST_RAW_DRAG_VALUE# * #MAIN_LEVER_REVERSE_POSITION# + sp0 #DRAG_VALUE_OVERRIDE# l0 #DRAG_MAX_VALUE# min #DRAG_MIN_VALUE# max 16384 / (&gt;B:ENGINE_Throttle_#ID#_Set) (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &gt; if{ #PROCESS_LIMITS# } </DRAG_CODE> </True> <False> <DRAG_CODE> (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) #INCREMENT# (O:DragScale) * + #DRAG_MAX_VALUE# min #DRAG_MIN_VALUE# max 16384 / (&gt;B:ENGINE_Throttle_#ID#_Set) (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &gt; if{ #PROCESS_LIMITS# } </DRAG_CODE> </False> </Condition> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_Throttle_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_Throttle_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Default> </Switch> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>(L:XMLVAR_LeverThrottleHidden#ID#) !</VISIBILITY_CODE> </UseTemplate> </Case> </Switch> </Component> <Condition Check="LEVER_TYPE" Match="BOEING"> <True> <Component ID="#NODE_ID_REVERSER#" Node="#NODE_ID_REVERSER#"> <Parameters Type="Override"> <ANIM_NAME>#ANIM_NAME_REVERSER#</ANIM_NAME> <DRAG_ANIM_NAME>#ANIM_NAME_REVERSER#</DRAG_ANIM_NAME> <DRAG_NODE_ID>#NODE_ID_REVERSER#</DRAG_NODE_ID> <Condition Valid="REVERSER_INVERT_IM_DRAG_INPUT_SCALAR"> <INVERT_IM_DRAG_INPUT_SCALAR>#REVERSER_INVERT_IM_DRAG_INPUT_SCALAR#</INVERT_IM_DRAG_INPUT_SCALAR> </Condition> </Parameters> <Parameters Type="Default"> <TOOLTIP_THROTTLE_REVERSER_TITLE>@TT_Package.ENGINE_THROTTLE_REVERSE_TITLE</TOOLTIP_THROTTLE_REVERSER_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_THROTTLE_REVERSER_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Throttle_Reverser_#ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <REVERSER_ID>#ID#</REVERSER_ID> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>(B:ENGINE_Throttle_Reverser_#ID#, percent)</ANIM_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <POSITION_TYPE>O</POSITION_TYPE> <POSITION_VAR>XMLVAR_Reverser#ID#_Position</POSITION_VAR> <DRAG_CODE>(M:DragPercent) (&gt;B:ENGINE_Throttle_Reverser_#ID#_Set)</DRAG_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_Throttle_Reverser_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_Throttle_Reverser_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Component> </True> </Condition> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template> <Template Name="ASOBO_ENGINE_Propeller_Control_SubTemplate"> <Parameters Type="Default"> <MIN_POS_16K Process="Int">@FeatherPropPos 16384 * 0 (A:THROTTLE LOWER LIMIT, position 16k) 0 &lt; ?</MIN_POS_16K> </Parameters> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Propeller_#ID_NODE#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Propeller_#ID_NODE#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Propeller</PART_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <LEVER_TYPE>IDLE_FULL</LEVER_TYPE> </Case> </Switch> <MAIN_LEVER_REVERSE_POSITION Process="Int">@FeatherPropPos 16384 * 0 #MIN_POS_16K# 0 &lt; ?</MAIN_LEVER_REVERSE_POSITION> <MAIN_LEVER_REVERSE_POSITION_PCT Process="Int">@FeatherPropPos 100 * 0 #MIN_POS_16K# 0 &lt; ?</MAIN_LEVER_REVERSE_POSITION_PCT> <LOWER_LIMIT>#MIN_POS_16K#</LOWER_LIMIT> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="IDLE_GATE_ANIM_POS"> <IDLE>#IDLE_GATE_ANIM_POS#</IDLE> <TRUE_IDLE_01 Process="Float">0 #MAIN_LEVER_REVERSE_POSITION_PCT# - 100 #MAIN_LEVER_REVERSE_POSITION_PCT# - /</TRUE_IDLE_01> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <AXIS>Y</AXIS> <NO_ARROWS/> <DRAG_AXIS_SCALE>-163.84</DRAG_AXIS_SCALE> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.PROP_RPM_LEVER</TOOLTIPID> <CURSOR>Hand</CURSOR> <INCREMENT>163.84</INCREMENT> <DELTA_MIN>0.00025</DELTA_MIN> <Switch Param="LEVER_TYPE"> <Case Value="IDLE_FULL"> <Condition Check="USE_BUTTON"> <BUTTON_NODE_ID>ENGINE_Lever_Propeller_#ID#_Button</BUTTON_NODE_ID> <BUTTON_ANIM_NAME>ENGINE_Lever_Propeller_#ID#_Button</BUTTON_ANIM_NAME> </Condition> <Condition Check="BUTTON_NODE_ID"> <BUTTON_ANIM_NAME>#BUTTON_NODE_ID#</BUTTON_ANIM_NAME> </Condition> </Case> </Switch> <Condition Check="IDLE_GATE_ANIM_POS"> <!-- adjust drag value based on anim value (positive range) --> <LERP_IDLE_FULL>l0 #IDLE# - 1 #IDLE# - / 1 #TRUE_IDLE_01# - * #TRUE_IDLE_01# +</LERP_IDLE_FULL> <!-- adjust drag value based on anim value (negative range) --> <LERP_IDLE_REVERSE>l0 #IDLE# - #IDLE# / #TRUE_IDLE_01# * #TRUE_IDLE_01# +</LERP_IDLE_REVERSE> </Condition> </Case> </Switch> <SCROLL_INCREMENT>701</SCROLL_INCREMENT> <!-- <TOOLTIPID>TT:COCKPIT.TOOLTIPS.PROP_RPM_LEVER (%((A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, percent))%!d!% %%) </TOOLTIPID> --> </Parameters> <Parameters Type="Default"> <Condition Check="IDLE_GATE_ANIM_POS"> <True> <ADJUST_RAW_DRAG_VALUE>sp0 #LERP_IDLE_FULL# #LERP_IDLE_REVERSE# l0 #IDLE# &gt; ?</ADJUST_RAW_DRAG_VALUE> <PROPELLER_ANIM_CODE> (B:ENGINE_Propeller_#ID#, percent over 100) sp0 l0 #TRUE_IDLE_01# - 1 #TRUE_IDLE_01# - / 1 #IDLE# - * #IDLE# + (* Upper part of propeller *) l0 #TRUE_IDLE_01# / #IDLE# * (* Reverse *) l0 #TRUE_IDLE_01# &gt; ? 100 * </PROPELLER_ANIM_CODE> </True> <False> <ADJUST_RAW_DRAG_VALUE/> <PROPELLER_ANIM_CODE>(B:ENGINE_Propeller_#ID#, percent)</PROPELLER_ANIM_CODE> </False> </Condition> <MIN_DIFF_POS_16K>819.2</MIN_DIFF_POS_16K> <DRAG_VALUE_OVERRIDE/> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch Param="LEVER_TYPE"> <Case Value="REVERSE_IDLE_FULL"> <DRAG_MIN_VALUE>#MAIN_LEVER_REVERSE_POSITION# (O:XMLVAR_MIN_Limit) max</DRAG_MIN_VALUE> <DRAG_MAX_VALUE>16384 (O:XMLVAR_MAX_Limit) min</DRAG_MAX_VALUE> <PROCESS_LIMITS> (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, position 16k) 0 &gt; if{ 0 (&gt;O:XMLVAR_MIN_Limit) 16384 (&gt;O:XMLVAR_MAX_Limit) } els{ #MAIN_LEVER_REVERSE_POSITION# (&gt;O:XMLVAR_MIN_Limit) 0 (&gt;O:XMLVAR_MAX_Limit) } </PROCESS_LIMITS> <RESET_LIMITS> #MAIN_LEVER_REVERSE_POSITION# (&gt;O:XMLVAR_MIN_Limit) 16384 (&gt;O:XMLVAR_MAX_Limit) </RESET_LIMITS> </Case> </Switch> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_PROPELLER_TITLE>@TT_Package.ENGINE_PROPELLER_TITLE</TOOLTIP_PROPELLER_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_PROPELLER_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Propeller_#ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <PROPELLER_ID>#ID#</PROPELLER_ID> </UseInputEvent> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>#PROPELLER_ANIM_CODE#</ANIM_CODE> </UseTemplate> <Switch Param="LEVER_TYPE"> <Case Value="IDLE_FULL"> <Condition Check="USE_BUTTON"> <True> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_LAG>800</ANIM_LAG> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <ANIM_CODE> (I:XMLVAR_Interacting_With_Lever_Propeller_#ID#) 100 * </ANIM_CODE> <ANIM_LENGTH>100</ANIM_LENGTH> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <WWISE_EVENT_1>throttle_lever_button_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <DIRECTION_1>Forward</DIRECTION_1> <WWISE_EVENT_2>throttle_lever_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.9</NORMALIZED_TIME_2> <DIRECTION_2>Backward</DIRECTION_2> </UseTemplate> </True> </Condition> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <DOWN_CODE>1 (&gt;I:XMLVAR_Interacting_With_Lever_Propeller_#ID#)</DOWN_CODE> <RELEASE_CODE>0 (&gt;I:XMLVAR_Interacting_With_Lever_Propeller_#ID#)</RELEASE_CODE> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE>(M:DragPercent) #ADJUST_RAW_DRAG_VALUE# (&gt;B:ENGINE_Propeller_#ID#_Set)</DRAG_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_Propeller_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_Propeller_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_SoundEvents_Same"> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <WWISE_EVENT>lever_propeller_knob</WWISE_EVENT> <COUNT>24</COUNT> </UseTemplate> </Case> <Case Value="REVERSE_IDLE_FULL"> <Update Once="True"> #RESET_LIMITS# </Update> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <DOWN_CODE> (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, position 16k) 0 == if{ 1 (&gt;O:XMLVAR_Limits_Needs_Recalculation) } els{ #PROCESS_LIMITS# } </DOWN_CODE> <RELEASE_CODE> #RESET_LIMITS# </RELEASE_CODE> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE> (M:InputType) 1 == if{ (O:_ResetLimitsTime) (E:SIMULATION TIME, second) &lt; if{ (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &lt; if{ #RESET_LIMITS# 1 (&gt;O:XMLVAR_Limits_Needs_Recalculation) } } (E:SIMULATION TIME, second) 0.1 + (&gt;O:_ResetLimitsTime) } 16384 #MAIN_LEVER_REVERSE_POSITION# - (M:DragPercent) #ADJUST_RAW_DRAG_VALUE# * #MAIN_LEVER_REVERSE_POSITION# + sp0 #DRAG_VALUE_OVERRIDE# l0 #DRAG_MAX_VALUE# min #DRAG_MIN_VALUE# max 16384 / (&gt;B:ENGINE_Propeller_#ID#_Set) (O:XMLVAR_Limits_Needs_Recalculation) if{ (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &gt; if{ #PROCESS_LIMITS# 0 (&gt;O:XMLVAR_Limits_Needs_Recalculation) } } </DRAG_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_Propeller_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_Propeller_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Case> </Switch> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>(L:XMLVAR_LeverPropellerHidden#ID#) !</VISIBILITY_CODE> </UseTemplate> </Case> </Switch> </Component> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template> <Template Name="ASOBO_ENGINE_Starter_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Starter_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Starter_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Starter</PART_ID> <AIRLINER>TRUE</AIRLINER> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_Starter#ID#</SWITCH_POSITION_VAR> <SWITCH_POSITION_TYPE_TIMER>L</SWITCH_POSITION_TYPE_TIMER> <SWITCH_POSITION_VAR_TIMER>XMLVAR_Starter#ID#_EndTimeDown</SWITCH_POSITION_VAR_TIMER> <WWISE_EVENT>engine_starter_switch</WWISE_EVENT> <WWISE_EVENT_1>engine_starter_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_starter_switch_off</WWISE_EVENT_2> <Switch Param="TYPE"> <Case Value="2Values_StarterIgnition"> <STATE_START>0</STATE_START> <STATE_OFF>1</STATE_OFF> </Case> <Case Value="3Values_StarterIgnition"> <STATE_START>0</STATE_START> <STATE_OFF>1</STATE_OFF> <STATE_MOTOR>2</STATE_MOTOR> <Condition Check="MOMENTARY_SWITCH"> <REST_STATE>1</REST_STATE> <CODE_POS_RETURN>(&gt;B:ENGINE_Starter_Ignition_#ID#_Off)</CODE_POS_RETURN> </Condition> </Case> <Case Value="ON_OFF_ABORT"> <POS_ON>0</POS_ON> <POS_OFF>1</POS_OFF> <POS_ABORT>2</POS_ABORT> <MOMENTARY_MIN_DURATION>3</MOMENTARY_MIN_DURATION> </Case> <Case Value="AS02A"> <STATE_BOTH>0</STATE_BOTH> <STATE_R>1</STATE_R> <STATE_L>2</STATE_L> <STATE_IGN_OFF>3</STATE_IGN_OFF> <STATE_ALL_OFF>4</STATE_ALL_OFF> </Case> <Case Value="AS04F"> <STATE_ENG1>0</STATE_ENG1> <STATE_OFF>1</STATE_OFF> <STATE_ENG2>2</STATE_ENG2> </Case> </Switch> </Case> <Case Value="Push"> <WWISE_EVENT_1>engine_start_push_button_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_start_push_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <Switch Param="TYPE"> <Case Value="AS02A"> <SEQ1_EMISSIVE_CODE> 0 </SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:GENERAL ENG STARTER:#ID#, Bool)</SEQ2_EMISSIVE_CODE> </Case> <Default> <ONLY_SEQ1/> <SEQ1_EMISSIVE_CODE>(A:GENERAL ENG STARTER:#ID#, Bool)</SEQ1_EMISSIVE_CODE> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="TYPE"> <Case Value="AS02A"> <STARTER_TYPE>STARTER_IGNITION</STARTER_TYPE> <IGNITION_TYPE>BOTH_R_L_OFF_STARTOFF</IGNITION_TYPE> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_5States</TEMPLATE_TO_CALL> <SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION> <ARROW_TYPE>Curved</ARROW_TYPE> <CODE_POS_0>(* Ignition BOTH *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Both)</CODE_POS_0> <CODE_POS_1>(* Ignition RIGHT *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Right)</CODE_POS_1> <CODE_POS_2>(* Ignition LEFT *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Left)</CODE_POS_2> <CODE_POS_3>(* Ignition OFF *) (&gt;B:ENGINE_Starter_Ignition_#ID#_IgnOff)</CODE_POS_3> <CODE_POS_4>(* Ignition OFF + Starter OFF *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Off)</CODE_POS_4> <STATE0_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_BOTH# ==</STATE0_TEST> <STATE1_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_R# ==</STATE1_TEST> <STATE2_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_L# ==</STATE2_TEST> <STATE3_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_IGNOFF# ==</STATE3_TEST> <STATE4_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_ALLOFF# == </STATE4_TEST> </Case> <Case Value="AS01B"> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_2States</TEMPLATE_TO_CALL> <SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION> <ARROW_TYPE>Curved</ARROW_TYPE> <CODE_POS_0>(&gt;B:ENGINE_Starter_#ID#_On)</CODE_POS_0> <CODE_POS_1>(&gt;B:ENGINE_Starter_#ID#_Off)</CODE_POS_1> <STARTER_ON_SIMVAR>GENERAL ENG STARTER</STARTER_ON_SIMVAR> <STATE0_TEST>(B:ENGINE_Starter_#ID#, Bool) </STATE0_TEST> <STATE1_TEST>(B:ENGINE_Starter_#ID#, Bool) ! </STATE1_TEST> <UPDATE_CODE> (A:TURB ENG IGNITION SWITCH EX1:#ID#, enum) 1 != if{ 1 (&gt;K:TURBINE_IGNITION_SWITCH_SET#ID#) } </UPDATE_CODE> </Case> <Case Value="2Values_StarterIgnition"> <STARTER_TYPE>STARTER_IGNITION</STARTER_TYPE> <IGNITION_TYPE>START_OFF</IGNITION_TYPE> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_Code</TEMPLATE_TO_CALL> <LEFT_SINGLE_CODE> (B:ENGINE_Starter_Ignition_#ID#, number) #STATE_START# == if{ (* Off *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Off) } els{ (* Starter *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Start) } </LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_START# == 100 *</ANIM_CODE> <WWISE_EVENT_1>engine_starter_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_starter_switch_off</WWISE_EVENT_2> </Case> <Case Value="3Values_StarterIgnition"> <STARTER_TYPE>STARTER_IGNITION</STARTER_TYPE> <IGNITION_TYPE>START_OFF_MOTOR</IGNITION_TYPE> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_3States</TEMPLATE_TO_CALL> <CODE_POS_0>(* Starter *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Start)</CODE_POS_0> <CODE_POS_1>(* Off *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Off)</CODE_POS_1> <CODE_POS_2>(* Motor *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Motor)</CODE_POS_2> <STATE0_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_START# ==</STATE0_TEST> <STATE1_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_OFF# == </STATE1_TEST> <STATE2_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_MOTOR# ==</STATE2_TEST> </Case> <Case Value="ON_OFF_ABORT"> <WWISE_PREFIX>engine_starter</WWISE_PREFIX> <MOMENTARY_SWITCH/> <STATE_MAX_TIMER>#MOMENTARY_MIN_DURATION#</STATE_MAX_TIMER> <STATE0_TIMER>#MOMENTARY_MIN_DURATION#</STATE0_TIMER> <NUM_STATES>3</NUM_STATES> <STR_STATE_#POS_ON#>On</STR_STATE_#POS_ON#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_ABORT#>Abort</STR_STATE_#POS_ABORT#> <SET_STATE_#POS_ON#>(A:GENERAL ENG STARTER:#ID#, Bool) ! if{ 1 (&gt;K:SET_STARTER#ID#_HELD) } 0 (&gt;O:_Abort)</SET_STATE_#POS_ON#> <SET_STATE_#POS_OFF#>(A:GENERAL ENG STARTER:#ID#, Bool) if{ 0 (&gt;K:SET_STARTER#ID#_HELD) } 0 (&gt;O:_Abort)</SET_STATE_#POS_OFF#> <SET_STATE_#POS_ABORT#>(A:GENERAL ENG STARTER:#ID#, Bool) if{ 0 (&gt;K:SET_STARTER#ID#_HELD) 0 (&gt;K:STARTER#ID#_SET) } 1 (&gt;O:_Abort)</SET_STATE_#POS_ABORT#> <TT_VALUE_#POS_ON#>@TT_Package.GT_STATE_ON</TT_VALUE_#POS_ON#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <TT_VALUE_#POS_ABORT#>@TT_Package.GT_STATE_ABORT</TT_VALUE_#POS_ABORT#> <GET_STATE_EXTERNAL>(A:GENERAL ENG STARTER:#ID#, Bool) sp0 (O:_Abort) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0 if{ #POS_ON# sp2 } els{ #POS_ABORT# #POS_OFF# (O:_Abort) ? sp2 } l2</ENUM_VAL_TO_POS_EXTERNAL> <SIMVAR_TO_WATCH_0>GENERAL ENG STARTER:#ID#</SIMVAR_TO_WATCH_0> </Case> <Case Value="AS04F"> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_3States</TEMPLATE_TO_CALL> <STARTER_TYPE>STARTER_IGNITION</STARTER_TYPE> <IGNITION_TYPE>ENG1_OFF_ENG2</IGNITION_TYPE> <CODE_POS_0>(&gt;B:ENGINE_Starter_Ignition_#ID#_Eng1)</CODE_POS_0> <CODE_POS_1>(&gt;B:ENGINE_Starter_Ignition_#ID#_Off)</CODE_POS_1> <CODE_POS_2>(&gt;B:ENGINE_Starter_Ignition_#ID#_Eng2)</CODE_POS_2> <STATE0_TEST>(A:GENERAL ENG STARTER:1, Bool)</STATE0_TEST> <STATE1_TEST>(A:GENERAL ENG STARTER:1, Bool) ! (A:GENERAL ENG STARTER:2, Bool) ! and</STATE1_TEST> <STATE2_TEST>(A:GENERAL ENG STARTER:2, Bool)</STATE2_TEST> </Case> <Default> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_Code</TEMPLATE_TO_CALL> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Starter_#ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_Starter_#ID#, Bool) 100 *</ANIM_CODE> </Default> </Switch> </Case> <Case Value="Push"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Starter_#ID#_Toggle)</LEFT_SINGLE_CODE> <Condition Valid="AIRLINER"> <True> <TEMPLATE_TO_CALL>ASOBO_GT_Push_Button_Airliner</TEMPLATE_TO_CALL> </True> <False> <TEMPLATE_TO_CALL>ASOBO_GT_Push_Button</TEMPLATE_TO_CALL> </False> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TOOLTIP_TITLE>@TT_Package.ENGINE_STARTER_TITLE</TOOLTIP_TITLE> <Switch Param="STARTER_TYPE"> <Case Value="STARTER_IGNITION"> <TOOLTIP_ENTRY_0>ENGINE_Starter_Ignition_#ID#</TOOLTIP_ENTRY_0> </Case> <Default> <TOOLTIP_ENTRY_0>ENGINE_Starter_#ID#</TOOLTIP_ENTRY_0> </Default> </Switch> </Parameters> <Switch Param="TYPE"> <Case Value="ON_OFF_ABORT"> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <IE_NAME>Starter_#ID#</IE_NAME> </UseTemplate> </Case> <Default> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <Switch Param="STARTER_TYPE"> <Case Value="STARTER_IGNITION"> <STARTER_IGNITER_ID>#ID#</STARTER_IGNITER_ID> </Case> <Default> <STARTER_ID>#ID#</STARTER_ID> </Default> </Switch> </UseInputEvent> <UseTemplate Name="#TEMPLATE_TO_CALL#"/> <Condition Check="UPDATE_CODE"> <True> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>1</FREQUENCY> </UseTemplate> </True> </Condition> </Component> </Default> </Switch> </Template> <Template Name="ASOBO_ENGINE_Ignition_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Ignition_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Ignition_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Ignition</PART_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <NUM_STATES>3</NUM_STATES> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_Ignition</SWITCH_POSITION_VAR> <Condition Check="NUM_STATES" match="2"> <True> <TYPE>AUTO_ON</TYPE> <WWISE_EVENT_1>engine_ignition_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_ignition_switch_off</WWISE_EVENT_2> </True> <False> <TYPE>OFF_ON_AUTO</TYPE> <WWISE_EVENT>engine_ignition_switch</WWISE_EVENT> </False> </Condition> </Case> <Case Value="Push"> <TYPE>AUTO_ON</TYPE> <WWISE_EVENT_1>engine_ignition_button_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <WWISE_EVENT_2>engine_ignition_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="OFF_AUTO"> <STATE_OFF>0</STATE_OFF> <STATE_AUTO>1</STATE_AUTO> <TOOLTIP_IGNITION_TITLE>@TT_Package.ENGINE_AUTO_IGNITION_TITLE</TOOLTIP_IGNITION_TITLE> </Case> <Case Value="AUTO_ON"> <STATE_AUTO>0</STATE_AUTO> <STATE_ON>1</STATE_ON> </Case> <Case Value="OFF_ON_AUTO"> <STATE_AUTO>0</STATE_AUTO> <STATE_ON>1</STATE_ON> <STATE_OFF>2</STATE_OFF> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Condition Check="UNDER_STARTER_AUTHORITY"> <True> <STARTER_AUTHORITY_TEST>(A:GENERAL ENG STARTER:#ID#, Bool) ! if{ quit }</STARTER_AUTHORITY_TEST> </True> <False> <STARTER_AUTHORITY_TEST/> </False> </Condition> </Case> <Case Value="Push"> <Switch Param="ID"> <!-- differenciate between LH and RH tooltips, to be reworked if we get planes w/ more than 2 ignition push switches --> <Case Value="1"> <TOOLTIPID>%((A:TURB ENG IGNITION SWITCH EX1:#ID#, enum) #STATE_ON#)%{if}TT:COCKPIT.TOOLTIPS.IGNITION_LH_ON%{else}TT:COCKPIT.TOOLTIPS.IGNITION_LH_OFF%{end}</TOOLTIPID> </Case> <Case Value="2"> <TOOLTIPID>%((A:TURB ENG IGNITION SWITCH EX1:#ID#, enum) #STATE_ON#)%{if}TT:COCKPIT.TOOLTIPS.IGNITION_RH_ON%{else}TT:COCKPIT.TOOLTIPS.IGNITION_RH_OFF%{end}</TOOLTIPID> </Case> </Switch> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="OFF_AUTO"> <IS_ON>(B:ENGINE_Ignition_#ID#, Number) #STATE_AUTO# ==</IS_ON> </Case> <Case Value="AUTO_ON"> <IS_ON>(B:ENGINE_Ignition_#ID#, Number) #STATE_ON# ==</IS_ON> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TOOLTIP_IGNITION_TITLE>@TT_Package.ENGINE_IGNITION_TITLE</TOOLTIP_IGNITION_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_IGNITION_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Ignition_#ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <IGNITER_ID>#ID#</IGNITER_ID> </UseInputEvent> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Condition Check="NUM_STATES" match="2"> <True> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Ignition_#ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>#IS_ON# 100 *</ANIM_CODE> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Switch_3States"> <CODE_POS_#STATE_AUTO#>(&gt;B:ENGINE_Ignition_#IGNITER_ID#_Auto)</CODE_POS_#STATE_AUTO#> <CODE_POS_#STATE_ON#>(&gt;B:ENGINE_Ignition_#IGNITER_ID#_On)</CODE_POS_#STATE_ON#> <CODE_POS_#STATE_OFF#>(&gt;B:ENGINE_Ignition_#IGNITER_ID#_Off)</CODE_POS_#STATE_OFF#> <STATE#STATE_AUTO#_TEST>(B:ENGINE_Ignition_#IGNITER_ID#, Number) #STATE_AUTO# ==</STATE#STATE_AUTO#_TEST> <STATE#STATE_ON#_TEST>(B:ENGINE_Ignition_#IGNITER_ID#, Number) #STATE_ON# ==</STATE#STATE_ON#_TEST> <STATE#STATE_OFF#_TEST>(B:ENGINE_Ignition_#IGNITER_ID#, Number) #STATE_OFF# ==</STATE#STATE_OFF#_TEST> </UseTemplate> </False> </Condition> </Case> <Case Value="Push"> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"> <SEQ1_EMISSIVE_CODE>#IS_ON#</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>#IS_ON# !</SEQ2_EMISSIVE_CODE> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Ignition_#ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Case> </Switch> </Component> </Template> <Template Name="ASOBO_ENGINE_Magneto_SubTemplate"> <Parameters Type="Default"> <Condition Valid="USE_LEGACY_NAMES"> <True> <CATEGORY>ELECTRICAL</CATEGORY> </True> <False> <CATEGORY>ENGINE</CATEGORY> </False> </Condition> </Parameters> <Parameters Type="Default"> <NODE_ID>#CATEGORY#_#INTERACTION_TYPE#_Magneto_#ID#</NODE_ID> <ANIM_NAME>#CATEGORY#_#INTERACTION_TYPE#_Magneto_#ID#</ANIM_NAME> <PART_ID>#CATEGORY#_#INTERACTION_TYPE#_Magneto</PART_ID> <OTHER_PART_ID>#CATEGORY#_#INTERACTION_TYPE#_Master</OTHER_PART_ID> <Condition Valid="COVERED"> <COVER_NODE_ID>ELECTRICAL_#INTERACTION_TYPE#_Starter_#ID#_Cover</COVER_NODE_ID> <COVER_ANIM_NAME>ELECTRICAL_#INTERACTION_TYPE#_Starter_#ID#_Cover</COVER_ANIM_NAME> </Condition> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <WWISE_EVENT_1>magneto_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>magneto_switch_off</WWISE_EVENT_2> </Case> <Case Value="OFF_ON_START"> <INDEX_OFF>0</INDEX_OFF> <INDEX_ON>1</INDEX_ON> <WWISE_EVENT>magneto_switch</WWISE_EVENT> </Case> <Default> <INDEX_OFF>0</INDEX_OFF> <INDEX_LEFT>1</INDEX_LEFT> <INDEX_RIGHT>2</INDEX_RIGHT> <INDEX_BOTH>3</INDEX_BOTH> <WWISE_EVENT>magneto_switch</WWISE_EVENT> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <TYPE>ON_OFF</TYPE> <MAGNETO_SIDE>#MAGNETO_ID#</MAGNETO_SIDE> <IE_MAGNETO_ID>#MAGNETO_ID#</IE_MAGNETO_ID> </Case> <Case Value="OFF_ON_START"> <IE_MAGNETO_ID>#MAGNETO_ID#</IE_MAGNETO_ID> <TYPE>OFF_ON_START</TYPE> <NUMSTATES>3</NUMSTATES> <INDEX_STARTER>2</INDEX_STARTER> <STATE_MAX_TIMER>1</STATE_MAX_TIMER> <STATE0_TIMER>0</STATE0_TIMER> <USE_STARTER>True</USE_STARTER> </Case> <Default> <IE_MAGNETO_ID>#ID#</IE_MAGNETO_ID> <Condition Check="USE_STARTER"> <True> <TYPE>OFF_L_R_BOTH_START</TYPE> <NUMSTATES>5</NUMSTATES> <INDEX_STARTER>4</INDEX_STARTER> <STATE_MAX_TIMER>1</STATE_MAX_TIMER> <STATE0_TIMER>0</STATE0_TIMER> </True> <False> <TYPE>OFF_L_R_BOTH</TYPE> <NUMSTATES>4</NUMSTATES> </False> </Condition> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="ON_OFF"> <STATE_OFF>0</STATE_OFF> <STATE_ON>1</STATE_ON> </Case> <Case Value="OFF_L_R_BOTH"> <STATE_OFF>#INDEX_OFF#</STATE_OFF> <STATE_L>#INDEX_LEFT#</STATE_L> <STATE_R>#INDEX_RIGHT#</STATE_R> <STATE_BOTH>#INDEX_BOTH#</STATE_BOTH> </Case> <Case Value="OFF_ON_START"> <STATE_OFF>#INDEX_OFF#</STATE_OFF> <STATE_ON>#INDEX_ON#</STATE_ON> <STATE_START>#INDEX_STARTER#</STATE_START> </Case> <Case Value="OFF_L_R_BOTH_START"> <STATE_OFF>#INDEX_OFF#</STATE_OFF> <STATE_L>#INDEX_LEFT#</STATE_L> <STATE_R>#INDEX_RIGHT#</STATE_R> <STATE_BOTH>#INDEX_BOTH#</STATE_BOTH> <STATE_START>#INDEX_STARTER#</STATE_START> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_MAGNETO_TITLE>@TT_Package.ENGINE_MAGNETO_TITLE</TOOLTIP_MAGNETO_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_MAGNETO_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Magneto_#IE_MAGNETO_ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <MAGNETO_ID>#ID#</MAGNETO_ID> </UseInputEvent> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <Condition Valid="COVERED"> <True> <UseTemplate Name="ASOBO_GT_Switch_Covered"> <Parameters Type="Default"> <SWITCH_NODE_ID>#NODE_ID#</SWITCH_NODE_ID> <SWITCH_ANIM_NAME>#ANIM_NAME#</SWITCH_ANIM_NAME> </Parameters> <INPUT_EVENT_ID>ENGINE</INPUT_EVENT_ID> <COVER_IE_NAME>Magneto_#MAGNETO_SIDE#_Cover</COVER_IE_NAME> <COVER_IE_ID_SOURCE>ENGINE</COVER_IE_ID_SOURCE> <COVER_VAR_NAME>XMLVAR_ENGINE_Magneto_#MAGNETO_ID#_#MAGNETO_SIDE#_Cover_Opened</COVER_VAR_NAME> <COVER_VAR_TYPE>I</COVER_VAR_TYPE> <!-- <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Magneto#IE_MAGNETO_ID#_#MAGNETO_SIDE#)</LEFT_SINGLE_CODE> --> <!-- <SWITCH_ANIM_CODE>(B:ENGINE_Magneto_#IE_MAGNETO_ID#_#MAGNETO_SIDE#, Number) 100 *</SWITCH_ANIM_CODE> --> <SWITCH_ANIM_CODE>(A:RECIP ENG #MAGNETO_SIDE# MAGNETO:#IE_MAGNETO_ID#, Number) 100 *</SWITCH_ANIM_CODE> <TOGGLE_STATE>(&gt;K:Magneto#IE_MAGNETO_ID#_#MAGNETO_SIDE#)</TOGGLE_STATE> <!-- <SET_SWITCH_ON>(&gt;B:ENGINE_Magneto#IE_MAGNETO_ID#_#MAGNETO_SIDE#)</SET_SWITCH_ON> --> <!-- <SET_SWITCH_OFF>(&gt;B:ENGINE_Magneto#IE_MAGNETO_ID#_#MAGNETO_SIDE#)</SET_SWITCH_OFF> --> <!-- <WWISE_EVENT_1>magneto_switch_on</WWISE_EVENT_1> --> <!-- <WWISE_EVENT_2>magneto_switch_off</WWISE_EVENT_2> --> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_ON# == 100 *</ANIM_CODE> </UseTemplate> </False> </Condition> </Case> <Default> <UseTemplate Name="ASOBO_GT_Switch_#NUMSTATES#States"> <CODE_POS_#INDEX_OFF#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Off)</CODE_POS_#INDEX_OFF#> <Switch Param="TYPE"> <Case Value="OFF_ON_START"> <CODE_POS_#INDEX_ON#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_On)</CODE_POS_#INDEX_ON#> <STATE#INDEX_ON#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_ON# ==</STATE#INDEX_ON#_TEST> </Case> <Default> <CODE_POS_#INDEX_LEFT#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Left)</CODE_POS_#INDEX_LEFT#> <CODE_POS_#INDEX_RIGHT#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Right)</CODE_POS_#INDEX_RIGHT#> <CODE_POS_#INDEX_BOTH#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Both)</CODE_POS_#INDEX_BOTH#> <STATE#INDEX_LEFT#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_L# ==</STATE#INDEX_LEFT#_TEST> <STATE#INDEX_RIGHT#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_R# ==</STATE#INDEX_RIGHT#_TEST> <STATE#INDEX_BOTH#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_BOTH# ==</STATE#INDEX_BOTH#_TEST> </Default> </Switch> <Condition Check="USE_STARTER"> <CODE_POS_#INDEX_STARTER#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Start)</CODE_POS_#INDEX_STARTER#> <MOMENTARY_SWITCH/> <SWITCH_POSITION_VAR_ISDOWN>XMLVAR_Magneto_Starter_IsHeld</SWITCH_POSITION_VAR_ISDOWN> <SWITCH_POSITION_TYPE_ISDOWN>L</SWITCH_POSITION_TYPE_ISDOWN> <STATE#INDEX_STARTER#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_START# ==</STATE#INDEX_STARTER#_TEST> </Condition> <STATE#INDEX_OFF#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_OFF# ==</STATE#INDEX_OFF#_TEST> </UseTemplate> </Default> </Switch> </Component> </Template> <Template Name="ASOBO_ENGINE_Plasma_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Plasma_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Plasma_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Plasma</PART_ID> <WWISE_EVENT_1>plasma_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>plasma_switch_off</WWISE_EVENT_2> <TYPE>ON_OFF</TYPE> <PLASMA_SIDE>#ID#</PLASMA_SIDE> <IE_PLASMA_ID>#ID#</IE_PLASMA_ID> <PLASMA_ID>#ID#</PLASMA_ID> <STATE_OFF>0</STATE_OFF> <STATE_ON>1</STATE_ON> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_PLASMA_TITLE>@TT_Package.ENGINE_SWITCH_PLASMA_TITLE</TOOLTIP_PLASMA_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_SWITCH_PLASMA_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_PLASMA_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Plasma_#IE_PLASMA_ID#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_SWITCH_PLASMA_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="ENGINE"> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Plasma_#IE_PLASMA_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_Plasma_#IE_PLASMA_ID#, Number) #STATE_ON# == 100 *</ANIM_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO_ENGINE_Master_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Master_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Master_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Master</PART_ID> <WWISE_PREFIX>engine_master</WWISE_PREFIX> <ENGINE_ID>#ID#</ENGINE_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="TYPE"> <Case Value="AIRBUS"> <USE_FUELSYSTEM>True</USE_FUELSYSTEM> <VALVE_ID>#ID#</VALVE_ID> <SEQ1_NODE_ID>#NODE_ID#_SEQ1</SEQ1_NODE_ID> </Case> <Case Value="LOCKED"> <LOCK_NODE_ID>ENGINE_#INTERACTION_TYPE#_Master_#ID#_Lock</LOCK_NODE_ID> <LOCK_ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Master_#ID#_Lock</LOCK_ANIM_NAME> <WWISE_COVER_EVENT_OPEN>engine_cover_master_switch_on</WWISE_COVER_EVENT_OPEN> <WWISE_COVER_EVENT_CLOSE>engine_cover_master_switch_off</WWISE_COVER_EVENT_CLOSE> <COVER_IE_NAME>Master_#ID#_Cover</COVER_IE_NAME> <COVER_IE_ID_SOURCE>ENGINE</COVER_IE_ID_SOURCE> </Case> </Switch> </Case> </Switch> <TOOLTIP_TITLE>@TT_Package.ENGINE_SWITCH_MASTER_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_SWITCH_MASTER_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Default"> <Condition Valid="USE_FUELSYSTEM"> <True> <GET_MASTER>(A:FUELSYSTEM VALVE SWITCH:#VALVE_ID#, Bool)</GET_MASTER> <GET_STARTER>(A:GENERAL ENG STARTER:#ENGINE_ID#, Bool)</GET_STARTER> <SIMVAR_TO_WATCH_0>FUELSYSTEM VALVE SWITCH:#VALVE_ID#</SIMVAR_TO_WATCH_0> <SIMVAR_TO_WATCH_1>GENERAL ENG STARTER:#ENGINE_ID#</SIMVAR_TO_WATCH_1> </True> <False> <GET_MASTER>(A:RECIP ENG ENGINE MASTER SWITCH:#ENGINE_ID#, Bool)</GET_MASTER> <SIMVAR_TO_WATCH_0>RECIP ENG ENGINE MASTER SWITCH:#ENGINE_ID#</SIMVAR_TO_WATCH_0> </False> </Condition> </Parameters> <Parameters Type="Default"> <Condition Valid="USE_FUELSYSTEM"> <True> <SET_STARTER>s0 #GET_STARTER# != if{ (&gt;K:TOGGLE_STARTER#ENGINE_ID#) }</SET_STARTER> <SET_MASTER>s0 #GET_MASTER# != if{ l0 if{ #VALVE_ID# (&gt;K:FUELSYSTEM_VALVE_OPEN) } els{ #VALVE_ID# (&gt;K:FUELSYSTEM_VALVE_CLOSE) } }</SET_MASTER> </True> <False> <SET_MASTER>s0 #GET_MASTER# != if{ (&gt;K:ENGINE_MASTER_#ENGINE_ID#_TOGGLE) }</SET_MASTER> </False> </Condition> </Parameters> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <IE_NAME>Master_#ID#</IE_NAME> <Switch Param="TYPE"> <Case Value="LOCKED"> <TEMPLATE_TO_USE>ASOBO_GT_Switch_Covered</TEMPLATE_TO_USE> <CREATE_COMPONENT>False</CREATE_COMPONENT> <SWITCH_NODE_ID>#NODE_ID#</SWITCH_NODE_ID> <SWITCH_ANIM_NAME>#ANIM_NAME#</SWITCH_ANIM_NAME> <COVER_NODE_ID>#LOCK_NODE_ID#</COVER_NODE_ID> <COVER_ANIM_NAME>#LOCK_ANIM_NAME#</COVER_ANIM_NAME> <COVER_VAR_NAME>XMLVAR_ENGINE_Switch_Master_Cover_Opened</COVER_VAR_NAME> <COVER_VAR_TYPE>O</COVER_VAR_TYPE> <ON_STATE_CHANGED_EXTERNAL_CODE>(B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#, Bool) ! if{ (&gt;B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Open) }</ON_STATE_CHANGED_EXTERNAL_CODE> </Case> </Switch> <Condition Valid="USE_FUELSYSTEM"> <True> <SET_STATE_EXTERNAL>p0 #SET_MASTER# p0 #SET_STARTER#</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>#GET_MASTER# s0 #GET_STARTER# != if{ #GET_MASTER# #SET_STARTER# } l0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </True> <False> <SET_STATE_EXTERNAL>p0 #SET_MASTER#</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>#GET_MASTER# sp0</GET_STATE_EXTERNAL> </False> </Condition> </UseTemplate> <Switch Param="TYPE"> <Case Value="AIRBUS"> <Condition Check="POTENTIOMETER"> <Component ID="#SEQ1_NODE_ID#" Node="#SEQ1_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(A:LIGHT POTENTIOMETER:#POTENTIOMETER#, Percent over 100)</EMISSIVE_CODE> </UseTemplate> </Component> </Condition> </Case> </Switch> </Template> <Template Name="ASOBO_ENGINE_Choke_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Choke</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Choke</ANIM_NAME> <VAR_NAME>XMLVAR_ENGINE_#INTERACTION_TYPE#_Choke_Pulled</VAR_NAME> <VAR_SCOPE>L</VAR_SCOPE> <PART_ID>ENGINE_#INTERACTION_TYPE#_CHOKE</PART_ID> <WWISE_EVENT_1>lever_choke_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>lever_choke_switch_off</WWISE_EVENT_2> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_CHOKE_ACTION_SET</TT_DESCRIPTION_ID> <TOOLTIP_TITLE>@TT_Package.ENGINE_CHOKE_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Choke_#ID#</TOOLTIP_ENTRY_0> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch> <Case Valid="USE_DRAGGING_INTERACTION"> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <SCROLL_INCREMENT>10</SCROLL_INCREMENT> </Case> </Switch> </Case> </Switch> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch> <Case Valid="USE_DRAGGING_INTERACTION"> <Component ID="#NODE_ID#_#ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <LEVER_ID>Choke_#ID#</LEVER_ID> </Parameters> <UseInputEvent ID="ENGINE"> <GET_STATE_EXTERNAL>(#VAR_SCOPE#:#VAR_NAME#)</GET_STATE_EXTERNAL> <SET_STATE_EXTERNAL>(&gt;#VAR_SCOPE#:#VAR_NAME#)</SET_STATE_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <CURSOR>Grab</CURSOR> <NO_ARROWS/> <DRAG_CODE>100 (M:DragPercent) * 100 min 0 max (&gt;B:ENGINE_#LEVER_ID#_Set)</DRAG_CODE> <ANIM_CODE>(B:ENGINE_#LEVER_ID#, percent)</ANIM_CODE> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <POSITIVE_AXIS_CODE>#SCROLL_INCREMENT# (&gt;B:ENGINE_#LEVER_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>#SCROLL_INCREMENT# (&gt;B:ENGINE_#LEVER_ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Component> </Case> <Default> <Component ID="#NODE_ID#_#ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <BTN_ID>Choke_#ID#</BTN_ID> </Parameters> <UseInputEvent ID="ENGINE"> <SET_STATE_ON>1 (&gt;#VAR_SCOPE#:#VAR_NAME#)</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;#VAR_SCOPE#:#VAR_NAME#)</SET_STATE_OFF> <GET_STATE_EXTERNAL>(#VAR_SCOPE#:#VAR_NAME#) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_#BTN_ID#, percent)</ANIM_CODE> </UseTemplate> </Component> </Default> </Switch> </Case> </Switch> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template> <Template Name="ASOBO_ENGINE_Primer_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Primer_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Primer_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Primer</PART_ID> <THRESHOLD>0.75</THRESHOLD> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <WWISE_EVENT_1>engine_primer_lever</WWISE_EVENT_1> </Case> <Case Value="Switch"> <WWISE_EVENT_1>engine_primer_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_primer_switch_off</WWISE_EVENT_2> <MOMENTARY>True</MOMENTARY> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_PRIMER_ACTION</TT_DESCRIPTION_ID> <TOOLTIP_PRIMER_TITLE>@TT_Package.ENGINE_PRIMER_TITLE</TOOLTIP_PRIMER_TITLE> </Parameters> <Parameters Type="Default"> <COVER_NODE_ID>ENGINE_#INTERACTION_TYPE#_Primer_#ID#_Cover</COVER_NODE_ID> <COVER_ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Primer_#ID#_Cover</COVER_ANIM_NAME> <TT_DESCRIPTION_ID_COVER>@TT_Package.COMMON_COVER_ACTION</TT_DESCRIPTION_ID_COVER> <TOOLTIP_PRIMER_TITLE_COVER>@TT_Package.COMMON_COVER_TITLE</TOOLTIP_PRIMER_TITLE_COVER> <IE_NAME_COVER>Primer_#ID#_#INTERACTION_TYPE#_Cover</IE_NAME_COVER> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_PRIMER_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Primer_#ID#_#INTERACTION_TYPE#</TOOLTIP_ENTRY_0> <IE_NAME_BASE>Primer_#ID#_#INTERACTION_TYPE#</IE_NAME_BASE> <Condition Valid="IS_ELECTRICAL"> <True> <FAILURE_CHECK>(A:CIRCUIT ON:3, Bool) and</FAILURE_CHECK> </True> <False> <FAILURE_CHECK/> </False> </Condition> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="LEVER"> <UseInputEvent ID="ENGINE"> <BTN_ID>#IE_NAME_BASE#</BTN_ID> <TT_ICON>MOVE_AXIS_Y</TT_ICON> <ANIM>EXTERNAL</ANIM> <SET_STATE_EXTERNAL>if{ (&gt;K:TOGGLE_PRIMER#ID#) }</SET_STATE_EXTERNAL> <BINDING_SET_0>Toggle</BINDING_SET_0> <BINDING_SET_0_PARAM_0>0 1 (A:RECIP ENG PRIMER:#ID#, position) #THRESHOLD# &gt; ?</BINDING_SET_0_PARAM_0> <BINDING_SET_0_PARAM_0_IS_DYNAMIC>True</BINDING_SET_0_PARAM_0_IS_DYNAMIC> <TT_VALUE>(A:RECIP ENG PRIMER:#ID#, percent) '%d%%' @sprintf</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> </UseInputEvent> <UseInputEvent ID="ENGINE"> <BTN_ID>#IE_NAME_BASE#_Lock</BTN_ID> <TT_ICON>MOVE_AXIS_Y</TT_ICON> <ANIM>EXTERNAL</ANIM> <SET_STATE_EXTERNAL>if{ (&gt;K:TOGGLE_PRIMER#ID#) }</SET_STATE_EXTERNAL> <BINDING_SET_0>Toggle</BINDING_SET_0> <BINDING_SET_0_PARAM_0>0 1 (A:RECIP ENG PRIMER:#ID#, position) #THRESHOLD# &gt; ?</BINDING_SET_0_PARAM_0> <BINDING_SET_0_PARAM_0_IS_DYNAMIC>True</BINDING_SET_0_PARAM_0_IS_DYNAMIC> <TT_VALUE>(A:RECIP ENG PRIMER:#ID#, percent) '%d%%' @sprintf</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#IE_NAME_BASE#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(A:RECIP ENG PRIMER:#ID#, percent)</ANIM_CODE> </UseTemplate> </Case> <Case Value="SWITCH"> <UseInputEvent ID="ENGINE"> <BTN_ID>#IE_NAME_BASE#</BTN_ID> <SET_STATE_ON>1 (&gt;O:XMLVAR_PRIMER#ID#_SWITCH_ON)</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;O:XMLVAR_PRIMER#ID#_SWITCH_ON)</SET_STATE_OFF> <GET_STATE_EXTERNAL>(O:XMLVAR_PRIMER#ID#_SWITCH_ON) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>2</FREQUENCY> <UPDATE_CODE> (B:ENGINE_#IE_NAME_BASE#, Bool) if{ (A:RECIP ENG PRIMER:#ID#, Position) #THRESHOLD# &lt; #FAILURE_CHECK# if{ (&gt;K:TOGGLE_PRIMER#ID#) } } </UPDATE_CODE> </UseTemplate> <Condition Valid="MOMENTARY"> <True> <UseTemplate Name="ASOBO_GT_Push_Button"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#IE_NAME_BASE#_On)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>(&gt;B:ENGINE_#IE_NAME_BASE#_Off)</LEFT_LEAVE_CODE> <OVERRIDE_ANIM_CODE>(B:ENGINE_#IE_NAME_BASE#, percent)</OVERRIDE_ANIM_CODE> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#IE_NAME_BASE#_Toggle)</LEFT_SINGLE_CODE> <OVERRIDE_ANIM_CODE>(B:ENGINE_#IE_NAME_BASE#, percent)</OVERRIDE_ANIM_CODE> </UseTemplate> </False> </Condition> </Case> </Switch> </Component> <Condition Valid="COVERED"> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <TOOLTIP_TITLE>#TOOLTIP_PRIMER_TITLE_COVER#</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_COVER#</TT_DESCRIPTION_ID> <TOOLTIP_ENTRY_0>ENGINE_Primer_#ID#_#INTERACTION_TYPE#_Cover</TOOLTIP_ENTRY_0> <BTN_ID>#IE_NAME_COVER#</BTN_ID> <IE_NAME>#IE_NAME_COVER#</IE_NAME> <NODE_ID>#COVER_NODE_ID#</NODE_ID> <ANIM_NAME>#COVER_ANIM_NAME#</ANIM_NAME> <SET_STATE_EXTERNAL>p0 (&gt;O:XMLVAR_PRIMER#ID#_COVER)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(O:XMLVAR_PRIMER#ID#_COVER) sp0</GET_STATE_EXTERNAL> </UseTemplate> </Condition> </Template> <Template Name="ASOBO_ENGINE_Alternate_Air_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_AlternateAir_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_AlternateAir_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_AlternateAir</PART_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <WWISE_EVENT_1>engine_alternate_air_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_alternate_air_switch_off</WWISE_EVENT_2> </Case> <Case Value="Lever"> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <SCROLL_INCREMENT Process="Int">16384 20 /</SCROLL_INCREMENT> <WWISE_EVENT_1>engine_alternate_air_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_alternate_air_switch_off</WWISE_EVENT_2> <Condition Check="USE_BUTTON"> <BUTTON_ANIM_NAME>ENGINE_Switch_AlternateAir_#ID#_Button</BUTTON_ANIM_NAME> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <BTN_ID>Alternate_Air</BTN_ID> </Case> <Case Value="Lever"> <LEVER_ID>Alternate_Air</LEVER_ID> </Case> </Switch> <TOOLTIP_TITLE>@TT_Package.CABIN_ALTERNATE_AIR_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Alternate_Air</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.CABIN_ALTERNATE_AIR_ACTION</TT_DESCRIPTION_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <UseInputEvent ID="ENGINE"> <SET_STATE_ON>1 (&gt;K:ANTI_ICE_SET_ENG#ID#)</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;K:ANTI_ICE_SET_ENG#ID#)</SET_STATE_OFF> <GET_STATE_EXTERNAL>(A:RECIP ENG ALTERNATE AIR POSITION:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <ANIM_CODE>(B:ENGINE_#BTN_ID#, Bool) 100 *</ANIM_CODE> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Case> <Case Value="Lever"> <UseInputEvent ID="ENGINE"> <SET_STATE_EXTERNAL>(&gt;K:ANTI_ICE_GRADUAL_SET_ENG#ID#)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:RECIP ENG ALTERNATE AIR POSITION:#ID#, position 16k)</GET_STATE_EXTERNAL> <GET_TT_VALUE_STATE>(A:RECIP ENG ALTERNATE AIR POSITION:#ID#, percent)</GET_TT_VALUE_STATE> <INC_PARAM_0>p0 #SCROLL_INCREMENT# *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>p0 #SCROLL_INCREMENT# *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> <SET_PARAM_0>p0 16384 *</SET_PARAM_0> <SET_PARAM_0_IS_DYNAMIC>True</SET_PARAM_0_IS_DYNAMIC> <INC_CODE_ADJUST_VALUE>16384 /</INC_CODE_ADJUST_VALUE> <DEC_CODE_ADJUST_VALUE>16384 /</DEC_CODE_ADJUST_VALUE> <MIN_VALUE>0</MIN_VALUE> <MAX_VALUE>16384</MAX_VALUE> <VALUE_UNITS>position 16k</VALUE_UNITS> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <CURSOR>Grab</CURSOR> <NO_ARROWS/> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE>(M:DragPercent) (&gt;B:ENGINE_#LEVER_ID#_Set)</DRAG_CODE> <ANIM_CODE>(B:ENGINE_#LEVER_ID#, percent)</ANIM_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> <Condition Check="USE_BUTTON"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <ANIM_CODE>(O:_Interacting) 100 *</ANIM_CODE> </UseTemplate> </Condition> </Case> </Switch> </Component> </Template> <Template Name="ASOBO_ENGINE_ECU_Swap_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_ECU_Swap</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_ECU_Swap</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_ECU_Swap</PART_ID> <WWISE_EVENT_1>ecu_swap_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>ecu_swap_switch_off</WWISE_EVENT_2> <TOOLTIP_ECU_SWAP_TITLE>@TT_Package.ECU_SWAP_TITLE</TOOLTIP_ECU_SWAP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ECU_SWAP_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Override"> <BTN_ID>ECU_Swap</BTN_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <SET_STATE_EXTERNAL>p0 (&gt;L:XMLVAR_SwitchECUSwap)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(L:XMLVAR_SwitchECUSwap) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <STR_STATE_OFF>Automatic</STR_STATE_OFF> <STR_STATE_ON>Ecu_B</STR_STATE_ON> <TT_VALUE_OFF>(R:1:@TT_Package.GT_STATE_AUTO)</TT_VALUE_OFF> <TT_VALUE_ON>(R:1:@TT_Package.GT_STATE_ECU_B)</TT_VALUE_ON> <TT_ICON>MOVE_Y</TT_ICON> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <TOOLTIP_TITLE>#TOOLTIP_ECU_SWAP_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_#BTN_ID#, Bool) 100 *</ANIM_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO_ENGINE_ECU_Test_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_ECU_Test</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_ECU_Test</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_ECU_Test</PART_ID> <WWISE_EVENT_1>ecu_swap_button_on</WWISE_EVENT_1> <WWISE_EVENT_2>ecu_swap_button_off</WWISE_EVENT_2> <TOOLTIP_ECU_TEST_TITLE>@TT_Package.SWITCH_ECU_TEST_TITLE</TOOLTIP_ECU_TEST_TITLE> <TT_DESCRIPTION_ID>@TT_Package.SWITCH_ECU_TEST_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Override"> <BTN_ID>ECU_Test</BTN_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <BINDING_DEC_0>Release</BINDING_DEC_0> <BINDING_DEC_0_PARAM_0>0</BINDING_DEC_0_PARAM_0> <SET_STATE_EXTERNAL>p0 if{ 1 (&gt;L:XMLVAR_SwitchECUBtn) } els{ 0 (&gt;L:XMLVAR_SwitchECUBtn) }</SET_STATE_EXTERNAL> <BINDING_INC_0>Push</BINDING_INC_0> <BINDING_INC_0_PARAM_0>1</BINDING_INC_0_PARAM_0> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Push_Button_Held"> <TOOLTIP_TITLE>#TOOLTIP_ECU_TEST_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Push)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>(&gt;B:ENGINE_#BTN_ID#_Release)</LEFT_LEAVE_CODE> <OVERRIDE_ANIM_CODE>(L:XMLVAR_SwitchECUBtn) 100 *</OVERRIDE_ANIM_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO_ENGINE_Switch_Engine_Mode_SubTemplate"> <Parameters Type="Default"> <ENGINE_COUNT>2</ENGINE_COUNT> <NODE_ID>ENGINE_Switch_Engine_Mode</NODE_ID> <ANIM_NAME>ENGINE_Switch_Engine_Mode</ANIM_NAME> <PART_ID>ENGINE_Switch_Engine_Mode</PART_ID> <SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION> <ARROW_TYPE>Curved</ARROW_TYPE> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_ENG_MODE_SEL</SWITCH_POSITION_VAR> <WWISE_EVENT>engine_mode_switch</WWISE_EVENT> <TOOLTIP_ENG_MODE_TITLE>@TT_Package.ENGINE_SWITCH_ENGINE_MODE_TITLE</TOOLTIP_ENG_MODE_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_SWITCH_ENGINE_MODE_ACTION</TT_DESCRIPTION_ID> <POS_CRANK>0</POS_CRANK> <POS_NORM>1</POS_NORM> <POS_IGN_START>2</POS_IGN_START> <ON_STATE_CRANK/> <ON_STATE_NORM/> <ON_STATE_IGN_START/> </Parameters> <Parameters Type="Override"> <BTN_ID>Mode</BTN_ID> <NUM_STATES>3</NUM_STATES> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>ENG_ID</Param> <From>1</From> <Inc>1</Inc> <To>#ENGINE_COUNT#</To> </Setup> <Do> <Parameters Type="Default" Lifetime="Loop"> <GET_STATE_EXTERNAL_T/> <ENUM_VAL_TO_POS_EXTERNAL_T_CRANK>1</ENUM_VAL_TO_POS_EXTERNAL_T_CRANK> <ENUM_VAL_TO_POS_EXTERNAL_T_NORM>1</ENUM_VAL_TO_POS_EXTERNAL_T_NORM> <ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START>1</ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <GET_STATE_EXTERNAL_T>#GET_STATE_EXTERNAL_T# (A:TURB ENG IGNITION SWITCH EX1:#ENG_ID#, Enum) sp#ENG_ID#</GET_STATE_EXTERNAL_T> <ENUM_VAL_TO_POS_EXTERNAL_T_CRANK>#ENUM_VAL_TO_POS_EXTERNAL_T_CRANK# l#ENG_ID# 0 == and</ENUM_VAL_TO_POS_EXTERNAL_T_CRANK> <ENUM_VAL_TO_POS_EXTERNAL_T_NORM>#ENUM_VAL_TO_POS_EXTERNAL_T_NORM# l#ENG_ID# 1 == and</ENUM_VAL_TO_POS_EXTERNAL_T_NORM> <ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START>#ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START# l#ENG_ID# 2 == and</ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START> </Parameters> </Do> <Then> <BINDING_SET_#POS_CRANK#_EVENT_ID>ENGINE_MODE_CRANK_SET</BINDING_SET_#POS_CRANK#_EVENT_ID> <BINDING_SET_#POS_NORM#_EVENT_ID>ENGINE_MODE_NORM_SET</BINDING_SET_#POS_NORM#_EVENT_ID> <BINDING_SET_#POS_IGN_START#_EVENT_ID>ENGINE_MODE_IGN_SET</BINDING_SET_#POS_IGN_START#_EVENT_ID> <SET_STATE_#POS_CRANK#>0 (&gt;K:TURBINE_IGNITION_SWITCH_SET) #ON_STATE_CRANK#</SET_STATE_#POS_CRANK#> <SET_STATE_#POS_NORM#>1 (&gt;K:TURBINE_IGNITION_SWITCH_SET) #ON_STATE_NORM#</SET_STATE_#POS_NORM#> <SET_STATE_#POS_IGN_START#>2 (&gt;K:TURBINE_IGNITION_SWITCH_SET) #ON_STATE_IGN_START#</SET_STATE_#POS_IGN_START#> <ENUM_VAL_TO_POS_EXTERNAL>#POS_NORM# sp0 #ENUM_VAL_TO_POS_EXTERNAL_T_CRANK# if{ #POS_CRANK# sp0 g2 } #ENUM_VAL_TO_POS_EXTERNAL_T_NORM# if{ #POS_NORM# sp0 g2 } #ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START# if{ #POS_IGN_START# sp0 g2 } :2 l0 </ENUM_VAL_TO_POS_EXTERNAL> <GET_STATE_EXTERNAL>#GET_STATE_EXTERNAL_T#</GET_STATE_EXTERNAL> </Then> </Loop> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <STR_STATE_#POS_CRANK#>Crank</STR_STATE_#POS_CRANK#> <STR_STATE_#POS_NORM#>Norm</STR_STATE_#POS_NORM#> <STR_STATE_#POS_IGN_START#>Ignition_Start</STR_STATE_#POS_IGN_START#> <TT_VALUE_#POS_CRANK#>@TT_Package.GT_STATE_CRANK</TT_VALUE_#POS_CRANK#> <TT_VALUE_#POS_NORM#>@TT_Package.GT_STATE_NORMAL</TT_VALUE_#POS_NORM#> <TT_VALUE_#POS_IGN_START#>@TT_Package.GT_STATE_IGNITION</TT_VALUE_#POS_IGN_START#> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_3States"> <TOOLTIP_TITLE>#TOOLTIP_ENG_MODE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> <CODE_POS_#POS_CRANK#>(&gt;B:ENGINE_#BTN_ID#_Crank)</CODE_POS_#POS_CRANK#> <CODE_POS_#POS_NORM#>(&gt;B:ENGINE_#BTN_ID#_Norm)</CODE_POS_#POS_NORM#> <CODE_POS_#POS_IGN_START#>(&gt;B:ENGINE_#BTN_ID#_Ignition_Start)</CODE_POS_#POS_IGN_START#> <STATE#POS_CRANK#_TEST>(B:ENGINE_#BTN_ID#) #POS_CRANK# ==</STATE#POS_CRANK#_TEST> <STATE#POS_NORM#_TEST>(B:ENGINE_#BTN_ID#) #POS_NORM# ==</STATE#POS_NORM#_TEST> <STATE#POS_IGN_START#_TEST>(B:ENGINE_#BTN_ID#) #POS_IGN_START# ==</STATE#POS_IGN_START#_TEST> </UseTemplate> </Component> </Template> <Template Name="ASOBO_ENGINE_Push_Starter_Disengage_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_Push_Starter_Disengage_#ID#</NODE_ID> <ANIM_NAME>ENGINE_Push_Starter_Disengage_#ID#</ANIM_NAME> <WWISE_EVENT_1>engine_start_push_button_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_start_push_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <TOOLTIP_STARTER_DISENGAGE_TITLE>@TT_Package.ENGINE_STARTER_DISENGAGE_TITLE</TOOLTIP_STARTER_DISENGAGE_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_STARTER_DISENGAGE_ACTION</TT_DESCRIPTION_ID> <ONLY_SEQ1/> <SEQ1_EMISSIVE_CODE>(A:GENERAL ENG STARTER:#ID#, Bool)</SEQ1_EMISSIVE_CODE> <Switch Param="TYPE"> <Case Value="TWO_ENGINES"> <ID_ENG_1>1</ID_ENG_1> <ID_ENG_2>2</ID_ENG_2> </Case> <Case Value="ALL_ENGINES"> <ID_ENG_1>1</ID_ENG_1> <ID_ENG_2>2</ID_ENG_2> <ID_ENG_3>3</ID_ENG_3> <ID_ENG_4>4</ID_ENG_4> </Case> </Switch> </Parameters> <Parameters Type="Override"> <BTN_ID>Starter_Disengage</BTN_ID> <Switch Param="TYPE"> <Case Value="TWO_ENGINES"> <DISENGAGE_STARTER> (A:GENERAL ENG STARTER:#ID_ENG_1#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_1#) } (A:GENERAL ENG STARTER:#ID_ENG_2#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_2#) } </DISENGAGE_STARTER> </Case> <Case Value="ALL_ENGINES"> <DISENGAGE_STARTER> (A:GENERAL ENG STARTER:#ID_ENG_1#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_1#) } (A:GENERAL ENG STARTER:#ID_ENG_2#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_2#) } (A:GENERAL ENG STARTER:#ID_ENG_3#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_3#) } (A:GENERAL ENG STARTER:#ID_ENG_4#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_4#) } </DISENGAGE_STARTER> </Case> <Default> <DISENGAGE_STARTER>(A:GENERAL ENG STARTER:#ID#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID#) }</DISENGAGE_STARTER> </Default> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <SET_STATE_EXTERNAL>p0 if{ #DISENGAGE_STARTER# }</SET_STATE_EXTERNAL> <BINDING_INC_0>Push</BINDING_INC_0> <BINDING_INC_0_PARAM_0>1</BINDING_INC_0_PARAM_0> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Push_Button"> <TOOLTIP_TITLE>#TOOLTIP_STARTER_DISENGAGE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Push)</LEFT_SINGLE_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO_ENGINE_Lever_CowlFlaps_SubTemplate"> <Parameters Type="Default"> <ANIM_NAME>ENGINE_Lever_CowlFlaps_#ID#</ANIM_NAME> <NODE_ID>ENGINE_Lever_CowlFlaps_#ID#</NODE_ID> <PART_ID>ENGINE_Lever_CowlFlaps</PART_ID> <IE_COWLFLAPS_ID>CowlFlaps</IE_COWLFLAPS_ID> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <SCROLL_INCREMENT Process="Int">16384 20 /</SCROLL_INCREMENT> <TOOLTIP_TITLE>@TT_Package.ENGINE_COWFLAPS_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_COWFLAPS_ACTION</TT_DESCRIPTION_ID> <TT_DESCRIPTION_INDEX>#ID#</TT_DESCRIPTION_INDEX> </Parameters> <Parameters Type="Default"> <Condition Check="USE_BUTTON"> <BUTTON_NODE_ID>HANDLING_COWLFLAPS</BUTTON_NODE_ID> <BUTTON_ANIM_NAME>ENGINE_LEVER_COWLFLAPS_PUSH</BUTTON_ANIM_NAME> </Condition> </Parameters> <Parameters Type="Default"> <Condition Check="BUTTON_NODE_ID"> <BUTTON_VAR_NAME>XMLVAR_Interacting_With_Lever_CowlFlaps</BUTTON_VAR_NAME> <BUTTON_VAR_SCOPE>I</BUTTON_VAR_SCOPE> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="BUTTON_NODE_ID"> <LOCK_CODE>1 (&gt;#BUTTON_VAR_SCOPE#:#BUTTON_VAR_NAME#)</LOCK_CODE> <UNLOCK_CODE>0 (&gt;#BUTTON_VAR_SCOPE#:#BUTTON_VAR_NAME#)</UNLOCK_CODE> </Condition> <LEVER_ID>#IE_COWLFLAPS_ID#</LEVER_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <SIMVAR_TO_WATCH_0>RECIP ENG COWL FLAP POSITION:#ID#</SIMVAR_TO_WATCH_0> <SET_STATE_EXTERNAL>(&gt;K:COWLFLAP#ID#_SET)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:RECIP ENG COWL FLAP POSITION:#ID#, position 16k)</GET_STATE_EXTERNAL> <GET_TT_VALUE_STATE>(A:RECIP ENG COWL FLAP POSITION:#ID#, percent)</GET_TT_VALUE_STATE> <INC_PARAM_0>p0 #SCROLL_INCREMENT# *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>p0 #SCROLL_INCREMENT# *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> <SET_PARAM_0>p0 16384 *</SET_PARAM_0> <SET_PARAM_0_IS_DYNAMIC>True</SET_PARAM_0_IS_DYNAMIC> <INC_CODE_ADJUST_VALUE>16384 /</INC_CODE_ADJUST_VALUE> <DEC_CODE_ADJUST_VALUE>16384 /</DEC_CODE_ADJUST_VALUE> <MIN_VALUE>0</MIN_VALUE> <MAX_VALUE>16384</MAX_VALUE> <VALUE_UNITS>position 16k</VALUE_UNITS> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <TOOLTIP_ENTRY_0>ENGINE_#LEVER_ID#</TOOLTIP_ENTRY_0> <CURSOR>Grab</CURSOR> <NO_ARROWS/> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE>(M:DragPercent) (&gt;B:ENGINE_#LEVER_ID#_Set)</DRAG_CODE> <ANIM_CODE>(B:ENGINE_#LEVER_ID#, percent)</ANIM_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> <Condition Check="BUTTON_NODE_ID"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_LAG>800</ANIM_LAG> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <ANIM_CODE>(#BUTTON_VAR_SCOPE#:#BUTTON_VAR_NAME#) 100 *</ANIM_CODE> </UseTemplate> </Condition> </Component> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template> <Template Name="ASOBO_ENGINE_TOGA_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_TOGA_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_TOGA_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_TOGA</PART_ID> <WWISE_EVENT_1>engine_toga_switch_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <WWISE_EVENT_2>engine_toga_switch_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <ON_PUSH_TO_GA/> </Parameters> <Parameters Type="Override"> <BTN_ID>TOGA_#ID#</BTN_ID> </Parameters> <Parameters Type="Default"> <TOOLTIP_TITLE>@TT_Package.ENGINE_PUSH_TOGA_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_PUSH_TOGA_ACTION</TT_DESCRIPTION_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <SET_STATE_EXTERNAL>p0 (A:AUTOPILOT TAKEOFF POWER ACTIVE, Bool) != if{ (&gt;K:AUTO_THROTTLE_TO_GA) #ON_PUSH_TO_GA# }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:AUTOPILOT TAKEOFF POWER ACTIVE, Bool) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <Switch Param="INTERACTION_TYPE"> <Case Value="Push"> <UseTemplate Name="ASOBO_GT_Push_Button"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Case> <Case Value="Switch"> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_#BTN_ID#, Bool) 100 *</ANIM_CODE> </UseTemplate> </Case> </Switch> </Component> </Template> <!-- #################################################### --> <Template Name="ASOBO_ENGINE_Lever_Condition_SubTemplate"> <Parameters Type="Default"> <ANIM_NAME>ENGINE_Lever_Condition_#ID#</ANIM_NAME> <NODE_ID>ENGINE_Lever_Condition_#ID#</NODE_ID> <PART_ID>ENGINE_Lever_Condition</PART_ID> </Parameters> <Parameters Type="Default"> <DRAG_AXIS_SCALE>-450</DRAG_AXIS_SCALE> <POSITION_TYPE>L</POSITION_TYPE> <POSITION_VAR>XMLVAR_ConditionLever_#ID#_Position</POSITION_VAR> <DRAG_ANIMATION_VARIABLE_TYPE>O</DRAG_ANIMATION_VARIABLE_TYPE> <DRAG_ANIMATION_VARIABLE_NAME>XMLVAR_#NODE_ID#_Animation_Position</DRAG_ANIMATION_VARIABLE_NAME> <AXIS>Y</AXIS> <NO_ARROWS/> <CURSOR>Hand</CURSOR> <USE_TRAJECTORY_DRAG_MODE>true</USE_TRAJECTORY_DRAG_MODE> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_NODE_ID>#NODE_ID#</DRAG_NODE_ID> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.ENG_#ID#_CONDITION_LEVER</TOOLTIPID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>(#DRAG_ANIMATION_VARIABLE_TYPE#:#DRAG_ANIMATION_VARIABLE_NAME#)</ANIM_CODE> </UseTemplate> <Update Frequency="1"> (* This update forces the PROP & MIXTURE Levers to specific values, which may conflict with the AutoStart, so only run it while the autostart is disabled, using the fuel trigger which is linked to the autostart *) (A:FUELSYSTEM TRIGGER STATUS:1, Bool) ! if{ (A:GENERAL ENG MIXTURE LEVER POSITION:#ID#, percent over 100) 0.01 &lt; if{ (#POSITION_TYPE#:#POSITION_VAR#) 1 &gt;= if{ 0 (&gt;#POSITION_TYPE#:#POSITION_VAR#) -4096 (&gt;K:PROP_PITCH#ID#_SET) (* Fuel Cutoff *) } } els{ (A:GENERAL ENG MIXTURE LEVER POSITION:#ID#, percent over 100) 0.99 &lt; if{ 1 (A:GENERAL ENG MIXTURE LEVER POSITION:#ID#, percent over 100) 0.1 - 1.111 * + (&gt;#POSITION_TYPE#:#POSITION_VAR#) -4096 (&gt;K:PROP_PITCH#ID#_SET) (* Feathering *) } els{ (A:GENERAL ENG MIXTURE LEVER POSITION:#ID#, percent over 100) 0.99 &gt;= if{ 2 (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, percent over 100) + (&gt;#POSITION_TYPE#:#POSITION_VAR#) (* Auto *) } } } } </Update> <Update Frequency="1"> 0 (&gt;L:XML_ConditionLever#ID#_Cutoff) 0 (&gt;L:XML_ConditionLever#ID#_Feathering) 0 (&gt;L:XML_ConditionLever#ID#_Auto) 0 (&gt;L:XML_ConditionLever#ID#_Override) (#POSITION_TYPE#:#POSITION_VAR#) 1 &lt; if{ 1 (&gt;L:XML_ConditionLever#ID#_Cutoff) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 2 &lt; if{ 1 (&gt;L:XML_ConditionLever#ID#_Feathering) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 3 &lt; if{ 1 (&gt;L:XML_ConditionLever#ID#_Auto) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 4 &lt; if{ 1 (&gt;L:XML_ConditionLever#ID#_Override) } } } } (#POSITION_TYPE#:#POSITION_VAR#) int (#POSITION_TYPE#:#POSITION_VAR#) - abs (&gt;L:XML_ConditionLever#ID#_Value) </Update> <UseTemplate Name="ASOBO_GT_Interaction_DraggingYAxis_Gates"> <STEPS_NUMBER>3</STEPS_NUMBER> <DRAG_CODE> (#POSITION_TYPE#:#POSITION_VAR#) 1 &lt; if{ 0 (&gt;K:MIXTURE#ID#_SET) (* Fuel Cutoff *) -4096 (&gt;K:PROP_PITCH#ID#_SET) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 2 &lt; if{ (#POSITION_TYPE#:#POSITION_VAR#) 1 - 14745.6 * 1638.4 + (&gt;K:MIXTURE#ID#_SET) (* Sets mixture from 0.1 to 1 *) -4096 (&gt;K:PROP_PITCH#ID#_SET)(* Feathering *) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 3 &lt; if{ 16384 (&gt;K:MIXTURE#ID#_SET) (#POSITION_TYPE#:#POSITION_VAR#) 2 - 16384 * (&gt;K:PROP_PITCH#ID#_SET)(* Auto *) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 4 &lt;= if{ 16384 (&gt;K:MIXTURE#ID#_SET) 16384 (&gt;K:PROP_PITCH#ID#_SET)(* Override *) } } } } </DRAG_CODE> <ANIMATION_CODE_SETTER>(#POSITION_TYPE#:#POSITION_VAR#) 3 / 100 *</ANIMATION_CODE_SETTER> <GATE_DIRECTION>0</GATE_DIRECTION> </UseTemplate> </Component> </Template> <Template Name="ASOBO_ENGINE_Switch_PropSync_SubTemplate"> <DefaultTemplateParameters> <NODE_ID>ENGINE_Switch_PropSync</NODE_ID> <ANIM_NAME>ENGINE_Switch_PropSync</ANIM_NAME> </DefaultTemplateParameters> <Component ID="#NODE_ID#_#ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Switch"> <ANIM_SIMVAR>PROP SYNC ACTIVE</ANIM_SIMVAR> <EVENTID>TOGGLE_PROPELLER_SYNC</EVENTID> <WWISE_EVENT_1>propsync_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>propsync_switch_off</WWISE_EVENT_2> </UseTemplate> </Component> </Template> <Template Name="ASOBO_ENGINE_Switch_Hydraulic_SubTemplate"> <DefaultTemplateParameters> <NODE_ID>ENGINE_Switch_Hydraulic</NODE_ID> <ANIM_NAME>ENGINE_Switch_Hydraulic</ANIM_NAME> <PART_ID>ENGINE_Switch_Hydraulic</PART_ID> <IS_AIRLINER>False</IS_AIRLINER> <PRESS_WARNING_THRESHOLD_PSI>150</PRESS_WARNING_THRESHOLD_PSI> <TT_DESCRIPTION_ID>@TT_Package.HYDRAULIC_PUSH_PUMP_ACTION</TT_DESCRIPTION_ID> <TOOLTIP_TITLE>@TT_Package.HYDRAULIC_PUSH_PUMP_TITLE</TOOLTIP_TITLE> </DefaultTemplateParameters> <Condition Valid="IS_AIRLINER"> <True> <Parameters Type="Default"> <SEQ1_NODE_ID>#NODE_ID#_SEQ1</SEQ1_NODE_ID> <SEQ2_NODE_ID>#NODE_ID#_SEQ2</SEQ2_NODE_ID> </Parameters> <UseTemplate Name="ASOBO_AIRLINER_Base_Template"> <IE_NAME>hydraulic_pump_#ID#</IE_NAME> <INTERACTION_TYPE>Push</INTERACTION_TYPE> <IS_AIRLINER>True</IS_AIRLINER> <SET_STATE_EXTERNAL>#ID# (&gt;K:HYDRAULIC_SWITCH_TOGGLE)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:HYDRAULIC SWITCH:#ID#) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>HYDRAULIC SWITCH:#ID#</SIMVAR_TO_WATCH_0> <SEQ1_EMISSIVE_CODE>(A:HYDRAULIC SWITCH:#ID#, Bool)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:HYDRAULIC PRESSURE:#ID#, psi) #PRESS_WARNING_THRESHOLD_PSI# (A:HYDRAULIC RESERVOIR PERCENT:#ID#, percent over 100) * &lt;</SEQ2_EMISSIVE_CODE> <TT_VALUE>(A:HYDRAULIC SWITCH:#ID#,Bool) @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> </UseTemplate> </True> </Condition> </Template> <!-- #################################################### --> <Template Name="ASOBO_ENGINE_CoolingFlaps_SubTemplate"> <Parameters Type="Default"> <Condition Check="NODE_ID_SWITCH"> <NODE_ID>#NODE_ID_SWITCH#</NODE_ID> </Condition> <Condition Check="ANIM_NAME_SWITCH"> <ANIM_NAME>#ANIM_NAME_SWITCH#</ANIM_NAME> </Condition> </Parameters> <Parameters Type="Default"> <USE_MODE_AUTO>True</USE_MODE_AUTO> <NODE_ID_LOCK>ENGINE_#INTERACTION_TYPE#_CoolingFlaps_#FLAPS_TYPE#_Lock</NODE_ID_LOCK> <ANIM_NAME_LOCK>ENGINE_#INTERACTION_TYPE#_CoolingFlaps_#FLAPS_TYPE#_Lock</ANIM_NAME_LOCK> <NODE_ID>ENGINE_#INTERACTION_TYPE#_CoolingFlaps_#FLAPS_TYPE#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_CoolingFlaps_#FLAPS_TYPE#</ANIM_NAME> <TOOLTIP_COOLING_FLAPS_TITLE>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_TITLE</TOOLTIP_COOLING_FLAPS_TITLE> <INCREMENT>76</INCREMENT> <REPEAT_FREQUENCY>10</REPEAT_FREQUENCY> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="NUM_STATES"> <Case Value="2"> <BTN_ID>Cooling_Flaps_#FLAPS_TYPE#</BTN_ID> <TOOLTIP_TITLE>#TOOLTIP_COOLING_FLAPS_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Cooling_Flaps_#FLAPS_TYPE#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_ACTION</TT_DESCRIPTION_ID> </Case> <Default> <POS_UP>0</POS_UP> <POS_REST>1</POS_REST> <POS_DOWN>2</POS_DOWN> <POS_LOCK>0</POS_LOCK> <POS_UNLOCK>1</POS_UNLOCK> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_CoolingFlaps_#FLAPS_TYPE#</SWITCH_POSITION_VAR> <GET_STATE_EXTERNAL>0</GET_STATE_EXTERNAL> <CODE_INCREASE>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, Position 16k) #INCREMENT# - 0 max (&gt;K:#FLAPS_TYPE#_COOLING_FLAPS_SET)</CODE_INCREASE> <CODE_DECREASE>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, Position 16k) #INCREMENT# + 16384 min (&gt;K:#FLAPS_TYPE#_COOLING_FLAPS_SET)</CODE_DECREASE> <BTN_ID_SWITCH>Cooling_Flaps_#FLAPS_TYPE#</BTN_ID_SWITCH> <BTN_ID_LOCK>Cooling_Flaps_#FLAPS_TYPE#_Lock</BTN_ID_LOCK> <DRAG_ANIMATION_VARIABLE_TYPE>I</DRAG_ANIMATION_VARIABLE_TYPE> <WWISE_EVENT>coolingflaps_switch</WWISE_EVENT> </Default> </Switch> </Case> <Case Value="Lever"> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <SCROLL_INCREMENT Process="Int">16384 20 /</SCROLL_INCREMENT> <LEVER_ID>Cooling_Flaps_#FLAPS_TYPE#</LEVER_ID> </Case> </Switch> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_COOLING_FLAPS_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#LEVER_ID#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="ENGINE"> <SIMVAR_TO_WATCH_0>#FLAPS_TYPE# COOLING FLAPS POSITION</SIMVAR_TO_WATCH_0> <SET_STATE_EXTERNAL>(&gt;K:#FLAPS_TYPE#_COOLING_FLAPS_SET)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, position 16k)</GET_STATE_EXTERNAL> <GET_TT_VALUE_STATE>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, percent)</GET_TT_VALUE_STATE> <INC_PARAM_0>p0 #SCROLL_INCREMENT# *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>p0 #SCROLL_INCREMENT# *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> <SET_PARAM_0>p0 16384 *</SET_PARAM_0> <SET_PARAM_0_IS_DYNAMIC>True</SET_PARAM_0_IS_DYNAMIC> <INC_CODE_ADJUST_VALUE>16384 /</INC_CODE_ADJUST_VALUE> <DEC_CODE_ADJUST_VALUE>16384 /</DEC_CODE_ADJUST_VALUE> <MIN_VALUE>0</MIN_VALUE> <MAX_VALUE>16384</MAX_VALUE> <VALUE_UNITS>position 16k</VALUE_UNITS> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <CURSOR>Grab</CURSOR> <NO_ARROWS/> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE>(M:DragPercent) (&gt;B:ENGINE_#LEVER_ID#_Set)</DRAG_CODE> <ANIM_CODE>(B:ENGINE_#LEVER_ID#, percent)</ANIM_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Component> </Case> <Case Value="Switch"> <Switch Param="NUM_STATES"> <Case Value="2"> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <IE_NAME>#BTN_ID#</IE_NAME> <SET_STATE_EXTERNAL>p0 16384 * (&gt;K:#FLAPS_TYPE#_COOLING_FLAPS_SET)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, Bool) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>#FLAPS_TYPE# COOLING FLAPS POSITION</SIMVAR_TO_WATCH_0> </UseTemplate> </Case> <Default> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_SWITCH#</BTN_ID> <TOOLTIP_TITLE>#TOOLTIP_COOLING_FLAPS_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID_SWITCH#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_ACTION</TT_DESCRIPTION_ID> <SET_STATE_#POS_UP#>#CODE_INCREASE#</SET_STATE_#POS_UP#> <CODE_REPEAT_#POS_UP#>#CODE_INCREASE#</CODE_REPEAT_#POS_UP#> <SET_STATE_#POS_REST#>0</SET_STATE_#POS_REST#> <SET_STATE_#POS_DOWN#>#CODE_DECREASE#</SET_STATE_#POS_DOWN#> <CODE_REPEAT_#POS_DOWN#>#CODE_DECREASE#</CODE_REPEAT_#POS_DOWN#> <NUM_STATES>3</NUM_STATES> <SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION> </Parameters> <UseInputEvent ID="ENGINE"> <STR_STATE_#POS_UP#>Up</STR_STATE_#POS_UP#> <STR_STATE_#POS_REST#>Rest</STR_STATE_#POS_REST#> <STR_STATE_#POS_DOWN#>Down</STR_STATE_#POS_DOWN#> <TT_VALUE_#POS_UP#>@TT_Package.GT_STATE_CLOSE</TT_VALUE_#POS_UP#> <TT_VALUE_#POS_REST#_IS_DYNAMIC>True</TT_VALUE_#POS_REST#_IS_DYNAMIC> <TT_VALUE_#POS_REST#>(B:ENGINE_#BTN_ID_LOCK#, Bool) if{ (R:1:@TT_package.GT_STATE_AUTO) } els{ (R:1:@TT_package.GT_STATE_MANUAL) }</TT_VALUE_#POS_REST#> <TT_VALUE_#POS_DOWN#>@TT_Package.GT_STATE_OPEN</TT_VALUE_#POS_DOWN#> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_XStates"> <CODE_POS_#POS_UP#>(&gt;B:ENGINE_#BTN_ID#_Up)</CODE_POS_#POS_UP#> <CODE_POS_#POS_REST#>(&gt;B:ENGINE_#BTN_ID#_Rest)</CODE_POS_#POS_REST#> <CODE_POS_#POS_DOWN#>(&gt;B:ENGINE_#BTN_ID#_Down)</CODE_POS_#POS_DOWN#> <Condition Valid="USE_MODE_AUTO"> <CODE_POS_#POS_UP#_VERIF>(I:XMLVAR_#NODE_ID_LOCK#_Animation_Position) 50 &gt;</CODE_POS_#POS_UP#_VERIF> <CODE_POS_#POS_DOWN#_VERIF>(I:XMLVAR_#NODE_ID_LOCK#_Animation_Position) 50 &gt;</CODE_POS_#POS_DOWN#_VERIF> </Condition> <STATE#POS_UP#_TEST>(B:ENGINE_#BTN_ID#) #POS_UP# ==</STATE#POS_UP#_TEST> <STATE#POS_REST#_TEST>(B:ENGINE_#BTN_ID#) #POS_REST# ==</STATE#POS_REST#_TEST> <STATE#POS_DOWN#_TEST>(B:ENGINE_#BTN_ID#) #POS_DOWN# ==</STATE#POS_DOWN#_TEST> <MOMENTARY_SWITCH/> <STATE_MAX_TIMER>1</STATE_MAX_TIMER> <STATE0_TIMER>1</STATE0_TIMER> </UseTemplate> </Component> <Condition Valid="USE_MODE_AUTO"> <Component ID="#NODE_ID_LOCK#" Node="#NODE_ID_LOCK#"> <Parameters Type="Override"> <NODE_ID>#NODE_ID_LOCK#</NODE_ID> <ANIM_NAME>#ANIM_NAME_LOCK#</ANIM_NAME> <BTN_ID>#BTN_ID_LOCK#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_COVER_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID_LOCK#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_COVER_ACTION</TT_DESCRIPTION_ID> <TT_ICON>MOVE_Y</TT_ICON> <NUM_STATES>2</NUM_STATES> <SWITCH_POSITION_TYPE>I</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_#BTN_ID_LOCK#</SWITCH_POSITION_VAR> <SET_STATE_#POS_LOCK#>1</SET_STATE_#POS_LOCK#> <SET_STATE_#POS_UNLOCK#>1</SET_STATE_#POS_UNLOCK#> <GET_INIT_STATE_EXTERNAL>1</GET_INIT_STATE_EXTERNAL> <Switch Param="FLAPS_TYPE"> <Case Value="RADIATOR"> <TEMPERATURE_SIMVAR>RECIP ENG RADIATOR TEMPERATURE:1</TEMPERATURE_SIMVAR> </Case> <Case Value="OIL"> <TEMPERATURE_SIMVAR>GENERAL ENG OIL TEMPERATURE:1</TEMPERATURE_SIMVAR> </Case> </Switch> </Parameters> <UseInputEvent ID="ENGINE"> <TT_VALUE_#POS_LOCK#>@TT_Package.GT_STATE_LOCKED</TT_VALUE_#POS_LOCK#> <TT_VALUE_#POS_UNLOCK#>@TT_Package.GT_STATE_UNLOCKED</TT_VALUE_#POS_UNLOCK#> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_XStates"> <CODE_POS_#POS_LOCK#>(&gt;B:ENGINE_#BTN_ID#_On)</CODE_POS_#POS_LOCK#> <CODE_POS_#POS_UNLOCK#>(&gt;B:ENGINE_#BTN_ID#_Off)</CODE_POS_#POS_UNLOCK#> <CODE_POS_#POS_LOCK#_VERIF>(I:XMLVAR_#NODE_ID_SWITCH#_Animation_Position) 100 ==</CODE_POS_#POS_LOCK#_VERIF> <CODE_POS_#POS_UNLOCK#_VERIF>(I:XMLVAR_#NODE_ID_SWITCH#_Animation_Position) 100 ==</CODE_POS_#POS_UNLOCK#_VERIF> </UseTemplate> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>#REPEAT_FREQUENCY#</FREQUENCY> <!-- Note : #code_decrease# is what actually tells to open the radiator (and #code_increase# close it) --> <UPDATE_CODE> (B:ENGINE_#BTN_ID_LOCK#) 1 == if{ 100 (A:#TEMPERATURE_SIMVAR#, celsius) #TEMPERATURE_CAP# - * #TEMPERATURE_MAX# #TEMPERATURE_CAP# - / sp0 l0 0 &gt; if{ l0 (A:#FLAPS_TYPE# COOLING FLAPS POSITION, Percent) &gt; if{ #CODE_DECREASE# } } els{ #CODE_INCREASE# } } </UPDATE_CODE> </UseTemplate> </Component> </Condition> </Default> </Switch> </Case> </Switch> </Template> <Template Name="ASOBO_ENGINE_Switch_ADI_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_Switch_ADI_#ID#</NODE_ID> <ANIM_NAME>ENGINE_Switch_ADI_#ID#</ANIM_NAME> <NODE_ID_LOCK>ENGINE_Switch_ADI_Lock_#ID#</NODE_ID_LOCK> <ANIM_NAME_LOCK>ENGINE_Switch_ADI_Lock_#ID#</ANIM_NAME_LOCK> <LOCK_VAR_NAME>XMLVAR_Coolant_Lock</LOCK_VAR_NAME> <LOCK_VAR_SCOPE>I</LOCK_VAR_SCOPE> <TOOLTIP_ADI_TITLE>@TT_Package.ENGINE_ADI_TITLE</TOOLTIP_ADI_TITLE> <TT_DESCRIPTION_ID_ADI>@TT_Package.ENGINE_ADI_ACTION</TT_DESCRIPTION_ID_ADI> <WWISE_EVENT_1>adi_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>adi_switch_off</WWISE_EVENT_2> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <BTN_ID>ADI</BTN_ID> <TOOLTIP_TITLE>#TOOLTIP_ADI_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_ADI</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_ADI#</TT_DESCRIPTION_ID> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_ADI_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_ADI) 100 *</ANIM_CODE> </Parameters> <UseInputEvent ID="ENGINE"> <SET_STATE_ON>(A:RECIP ENG ANTIDETONATION TANK VALVE:#ID#, Bool) ! if{ (&gt;K:ANTIDETONATION_TANK_VALVE_TOGGLE) }</SET_STATE_ON> <SET_STATE_OFF>(A:RECIP ENG ANTIDETONATION TANK VALVE:#ID#, Bool) if{ (&gt;K:ANTIDETONATION_TANK_VALVE_TOGGLE) }</SET_STATE_OFF> <GET_STATE_EXTERNAL>(A:RECIP ENG ANTIDETONATION TANK VALVE:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> </UseTemplate> </Component> </Template> <Template Name="ASOBO_ENGINE_War_Emergency_Power_SubTemplate"> <Parameters Type="Default"> <ID>1</ID> </Parameters> <Parameters Type="Default"> <NODE_ID>ENGINE_Switch_War_Emergency_Power_#ID#</NODE_ID> <ANIM_NAME>ENGINE_Switch_War_Emergency_Power_#ID#</ANIM_NAME> <TOOLTIP_TITLE>@TT_Package.NITRO_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.NITRO_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Override"> <GET_SIMVAR>(A:RECIP ENG EMERGENCY BOOST ACTIVE:#ID#, Bool)</GET_SIMVAR> <TOGGLE_SIMVAR>(&gt;K:WAR_EMERGENCY_POWER)</TOGGLE_SIMVAR> <BINDING_SET_0>Key_Toggle</BINDING_SET_0> <BINDING_SET_0_EVENT_ID_ONLY>True</BINDING_SET_0_EVENT_ID_ONLY> <BINDING_SET_0_EVENT_ID>WAR_EMERGENCY_POWER</BINDING_SET_0_EVENT_ID> <SIMVAR_TO_WATCH_0>RECIP ENG EMERGENCY BOOST ACTIVE:#ID#</SIMVAR_TO_WATCH_0> </Parameters> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <IE_NAME>War_Emergency_Power</IE_NAME> <SET_STATE_EXTERNAL>#TOGGLE_SIMVAR#</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>#GET_SIMVAR# sp0</GET_STATE_EXTERNAL> </UseTemplate> </Template> </ModelBehaviors>

Templates

Template list
  • ASOBO_ENGINE_Throttle_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Throttle_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Throttle_#ID_NODE#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Throttle_#ID_NODE#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Throttle</PART_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="AIRBUS_TYPE"> <True> <LEVER_TYPE>AIRBUS</LEVER_TYPE> </True> </Condition> <RESET_LIMITS/> <PROCESS_LIMITS> (A:THROTTLE LOWER LIMIT, position 16k) (&gt;O:XMLVAR_MIN_Limit) 16384 (&gt;O:XMLVAR_MAX_Limit) </PROCESS_LIMITS> <DRAG_AXIS_SCALE>-450</DRAG_AXIS_SCALE> <POSITION_TYPE>O</POSITION_TYPE> <POSITION_VAR>Position</POSITION_VAR> <DELTA_MIN>0.00025</DELTA_MIN> <AXIS>Y</AXIS> <USE_TRAJECTORY_DRAG_MODE>true</USE_TRAJECTORY_DRAG_MODE> <NO_ARROWS/> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <AFTERBURNER_GATE_POS_16K Process="Int">#AFTERBURNER_GATE_POS# 16384 *</AFTERBURNER_GATE_POS_16K> <AFTERBURNER_GATE_POS_WITH_MARGIN Process="Float">#AFTERBURNER_GATE_POS# 0.01 -</AFTERBURNER_GATE_POS_WITH_MARGIN> </Condition> <Condition NotEmpty="OFF_GATE_POS"> <OFF_GATE_POS_16K Process="Int">#OFF_GATE_POS# 16384 *</OFF_GATE_POS_16K> </Condition> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <ENABLE_FORCED_BETA>#ID# (&gt;K:PROP_FORCE_BETA_ON) 30 180 / 16384 * #ID# (&gt;K:2:PROP_FORCE_BETA_VALUE_SET)</ENABLE_FORCED_BETA> <DISABLE_FORCED_BETA>#ID# (&gt;K:PROP_FORCE_BETA_OFF)</DISABLE_FORCED_BETA> <CHECK_FORCED_BETA>(A:PROP BETA FORCED ACTIVE:#ID#, Bool)</CHECK_FORCED_BETA> </Condition> <GATE_MARGIN>256</GATE_MARGIN> </Case> </Switch> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.THROTTLE_CONTROL</TOOLTIPID> <INCREMENT>163.84</INCREMENT> <SCROLL_INCREMENT>701</SCROLL_INCREMENT> <CURSOR>Hand</CURSOR> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <IDLE_GATE_SET_ABOVE>#CHECK_FORCED_BETA# ! (&gt;O:XMLVAR_MIN_Limit)</IDLE_GATE_SET_ABOVE> <IDLE_GATE_SET_BELOW>#CHECK_FORCED_BETA# (&gt;O:XMLVAR_MAX_Limit)</IDLE_GATE_SET_BELOW> <IDLE_GATE_SET_IN> #CHECK_FORCED_BETA# if{ 1 (&gt;O:XMLVAR_MAX_Limit) } els{ 0 (&gt;O:XMLVAR_MIN_Limit) } </IDLE_GATE_SET_IN> <ON_BEFORE_SET> (O:XMLVAR_MIN_Limit) 0 == (O:XMLVAR_MAX_Limit) 0 == or p0 0 == and if{ #ENABLE_FORCED_BETA# } els{ (O:XMLVAR_MAX_Limit) 1 == p0 0 != if{ #DISABLE_FORCED_BETA# } } </ON_BEFORE_SET> </True> <False> <IDLE_GATE_SET_ABOVE>0 (&gt;O:XMLVAR_MIN_Limit)</IDLE_GATE_SET_ABOVE> <IDLE_GATE_SET_BELOW>0 (&gt;O:XMLVAR_MAX_Limit)</IDLE_GATE_SET_BELOW> <IDLE_GATE_SET_IN/> </False> </Condition> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="LEVER_TYPE" Match="AIRBUS"> <CLIMB_LEVEL>89</CLIMB_LEVEL> <FLEX_LEVEL>95</FLEX_LEVEL> <TOGA_LEVEL>100</TOGA_LEVEL> </Condition> <Switch> <Case Check="LEVER_TYPE" Match="BOEING"> <DRAG_MAX_VALUE>16384</DRAG_MAX_VALUE> <DRAG_MIN_VALUE>0</DRAG_MIN_VALUE> </Case> <Case Check="HAS_IDLE_GATE"> <DRAG_MAX_VALUE>16384 (O:XMLVAR_MAX_Limit) min</DRAG_MAX_VALUE> <PROCESS_LIMITS> #PROCESS_LIMITS# (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) s0 #GATE_MARGIN# &gt; if{ #IDLE_GATE_SET_ABOVE# } els{ l0 #GATE_MARGIN# neg &lt; if{ #IDLE_GATE_SET_BELOW# } els{ #IDLE_GATE_SET_IN# } } </PROCESS_LIMITS> <RESET_LIMITS> (A:THROTTLE LOWER LIMIT, position 16k) (&gt;O:XMLVAR_MIN_Limit) 16384 (&gt;O:XMLVAR_MAX_Limit) </RESET_LIMITS> <DRAG_MIN_VALUE>(A:THROTTLE LOWER LIMIT, position 16k) (O:XMLVAR_MIN_Limit) max</DRAG_MIN_VALUE> <Condition Check="IDLE_GATE_ANIM_POS"> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <IDLE_MIN>#GROUND_GATE_ANIM_POS#</IDLE_MIN> </True> <False> <IDLE_MIN>#IDLE_GATE_ANIM_POS#</IDLE_MIN> </False> </Condition> <IDLE_MAX>#IDLE_GATE_ANIM_POS#</IDLE_MAX> <TRUE_IDLE_01 Process="Float">0 (A:THROTTLE LOWER LIMIT, percent) - 100 (A:THROTTLE LOWER LIMIT, percent) - /</TRUE_IDLE_01> <IDLE_MARGIN>0.001</IDLE_MARGIN> </Condition> </Case> <Case NotEmpty="OFF_GATE_POS_16K"> <DRAG_MAX_VALUE>16384 (O:XMLVAR_MAX_Limit) min</DRAG_MAX_VALUE> <DRAG_MIN_VALUE>(A:THROTTLE LOWER LIMIT, position 16k) (O:XMLVAR_MIN_Limit) max</DRAG_MIN_VALUE> <PROCESS_LIMITS> #PROCESS_LIMITS# (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) #OFF_GATE_POS_16K# &gt; if{ #OFF_GATE_POS_16K# (&gt;O:XMLVAR_MIN_Limit) } </PROCESS_LIMITS> </Case> <Default> <DRAG_MAX_VALUE>16384</DRAG_MAX_VALUE> <DRAG_MIN_VALUE Process="Int">(A:THROTTLE LOWER LIMIT, position 16k)</DRAG_MIN_VALUE> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <MIN_DIFF_POS_16K>819.2</MIN_DIFF_POS_16K> <Condition Valid="USE_TRAJECTORY_DRAG_MODE"> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> </Condition> <MAIN_LEVER_REVERSE_POSITION Process="Int">(A:THROTTLE LOWER LIMIT, position 16k)</MAIN_LEVER_REVERSE_POSITION> <MAIN_LEVER_REVERSE_POSITION_PCT Process="Int">(A:THROTTLE LOWER LIMIT, percent)</MAIN_LEVER_REVERSE_POSITION_PCT> <SNAP_DISTANCE>1</SNAP_DISTANCE> <DRAG_VALUE_OVERRIDE/> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <LERP_IDLE_FULL>l0 #IDLE_MAX# max #IDLE_MAX# - 1 #IDLE_MAX# - / 1 #TRUE_IDLE_01# - * #TRUE_IDLE_01# +</LERP_IDLE_FULL> <LERP_IDLE_REVERSE>l0 #IDLE_MIN# min #IDLE_MIN# - #IDLE_MIN# / #TRUE_IDLE_01# * #TRUE_IDLE_01# +</LERP_IDLE_REVERSE> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <PICK_IDLE_GROUND>#IDLE_MIN# #IDLE_MAX# #CHECK_FORCED_BETA# ?</PICK_IDLE_GROUND> </True> <False> <PICK_IDLE_GROUND>#IDLE_MIN#</PICK_IDLE_GROUND> </False> </Condition> </True> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <ADJUST_RAW_DRAG_VALUE>sp0 #LERP_IDLE_FULL# #LERP_IDLE_REVERSE# l0 #PICK_IDLE_GROUND# &gt; ?</ADJUST_RAW_DRAG_VALUE> </True> <False> <ADJUST_RAW_DRAG_VALUE/> <THROTTLE_ANIM_CODE>(B:ENGINE_Throttle_#ID#, percent)</THROTTLE_ANIM_CODE> </False> </Condition> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <GROUND_THROTTLE_ANIM_CODE> #IDLE_MIN# #IDLE_MAX# (* Idle/Ground *) #CHECK_FORCED_BETA# ? r l0 l1 0.01 eps ? </GROUND_THROTTLE_ANIM_CODE> </True> <False> <GROUND_THROTTLE_ANIM_CODE/> </False> </Condition> </Case> </Switch> <Condition NotEmpty="OFF_GATE_POS"> <Condition NotEmpty="VALVE_ID"> <True> <VALVE_GET>(A:FUELSYSTEM VALVE SWITCH:#VALVE_ID#, Boolean) !</VALVE_GET> <VALVE_CLOSE>#VALVE_ID# (&gt;K:FUELSYSTEM_VALVE_CLOSE)</VALVE_CLOSE> <VALVE_OPEN>#VALVE_ID# (&gt;K:FUELSYSTEM_VALVE_OPEN)</VALVE_OPEN> </True> <False> <VALVE_GET>(A:SHUTOFF VALVE PULLED, Boolean)</VALVE_GET> <VALVE_CLOSE>(&gt;K:SHUTOFF_VALVE_OFF)</VALVE_CLOSE> <VALVE_OPEN>(&gt;K:SHUTOFF_VALVE_ON)</VALVE_OPEN> </False> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch Param="LEVER_TYPE"> <Case Value="AIRBUS"> <THROTTLE_ANIM_CODE> (A:THROTTLE LOWER LIMIT, percent) sp0 (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, Percent) s1 0 &lt; if{ 1 l1 l0 / - 25 * sp2 0 sp3 #MAIN_LEVER_REVERSE_POSITION_PCT# sp4 0 sp5 } els{ l1 #CLIMB_LEVEL# &lt; if{ 1 sp3 0 sp4 #CLIMB_LEVEL# sp5 } els{ l1 #FLEX_LEVEL# &lt; if{ 2 sp3 #CLIMB_LEVEL# sp4 #FLEX_LEVEL# sp5 } els{ 3 sp3 #FLEX_LEVEL# sp4 #TOGA_LEVEL# sp5 } } l1 l4 - l5 l4 - / l3 + 25 * sp2 } (O:IsDragging) ! if{ -200 sp6 l1 l4 - #SNAP_DISTANCE# &lt; if{ l3 25 * sp6 } els{ l5 l1 - #SNAP_DISTANCE# &lt; if{ l3 1 + 25 * sp6 } } l6 -200 != if{ l6 sp2 } l2 0.04 * (&gt;#POSITION_TYPE#:#POSITION_VAR#) } l2 (&gt;O:XMLVAR_AnimationPosition_PostSnap) l2 </THROTTLE_ANIM_CODE> </Case> <Case Value="BOEING"> <THROTTLE_ANIM_CODE>(B:ENGINE_Throttle_#ID#, percent)</THROTTLE_ANIM_CODE> <MAIN_LEVER_REVERSE_POSITION>0</MAIN_LEVER_REVERSE_POSITION> <USE_SEPARATE_REVERSER>True</USE_SEPARATE_REVERSER> </Case> <Case NotEmpty="OFF_GATE_POS"> <ADJUST_RAW_DRAG_VALUE> #OFF_GATE_POS# max #OFF_GATE_POS# - 1 #OFF_GATE_POS# - / </ADJUST_RAW_DRAG_VALUE> <THROTTLE_ANIM_CODE>(B:ENGINE_Throttle_#ID#, percent)</THROTTLE_ANIM_CODE> </Case> <Default> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <THROTTLE_ANIM_CODE> (B:ENGINE_Throttle_#ID#, percent over 100) 1000 * int 1000 / sp0 #TRUE_IDLE_01# 1000 * int 1000 / sp1 l0 l1 - 1 #TRUE_IDLE_01# - / 1 #IDLE_MAX# - * #IDLE_MAX# + (* Upper part of throttle *) #GROUND_THROTTLE_ANIM_CODE# l0 l1 / #IDLE_MIN# * (* Reverse *) l0 l1 &gt;= ? 100 * </THROTTLE_ANIM_CODE> </True> <False> <THROTTLE_ANIM_CODE>#THROTTLE_ANIM_CODE#</THROTTLE_ANIM_CODE> </False> </Condition> </Default> </Switch> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_THROTTLE_TITLE>@TT_Package.ENGINE_THROTTLE_TITLE</TOOLTIP_THROTTLE_TITLE> <THROTTLE_ON_AFTER_SET/> <RIGHT_SINGLE_CODE/> <ENTRIES_COUNT>1</ENTRIES_COUNT> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_THROTTLE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Throttle_#ID#</TOOLTIP_ENTRY_0> <Condition Valid="HAS_WEP"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_WEP</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (&gt;B:ENGINE_Throttle_#ID#_WEP_On)</RIGHT_SINGLE_CODE> <THROTTLE_ANIM_CODE> #THROTTLE_ANIM_CODE# sp0 (B:ENGINE_Throttle_#ID#_WEP) if{ l0 } els{ l0 0.9 * } </THROTTLE_ANIM_CODE> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="OFF_GATE_POS"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_STOP</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (&gt;B:ENGINE_Throttle_#ID#_STOP_On)</RIGHT_SINGLE_CODE> <THROTTLE_ANIM_CODE> #THROTTLE_ANIM_CODE# sp0 (B:ENGINE_Throttle_#ID#_STOP) if{ 0 } els{ #OFF_GATE_POS# 100 * l0 1 #OFF_GATE_POS# - * + } </THROTTLE_ANIM_CODE> <THROTTLE_ON_AFTER_SET>#THROTTLE_ON_AFTER_SET# (&gt;B:ENGINE_Throttle_#ID#_STOP_Off)</THROTTLE_ON_AFTER_SET> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_Afterburner</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (&gt;B:ENGINE_Throttle_#ID#_Afterburner_On)</RIGHT_SINGLE_CODE> <THROTTLE_ON_AFTER_SET>#THROTTLE_ON_AFTER_SET# l0 #AFTERBURNER_GATE_POS_WITH_MARGIN# &lt; if{ (&gt;B:ENGINE_Throttle_#ID#_Afterburner_Off) }</THROTTLE_ON_AFTER_SET> <PROCESS_LIMITS> #PROCESS_LIMITS# (B:ENGINE_Throttle_#ID#_Afterburner) ! if{ (O:XMLVAR_MAX_Limit) #AFTERBURNER_GATE_POS_16K# min (&gt;O:XMLVAR_MAX_Limit) } </PROCESS_LIMITS> <ADJUST_RAW_DRAG_VALUE>#ADJUST_RAW_DRAG_VALUE# d (&gt;L:XMLVAR_LastAB#ID#ThrottleSet)</ADJUST_RAW_DRAG_VALUE> <CLAMP_IE>True</CLAMP_IE> <AFTERBURNER_BINDING_SET>(B:ENGINE_Throttle_#ID#, Percent over 100) #AFTERBURNER_GATE_POS_WITH_MARGIN# &gt;= if{ 1 } els{ 0 }</AFTERBURNER_BINDING_SET> <ON_AFTER_SET_BINDING>d (&gt;L:XMLVAR_LastAB#ID#ThrottleSet)</ON_AFTER_SET_BINDING> <THROTTLE_ON_AFTER_INC>(B:ENGINE_Throttle_#ID#, Percent over 100) (&gt;L:XMLVAR_LastAB#ID#ThrottleSet)</THROTTLE_ON_AFTER_INC> <THROTTLE_ON_AFTER_DEC>(B:ENGINE_Throttle_#ID#, Percent over 100) (&gt;L:XMLVAR_LastAB#ID#ThrottleSet)</THROTTLE_ON_AFTER_DEC> <AFTERBURNER_THROTTLE_INC> (E:SIMULATION TIME, seconds) s0 (L:XMLVAR_IE_Afterburner_#ID#_LastThrottleInc) 0.2 + &lt; if{ 1 (&gt;L:XMLVAR_IE_Afterburner_#ID#_Quit) } l0 (&gt;L:XMLVAR_IE_Afterburner_#ID#_LastThrottleInc) 1 </AFTERBURNER_THROTTLE_INC> </Condition> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="ANIM_NAME_REVERSE_LOCK"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE> (A:GENERAL ENG REVERSE THRUST ENGAGED:#ID#, bool) (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, Percent) 0 &lt; or 100 * </ANIM_CODE> <ANIM_NAME>#ANIM_NAME_REVERSE_LOCK#</ANIM_NAME> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_REVERSE_LOCK#</ANIM_NAME> <WWISE_EVENT_1>throttle_lever_lock_on</WWISE_EVENT_1> <WWISE_EVENT_2>throttle_lever_lock_off</WWISE_EVENT_2> </UseTemplate> </Condition> <UseInputEvent ID="ENGINE"> <THROTTLE_ID>#ID#</THROTTLE_ID> <Condition NotEmpty="THROTTLE_ON_AFTER_SET"> <ON_AFTER_SET>#THROTTLE_ON_AFTER_SET#</ON_AFTER_SET> </Condition> <Condition NotEmpty="THROTTLE_ON_AFTER_INC"> <ON_AFTER_INC>#THROTTLE_ON_AFTER_INC#</ON_AFTER_INC> </Condition> <Condition NotEmpty="THROTTLE_ON_AFTER_DEC"> <ON_AFTER_DEC>#THROTTLE_ON_AFTER_DEC#</ON_AFTER_DEC> </Condition> <RESET_LIMITS> #PROCESS_LIMITS# </RESET_LIMITS> <Condition Valid="CLAMP_IE"> <CLAMP_UPPER_LIMIT>(O:XMLVAR_MAX_Limit)</CLAMP_UPPER_LIMIT> <CLAMP_LOWER_LIMIT>(O:XMLVAR_MIN_Limit)</CLAMP_LOWER_LIMIT> <ON_AFTER_INIT>#PROCESS_LIMITS#</ON_AFTER_INIT> </Condition> </UseInputEvent> <Condition Valid="HAS_WEP"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_WEP</BTN_ID> <SET_STATE_EXTERNAL>(B:ENGINE_Throttle_#ID#) 100 == (A:RECIP ENG EMERGENCY BOOST ACTIVE:#ID#, Bool) ! and if{ (&gt;K:WAR_EMERGENCY_POWER) 1 (&gt;O:IsWEPActive) }</SET_STATE_EXTERNAL> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_SWITCH_WEP_ACTION</TT_DESCRIPTION> <TT_DESCRIPTION_IS_DYNAMIC>False</TT_DESCRIPTION_IS_DYNAMIC> <TT_VALUE>(O:IsWEPActive) @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <VALUE_CODE>(O:IsWEPActive)</VALUE_CODE> <VALUE_UNITS>Boolean</VALUE_UNITS> <BINDING_SET_0>On</BINDING_SET_0> <BINDING_SET_0_PARAM_0>(B:ENGINE_Throttle_#ID#) 100 == (A:RECIP ENG EMERGENCY BOOST ACTIVE:#ID#, Bool) ! and</BINDING_SET_0_PARAM_0> <BINDING_SET_0_PARAM_0_IS_DYNAMIC>True</BINDING_SET_0_PARAM_0_IS_DYNAMIC> <BINDING_SET_1>Activate</BINDING_SET_1> <BINDING_SET_1_EVENT_ID_ONLY>True</BINDING_SET_1_EVENT_ID_ONLY> <BINDING_SET_1_EVENT_ID>WAR_EMERGENCY_POWER</BINDING_SET_1_EVENT_ID> <BINDING_SET_1_PARAM_0>1</BINDING_SET_1_PARAM_0> </UseInputEvent> </Condition> <Condition NotEmpty="OFF_GATE_POS"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_STOP</BTN_ID> <GET_STATE_EXTERNAL>#VALVE_GET#</GET_STATE_EXTERNAL> <SET_STATE_EXTERNAL>(B:ENGINE_Throttle_#ID#) 0.1 &lt; p0 and if{ #VALVE_CLOSE# } els{ #VALVE_OPEN# }</SET_STATE_EXTERNAL> <ON_BEFORE_SET_CODE> p0 (B:ENGINE_Throttle_#ID#, Percent over 100) 0 &gt; and if{ quit } </ON_BEFORE_SET_CODE> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_FUEL_CUTOFF_ACTION</TT_DESCRIPTION> <TT_VALUE>#VALVE_GET# @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <VALUE_CODE>#VALVE_GET#</VALUE_CODE> <VALUE_UNITS>Boolean</VALUE_UNITS> <Condition NotEmpty="ON_AFTER_SET_STOP"> <ON_AFTER_SET_CODE>#ON_AFTER_SET_STOP#</ON_AFTER_SET_CODE> </Condition> </UseInputEvent> </Condition> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_Afterburner</BTN_ID> <GET_STATE_EXTERNAL>(A:TURB ENG AFTERBURNER:#ID#, Boolean) sp0</GET_STATE_EXTERNAL> <ON_BEFORE_SET_CODE> p0 (B:ENGINE_Throttle_#ID#, Percent over 100) #AFTERBURNER_GATE_POS_WITH_MARGIN# &lt; and (L:XMLVAR_IE_Afterburner_#ID#_Quit) or 0 (&gt;L:XMLVAR_IE_Afterburner_#ID#_Quit) if{ quit } </ON_BEFORE_SET_CODE> <SET_STATE_EXTERNAL> p0 if{ 16384 (&gt;O:XMLVAR_MAX_Limit) (L:XMLVAR_LastAB#ID#ThrottleSet) (&gt;B:ENGINE_Throttle_#ID#_Set) } </SET_STATE_EXTERNAL> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_SWITCH_AFTERBURNER_ACTION</TT_DESCRIPTION> <TT_VALUE>(B:ENGINE_Throttle_#ID#_Afterburner) @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <Condition NotEmpty="ON_AFTER_SET_STOP"> <ON_AFTER_SET_CODE>#ON_AFTER_SET_STOP#</ON_AFTER_SET_CODE> </Condition> <BINDING_SET_3>KeyBind_Toggle</BINDING_SET_3> <BINDING_SET_3_EVENT_ID_ONLY>True</BINDING_SET_3_EVENT_ID_ONLY> <BINDING_SET_3_EVENT_ID>TOGGLE_AFTERBURNER</BINDING_SET_3_EVENT_ID> <BINDING_SET_3_PARAM_0>#AFTERBURNER_BINDING_SET#</BINDING_SET_3_PARAM_0> <BINDING_SET_3_PARAM_0_IS_DYNAMIC>True</BINDING_SET_3_PARAM_0_IS_DYNAMIC> <BINDING_SET_4>KeyBind_ToggleID</BINDING_SET_4> <BINDING_SET_4_EVENT_ID_ONLY>True</BINDING_SET_4_EVENT_ID_ONLY> <BINDING_SET_4_EVENT_ID>TOGGLE_AFTERBURNER#ID#</BINDING_SET_4_EVENT_ID> <BINDING_SET_4_PARAM_0>#AFTERBURNER_BINDING_SET#</BINDING_SET_4_PARAM_0> <BINDING_SET_4_PARAM_0_IS_DYNAMIC>True</BINDING_SET_4_PARAM_0_IS_DYNAMIC> <BINDING_SET_5>KeyBind_IncreaseThrottle</BINDING_SET_5> <BINDING_SET_5_EVENT_ID>THROTTLE_INCR</BINDING_SET_5_EVENT_ID> <BINDING_SET_5_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_5_PARAM_0> <BINDING_SET_5_PARAM_0_IS_DYNAMIC>True</BINDING_SET_5_PARAM_0_IS_DYNAMIC> <BINDING_SET_6>KeyBind_IncreaseThrottleSmall</BINDING_SET_6> <BINDING_SET_6_EVENT_ID>THROTTLE_INCR_SMALL</BINDING_SET_6_EVENT_ID> <BINDING_SET_6_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_6_PARAM_0> <BINDING_SET_6_PARAM_0_IS_DYNAMIC>True</BINDING_SET_6_PARAM_0_IS_DYNAMIC> <BINDING_SET_7>KeyBind_IncreaseThrottle#ID#</BINDING_SET_7> <BINDING_SET_7_EVENT_ID>THROTTLE#ID#_INCR</BINDING_SET_7_EVENT_ID> <BINDING_SET_7_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_7_PARAM_0> <BINDING_SET_7_PARAM_0_IS_DYNAMIC>True</BINDING_SET_7_PARAM_0_IS_DYNAMIC> <BINDING_SET_8>KeyBind_IncreaseThrottle#ID#Small</BINDING_SET_8> <BINDING_SET_8_EVENT_ID>THROTTLE#ID#_INCR_SMALL</BINDING_SET_8_EVENT_ID> <BINDING_SET_8_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_8_PARAM_0> <BINDING_SET_8_PARAM_0_IS_DYNAMIC>True</BINDING_SET_8_PARAM_0_IS_DYNAMIC> <SIMVAR_TO_WATCH_0>TURB ENG AFTERBURNER:#ID#</SIMVAR_TO_WATCH_0> </UseInputEvent> </Condition> <UseTemplate Name="ASOBO_GT_Anim_Code"> <Condition Valid="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>#THROTTLE_ANIM_CODE#</ANIM_CODE> </False> </Condition> </UseTemplate> <Switch Param="LEVER_TYPE"> <Case Value="AIRBUS"> <Update Once="true"> (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, percent over 100) (A:THROTTLE LOWER LIMIT, percent over 100) - 4 * (&gt;#POSITION_TYPE#:#POSITION_VAR#) </Update> <Update Frequency="5"> (* Keep Track of Airbus Throttle Setting *) 0 (&gt;L:XML_Airbus_Throttle#ID#_TOGA) 0 (&gt;L:XML_Airbus_Throttle#ID#_Flex_MCT) 0 (&gt;L:XML_Airbus_Throttle#ID#_Climb) 0 (&gt;L:XML_Airbus_Throttle#ID#_Idle) 0 (&gt;L:XML_Airbus_Throttle#ID#_Rev) (O:XMLVAR_AnimationPosition_PostSnap) 25 &lt; if{ 1 (&gt;L:XML_Airbus_Throttle#ID#_Rev) } els{ (O:XMLVAR_AnimationPosition_PostSnap) 50 &lt; if{ 1 (&gt;L:XML_Airbus_Throttle#ID#_Idle) } els{ (O:XMLVAR_AnimationPosition_PostSnap) 75 &lt; if{ 1 (&gt;L:XML_Airbus_Throttle#ID#_Climb) } els{ (O:XMLVAR_AnimationPosition_PostSnap) 100 &lt; if{ 1 (&gt;L:XML_Airbus_Throttle#ID#_Flex_MCT) } els{ 1 (&gt;L:XML_Airbus_Throttle#ID#_TOGA) } } } } (O:XMLVAR_AnimationPosition_PostSnap) 25 % 25 / (&gt;L:XML_Airbus_Throttle#ID#_Value) </Update> <UseTemplate Name="ASOBO_GT_Interaction_DraggingYAxis_Gates"> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <STEPS_NUMBER>4</STEPS_NUMBER> <DRAG_CODE> (#POSITION_TYPE#:#POSITION_VAR#) s0 flr sp1 l0 dec sp2 l1 1 &lt; if{ #MAIN_LEVER_REVERSE_POSITION_PCT# sp4 0 sp5 } els{ l1 2 &lt; if{ 0 sp4 #CLIMB_LEVEL# sp5 } els{ l1 3 &lt; if{ #CLIMB_LEVEL# sp4 #FLEX_LEVEL# sp5 } els{ l1 4 &lt; if{ #FLEX_LEVEL# sp4 #TOGA_LEVEL# sp5 } els{ #TOGA_LEVEL# sp4 #TOGA_LEVEL# sp5 } } } } l5 l4 - l2 * l4 + 100 / (&gt;B:ENGINE_Throttle_#ID#_Set) </DRAG_CODE> <GATE_DIRECTION>0</GATE_DIRECTION> </UseTemplate> </Case> <Default> <Update Once="True"> #RESET_LIMITS# </Update> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <LOCK_CODE> #PROCESS_LIMITS# </LOCK_CODE> <UNLOCK_CODE> #RESET_LIMITS# </UNLOCK_CODE> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <DRAG_SIMVAR>GENERAL ENG THROTTLE LEVER POSITION:#ID#</DRAG_SIMVAR> <Condition Valid="USE_TRAJECTORY_DRAG_MODE"> <True> <DRAG_CODE> (M:InputType) 1 == if{ (O:_ResetLimitsTime) (E:SIMULATION TIME, second) &lt; if{ (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &lt; if{ #RESET_LIMITS# } } (E:SIMULATION TIME, second) 0.1 + (&gt;O:_ResetLimitsTime) } 16384 #MAIN_LEVER_REVERSE_POSITION# - (M:DragPercent) #ADJUST_RAW_DRAG_VALUE# * #MAIN_LEVER_REVERSE_POSITION# + sp0 #DRAG_VALUE_OVERRIDE# l0 #DRAG_MAX_VALUE# min #DRAG_MIN_VALUE# max 16384 / (&gt;B:ENGINE_Throttle_#ID#_Set) (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &gt; if{ #PROCESS_LIMITS# } </DRAG_CODE> </True> <False> <DRAG_CODE> (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) #INCREMENT# (O:DragScale) * + #DRAG_MAX_VALUE# min #DRAG_MIN_VALUE# max 16384 / (&gt;B:ENGINE_Throttle_#ID#_Set) (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &gt; if{ #PROCESS_LIMITS# } </DRAG_CODE> </False> </Condition> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_Throttle_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_Throttle_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Default> </Switch> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>(L:XMLVAR_LeverThrottleHidden#ID#) !</VISIBILITY_CODE> </UseTemplate> </Case> </Switch> </Component> <Condition Check="LEVER_TYPE" Match="BOEING"> <True> <Component ID="#NODE_ID_REVERSER#" Node="#NODE_ID_REVERSER#"> <Parameters Type="Override"> <ANIM_NAME>#ANIM_NAME_REVERSER#</ANIM_NAME> <DRAG_ANIM_NAME>#ANIM_NAME_REVERSER#</DRAG_ANIM_NAME> <DRAG_NODE_ID>#NODE_ID_REVERSER#</DRAG_NODE_ID> <Condition Valid="REVERSER_INVERT_IM_DRAG_INPUT_SCALAR"> <INVERT_IM_DRAG_INPUT_SCALAR>#REVERSER_INVERT_IM_DRAG_INPUT_SCALAR#</INVERT_IM_DRAG_INPUT_SCALAR> </Condition> </Parameters> <Parameters Type="Default"> <TOOLTIP_THROTTLE_REVERSER_TITLE>@TT_Package.ENGINE_THROTTLE_REVERSE_TITLE</TOOLTIP_THROTTLE_REVERSER_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_THROTTLE_REVERSER_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Throttle_Reverser_#ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <REVERSER_ID>#ID#</REVERSER_ID> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>(B:ENGINE_Throttle_Reverser_#ID#, percent)</ANIM_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <POSITION_TYPE>O</POSITION_TYPE> <POSITION_VAR>XMLVAR_Reverser#ID#_Position</POSITION_VAR> <DRAG_CODE>(M:DragPercent) (&gt;B:ENGINE_Throttle_Reverser_#ID#_Set)</DRAG_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_Throttle_Reverser_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_Throttle_Reverser_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Component> </True> </Condition> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID_NODE)
      • ANIM_NAME (using INTERACTION_TYPE, ID_NODE)
      • PART_ID (using INTERACTION_TYPE)
      • TOOLTIPID
      • INCREMENT
      • SCROLL_INCREMENT
      • CURSOR

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Parameters set:

        • RESET_LIMITS
        • PROCESS_LIMITS
        • DRAG_AXIS_SCALE
        • POSITION_TYPE
        • POSITION_VAR
        • DELTA_MIN
        • AXIS
        • USE_TRAJECTORY_DRAG_MODE
        • NO_ARROWS
        • GATE_MARGIN

        Condition: Check(AIRBUS_TYPE)

        • Case: True

          Parameters set:

          • LEVER_TYPE

        Condition: NotEmpty(AFTERBURNER_GATE_POS)

        • Case: True

          Parameters set:

          • AFTERBURNER_GATE_POS_16K (using AFTERBURNER_GATE_POS)
          • AFTERBURNER_GATE_POS_WITH_MARGIN (using AFTERBURNER_GATE_POS)

        Condition: NotEmpty(OFF_GATE_POS)

        • Case: True

          Parameters set:

          • OFF_GATE_POS_16K (using OFF_GATE_POS)

        Condition: NotEmpty(GROUND_GATE_ANIM_POS)

        • Case: True

          Parameters set:

          • ENABLE_FORCED_BETA (using ID)
          • DISABLE_FORCED_BETA (using ID)
          • CHECK_FORCED_BETA (using ID)
    • Override

      Condition: NotEmpty(GROUND_GATE_ANIM_POS)

      • Case: True

        Parameters set:

        • IDLE_GATE_SET_ABOVE (using CHECK_FORCED_BETA)
        • IDLE_GATE_SET_BELOW (using CHECK_FORCED_BETA)
        • IDLE_GATE_SET_IN (using CHECK_FORCED_BETA)
        • ON_BEFORE_SET (using ENABLE_FORCED_BETA, DISABLE_FORCED_BETA)
      • Case: False

        Parameters set:

        • IDLE_GATE_SET_ABOVE
        • IDLE_GATE_SET_BELOW
        • IDLE_GATE_SET_IN
    • Override

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Condition: Check(LEVER_TYPE)

        • Case: True

          Parameters set:

          • CLIMB_LEVEL
          • FLEX_LEVEL
          • TOGA_LEVEL

        Condition: Switch

        • Case: Check(LEVER_TYPE) Match(BOEING)

          Parameters read:

          • LEVER_TYPE

          Parameters set:

          • DRAG_MAX_VALUE
          • DRAG_MIN_VALUE
        • Case: Check(HAS_IDLE_GATE)

          Parameters read:

          • HAS_IDLE_GATE

          Parameters set:

          • DRAG_MAX_VALUE
          • PROCESS_LIMITS (using PROCESS_LIMITS, ID, GATE_MARGIN, IDLE_GATE_SET_ABOVE, IDLE_GATE_SET_BELOW, IDLE_GATE_SET_IN)
          • RESET_LIMITS
          • DRAG_MIN_VALUE

          Condition: Check(IDLE_GATE_ANIM_POS)

          • Case: True

            Parameters set:

            • IDLE_MAX (using IDLE_GATE_ANIM_POS)
            • TRUE_IDLE_01
            • IDLE_MARGIN

            Condition: NotEmpty(GROUND_GATE_ANIM_POS)

            • Case: True

              Parameters set:

              • IDLE_MIN (using GROUND_GATE_ANIM_POS)
            • Case: False

              Parameters set:

              • IDLE_MIN (using IDLE_GATE_ANIM_POS)
        • Case: NotEmpty(OFF_GATE_POS_16K)

          Parameters set:

          • DRAG_MAX_VALUE
          • DRAG_MIN_VALUE
          • PROCESS_LIMITS (using PROCESS_LIMITS, ID, OFF_GATE_POS_16K)
        • Default case:

          Parameters set:

          • DRAG_MAX_VALUE
          • DRAG_MIN_VALUE
    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Parameters set:

        • MIN_DIFF_POS_16K
        • MAIN_LEVER_REVERSE_POSITION
        • MAIN_LEVER_REVERSE_POSITION_PCT
        • SNAP_DISTANCE
        • DRAG_VALUE_OVERRIDE

        Condition: Valid(USE_TRAJECTORY_DRAG_MODE)

        • Case: True

          Parameters set:

          • DRAG_ANIM_NAME (using ANIM_NAME)

        Condition: Test(HAS_IDLE_GATE, IDLE_GATE_ANIM_POS)

        • Case: True

          Parameters set:

          • LERP_IDLE_FULL (using IDLE_MAX, TRUE_IDLE_01)
          • LERP_IDLE_REVERSE (using IDLE_MIN, TRUE_IDLE_01)

          Condition: NotEmpty(GROUND_GATE_ANIM_POS)

          • Case: True

            Parameters set:

            • PICK_IDLE_GROUND (using IDLE_MIN, IDLE_MAX, CHECK_FORCED_BETA)
          • Case: False

            Parameters set:

            • PICK_IDLE_GROUND (using IDLE_MIN)
    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Condition: Test(HAS_IDLE_GATE, IDLE_GATE_ANIM_POS)

        • Case: True

          Parameters set:

          • ADJUST_RAW_DRAG_VALUE (using LERP_IDLE_FULL, LERP_IDLE_REVERSE, PICK_IDLE_GROUND)
        • Case: False

          Parameters set:

          • ADJUST_RAW_DRAG_VALUE
          • THROTTLE_ANIM_CODE (using ID)

        Condition: NotEmpty(GROUND_GATE_ANIM_POS)

        • Case: True

          Parameters set:

          • GROUND_THROTTLE_ANIM_CODE (using IDLE_MIN, IDLE_MAX, CHECK_FORCED_BETA)
        • Case: False

          Parameters set:

          • GROUND_THROTTLE_ANIM_CODE

      Condition: NotEmpty(OFF_GATE_POS)

      • Case: True

        Condition: NotEmpty(VALVE_ID)

        • Case: True

          Parameters set:

          • VALVE_GET (using VALVE_ID)
          • VALVE_CLOSE (using VALVE_ID)
          • VALVE_OPEN (using VALVE_ID)
        • Case: False

          Parameters set:

          • VALVE_GET
          • VALVE_CLOSE
          • VALVE_OPEN
    • Override

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Condition: Switch(LEVER_TYPE)

        • Case: AIRBUS

          Parameters set:

          • THROTTLE_ANIM_CODE (using ID, MAIN_LEVER_REVERSE_POSITION_PCT, CLIMB_LEVEL, FLEX_LEVEL, TOGA_LEVEL, SNAP_DISTANCE, POSITION_TYPE, POSITION_VAR)
        • Case: BOEING

          Parameters set:

          • THROTTLE_ANIM_CODE (using ID)
          • MAIN_LEVER_REVERSE_POSITION
          • USE_SEPARATE_REVERSER
        • Case: NotEmpty(OFF_GATE_POS)

          Parameters set:

          • ADJUST_RAW_DRAG_VALUE (using OFF_GATE_POS)
          • THROTTLE_ANIM_CODE (using ID)
        • Default case:

          Condition: Test(HAS_IDLE_GATE, IDLE_GATE_ANIM_POS)

          • Case: True

            Parameters set:

            • THROTTLE_ANIM_CODE (using ID, TRUE_IDLE_01, IDLE_MAX, GROUND_THROTTLE_ANIM_CODE, IDLE_MIN)
          • Case: False

            Parameters set:

            • THROTTLE_ANIM_CODE (using THROTTLE_ANIM_CODE)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • TOOLTIP_THROTTLE_TITLE
      • THROTTLE_ON_AFTER_SET
      • RIGHT_SINGLE_CODE
      • ENTRIES_COUNT
      • TOOLTIP_TITLE (using TOOLTIP_THROTTLE_TITLE)
      • TOOLTIP_ENTRY_0 (using ID)

      Condition: Valid(HAS_WEP)

      • Case: True

        Parameters set:

        • TOOLTIP_ENTRY_#ENTRIES_COUNT# (using ID)
        • ENTRIES_COUNT (using ENTRIES_COUNT)
        • RIGHT_SINGLE_CODE (using RIGHT_SINGLE_CODE, ID)
        • THROTTLE_ANIM_CODE (using THROTTLE_ANIM_CODE, ID)

      Condition: NotEmpty(OFF_GATE_POS)

      • Case: True

        Parameters set:

        • TOOLTIP_ENTRY_#ENTRIES_COUNT# (using ID)
        • ENTRIES_COUNT (using ENTRIES_COUNT)
        • RIGHT_SINGLE_CODE (using RIGHT_SINGLE_CODE, ID)
        • THROTTLE_ANIM_CODE (using THROTTLE_ANIM_CODE, ID, OFF_GATE_POS)
        • THROTTLE_ON_AFTER_SET (using THROTTLE_ON_AFTER_SET, ID)

      Condition: NotEmpty(AFTERBURNER_GATE_POS)

      • Case: True

        Parameters set:

        • TOOLTIP_ENTRY_#ENTRIES_COUNT# (using ID)
        • ENTRIES_COUNT (using ENTRIES_COUNT)
        • RIGHT_SINGLE_CODE (using RIGHT_SINGLE_CODE, ID)
        • THROTTLE_ON_AFTER_SET (using THROTTLE_ON_AFTER_SET, AFTERBURNER_GATE_POS_WITH_MARGIN, ID)
        • PROCESS_LIMITS (using PROCESS_LIMITS, ID, AFTERBURNER_GATE_POS_16K)
        • ADJUST_RAW_DRAG_VALUE (using ADJUST_RAW_DRAG_VALUE, ID)
        • CLAMP_IE
        • AFTERBURNER_BINDING_SET (using ID, AFTERBURNER_GATE_POS_WITH_MARGIN)
        • ON_AFTER_SET_BINDING (using ID)
        • THROTTLE_ON_AFTER_INC (using ID)
        • THROTTLE_ON_AFTER_DEC (using ID)
        • AFTERBURNER_THROTTLE_INC (using ID)

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Parameters set:

        • THROTTLE_ID (using ID)
        • RESET_LIMITS (using PROCESS_LIMITS)

        Templates used:

        • ASOBO_GT_Anim_Code

          Condition: Valid(OVERRIDE_ANIM_CODE)

          • Case: True

            Parameters set:

            • ANIM_CODE (using OVERRIDE_ANIM_CODE)
          • Case: False

            Parameters set:

            • ANIM_CODE (using THROTTLE_ANIM_CODE)
        • ASOBO_GT_Visibility_Code

          Parameters set:

          • VISIBILITY_CODE (using ID)

        Condition: Check(ANIM_NAME_REVERSE_LOCK)

        Condition: NotEmpty(THROTTLE_ON_AFTER_SET)

        • Case: True

          Parameters set:

          • ON_AFTER_SET (using THROTTLE_ON_AFTER_SET)

        Condition: NotEmpty(THROTTLE_ON_AFTER_INC)

        • Case: True

          Parameters set:

          • ON_AFTER_INC (using THROTTLE_ON_AFTER_INC)

        Condition: NotEmpty(THROTTLE_ON_AFTER_DEC)

        • Case: True

          Parameters set:

          • ON_AFTER_DEC (using THROTTLE_ON_AFTER_DEC)

        Condition: Valid(CLAMP_IE)

        • Case: True

          Parameters set:

          • CLAMP_UPPER_LIMIT
          • CLAMP_LOWER_LIMIT
          • ON_AFTER_INIT (using PROCESS_LIMITS)

        Condition: Valid(HAS_WEP)

        • Case: True

          Parameters set:

          • BTN_ID (using ID)
          • SET_STATE_EXTERNAL (using ID)
          • TT_ICON
          • TT_INTERACTION
          • TT_INTERACTION_LOCKABLE
          • TT_DESCRIPTION
          • TT_DESCRIPTION_IS_DYNAMIC
          • TT_VALUE
          • TT_VALUE_IS_DYNAMIC
          • VALUE_CODE
          • VALUE_UNITS
          • BINDING_SET_0
          • BINDING_SET_0_PARAM_0 (using ID)
          • BINDING_SET_0_PARAM_0_IS_DYNAMIC
          • BINDING_SET_1
          • BINDING_SET_1_EVENT_ID_ONLY
          • BINDING_SET_1_EVENT_ID
          • BINDING_SET_1_PARAM_0

        Condition: NotEmpty(OFF_GATE_POS)

        • Case: True

          Parameters set:

          • BTN_ID (using ID)
          • GET_STATE_EXTERNAL (using VALVE_GET)
          • SET_STATE_EXTERNAL (using ID, VALVE_CLOSE, VALVE_OPEN)
          • ON_BEFORE_SET_CODE (using ID)
          • TT_ICON
          • TT_INTERACTION
          • TT_INTERACTION_LOCKABLE
          • TT_DESCRIPTION
          • TT_VALUE (using VALVE_GET)
          • TT_VALUE_IS_DYNAMIC
          • VALUE_CODE (using VALVE_GET)
          • VALUE_UNITS

          Condition: NotEmpty(ON_AFTER_SET_STOP)

          • Case: True

            Parameters set:

            • ON_AFTER_SET_CODE (using ON_AFTER_SET_STOP)

        Condition: NotEmpty(AFTERBURNER_GATE_POS)

        • Case: True

          Parameters set:

          • BTN_ID (using ID)
          • GET_STATE_EXTERNAL (using ID)
          • ON_BEFORE_SET_CODE (using ID, AFTERBURNER_GATE_POS_WITH_MARGIN)
          • SET_STATE_EXTERNAL (using ID)
          • TT_ICON
          • TT_INTERACTION
          • TT_INTERACTION_LOCKABLE
          • TT_DESCRIPTION
          • TT_VALUE (using ID)
          • TT_VALUE_IS_DYNAMIC
          • BINDING_SET_3
          • BINDING_SET_3_EVENT_ID_ONLY
          • BINDING_SET_3_EVENT_ID
          • BINDING_SET_3_PARAM_0 (using AFTERBURNER_BINDING_SET)
          • BINDING_SET_3_PARAM_0_IS_DYNAMIC
          • BINDING_SET_4
          • BINDING_SET_4_EVENT_ID_ONLY
          • BINDING_SET_4_EVENT_ID (using ID)
          • BINDING_SET_4_PARAM_0 (using AFTERBURNER_BINDING_SET)
          • BINDING_SET_4_PARAM_0_IS_DYNAMIC
          • BINDING_SET_5
          • BINDING_SET_5_EVENT_ID
          • BINDING_SET_5_PARAM_0 (using AFTERBURNER_THROTTLE_INC)
          • BINDING_SET_5_PARAM_0_IS_DYNAMIC
          • BINDING_SET_6
          • BINDING_SET_6_EVENT_ID
          • BINDING_SET_6_PARAM_0 (using AFTERBURNER_THROTTLE_INC)
          • BINDING_SET_6_PARAM_0_IS_DYNAMIC
          • BINDING_SET_7 (using ID)
          • BINDING_SET_7_EVENT_ID (using ID)
          • BINDING_SET_7_PARAM_0 (using AFTERBURNER_THROTTLE_INC)
          • BINDING_SET_7_PARAM_0_IS_DYNAMIC
          • BINDING_SET_8 (using ID)
          • BINDING_SET_8_EVENT_ID (using ID)
          • BINDING_SET_8_PARAM_0 (using AFTERBURNER_THROTTLE_INC)
          • BINDING_SET_8_PARAM_0_IS_DYNAMIC
          • SIMVAR_TO_WATCH_0 (using ID)

          Condition: NotEmpty(ON_AFTER_SET_STOP)

          • Case: True

            Parameters set:

            • ON_AFTER_SET_CODE (using ON_AFTER_SET_STOP)

        Condition: Switch(LEVER_TYPE)

        • Case: AIRBUS

          Parameters read:

          • ID
          • POSITION_TYPE
          • POSITION_VAR

          Templates used:

          • ASOBO_GT_Interaction_DraggingYAxis_Gates

            Parameters set:

            • HELPID
            • STEPS_NUMBER
            • DRAG_CODE (using POSITION_TYPE, POSITION_VAR, MAIN_LEVER_REVERSE_POSITION_PCT, CLIMB_LEVEL, FLEX_LEVEL, TOGA_LEVEL, ID)
            • GATE_DIRECTION
        • Default case:

          Parameters read:

          • RESET_LIMITS

          Templates used:

          • ASOBO_GT_Interaction_WheelLeftDrag_Axis

            Parameters set:

            • LOCK_CODE (using PROCESS_LIMITS)
            • UNLOCK_CODE (using RESET_LIMITS)
            • HELPID
            • DRAG_SIMVAR (using ID)
            • POSITIVE_AXIS_CODE (using ID)
            • NEGATIVE_AXIS_CODE (using ID)

            Condition: Valid(USE_TRAJECTORY_DRAG_MODE)

            • Case: True

              Parameters set:

              • DRAG_CODE (using ID, MIN_DIFF_POS_16K, RESET_LIMITS, MAIN_LEVER_REVERSE_POSITION, ADJUST_RAW_DRAG_VALUE, DRAG_VALUE_OVERRIDE, DRAG_MAX_VALUE, DRAG_MIN_VALUE, PROCESS_LIMITS)
            • Case: False

              Parameters set:

              • DRAG_CODE (using ID, INCREMENT, DRAG_MAX_VALUE, DRAG_MIN_VALUE, MIN_DIFF_POS_16K, PROCESS_LIMITS)

    Condition: Check(LEVER_TYPE)

    • Case: True

      Parameters read:

      • NODE_ID_REVERSER

      Components:

      • #NODE_ID_REVERSER# (Node: #NODE_ID_REVERSER#)

        Parameters set:

        • ANIM_NAME (using ANIM_NAME_REVERSER)
        • DRAG_ANIM_NAME (using ANIM_NAME_REVERSER)
        • DRAG_NODE_ID (using NODE_ID_REVERSER)
        • TOOLTIP_THROTTLE_REVERSER_TITLE
        • TOOLTIP_TITLE (using TOOLTIP_THROTTLE_REVERSER_TITLE)
        • TOOLTIP_ENTRY_0 (using ID)
        • REVERSER_ID (using ID)

        Templates used:

        Condition: Valid(REVERSER_INVERT_IM_DRAG_INPUT_SCALAR)

        • Case: True

          Parameters set:

          • INVERT_IM_DRAG_INPUT_SCALAR (using REVERSER_INVERT_IM_DRAG_INPUT_SCALAR)

    Condition: Check(HIGHLIGHT_NODE_ID)

  • ASOBO_ENGINE_Propeller_Control_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Propeller_Control_SubTemplate"> <Parameters Type="Default"> <MIN_POS_16K Process="Int">@FeatherPropPos 16384 * 0 (A:THROTTLE LOWER LIMIT, position 16k) 0 &lt; ?</MIN_POS_16K> </Parameters> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Propeller_#ID_NODE#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Propeller_#ID_NODE#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Propeller</PART_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <LEVER_TYPE>IDLE_FULL</LEVER_TYPE> </Case> </Switch> <MAIN_LEVER_REVERSE_POSITION Process="Int">@FeatherPropPos 16384 * 0 #MIN_POS_16K# 0 &lt; ?</MAIN_LEVER_REVERSE_POSITION> <MAIN_LEVER_REVERSE_POSITION_PCT Process="Int">@FeatherPropPos 100 * 0 #MIN_POS_16K# 0 &lt; ?</MAIN_LEVER_REVERSE_POSITION_PCT> <LOWER_LIMIT>#MIN_POS_16K#</LOWER_LIMIT> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="IDLE_GATE_ANIM_POS"> <IDLE>#IDLE_GATE_ANIM_POS#</IDLE> <TRUE_IDLE_01 Process="Float">0 #MAIN_LEVER_REVERSE_POSITION_PCT# - 100 #MAIN_LEVER_REVERSE_POSITION_PCT# - /</TRUE_IDLE_01> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <AXIS>Y</AXIS> <NO_ARROWS/> <DRAG_AXIS_SCALE>-163.84</DRAG_AXIS_SCALE> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.PROP_RPM_LEVER</TOOLTIPID> <CURSOR>Hand</CURSOR> <INCREMENT>163.84</INCREMENT> <DELTA_MIN>0.00025</DELTA_MIN> <Switch Param="LEVER_TYPE"> <Case Value="IDLE_FULL"> <Condition Check="USE_BUTTON"> <BUTTON_NODE_ID>ENGINE_Lever_Propeller_#ID#_Button</BUTTON_NODE_ID> <BUTTON_ANIM_NAME>ENGINE_Lever_Propeller_#ID#_Button</BUTTON_ANIM_NAME> </Condition> <Condition Check="BUTTON_NODE_ID"> <BUTTON_ANIM_NAME>#BUTTON_NODE_ID#</BUTTON_ANIM_NAME> </Condition> </Case> </Switch> <Condition Check="IDLE_GATE_ANIM_POS"> <LERP_IDLE_FULL>l0 #IDLE# - 1 #IDLE# - / 1 #TRUE_IDLE_01# - * #TRUE_IDLE_01# +</LERP_IDLE_FULL> <LERP_IDLE_REVERSE>l0 #IDLE# - #IDLE# / #TRUE_IDLE_01# * #TRUE_IDLE_01# +</LERP_IDLE_REVERSE> </Condition> </Case> </Switch> <SCROLL_INCREMENT>701</SCROLL_INCREMENT> </Parameters> <Parameters Type="Default"> <Condition Check="IDLE_GATE_ANIM_POS"> <True> <ADJUST_RAW_DRAG_VALUE>sp0 #LERP_IDLE_FULL# #LERP_IDLE_REVERSE# l0 #IDLE# &gt; ?</ADJUST_RAW_DRAG_VALUE> <PROPELLER_ANIM_CODE> (B:ENGINE_Propeller_#ID#, percent over 100) sp0 l0 #TRUE_IDLE_01# - 1 #TRUE_IDLE_01# - / 1 #IDLE# - * #IDLE# + (* Upper part of propeller *) l0 #TRUE_IDLE_01# / #IDLE# * (* Reverse *) l0 #TRUE_IDLE_01# &gt; ? 100 * </PROPELLER_ANIM_CODE> </True> <False> <ADJUST_RAW_DRAG_VALUE/> <PROPELLER_ANIM_CODE>(B:ENGINE_Propeller_#ID#, percent)</PROPELLER_ANIM_CODE> </False> </Condition> <MIN_DIFF_POS_16K>819.2</MIN_DIFF_POS_16K> <DRAG_VALUE_OVERRIDE/> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch Param="LEVER_TYPE"> <Case Value="REVERSE_IDLE_FULL"> <DRAG_MIN_VALUE>#MAIN_LEVER_REVERSE_POSITION# (O:XMLVAR_MIN_Limit) max</DRAG_MIN_VALUE> <DRAG_MAX_VALUE>16384 (O:XMLVAR_MAX_Limit) min</DRAG_MAX_VALUE> <PROCESS_LIMITS> (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, position 16k) 0 &gt; if{ 0 (&gt;O:XMLVAR_MIN_Limit) 16384 (&gt;O:XMLVAR_MAX_Limit) } els{ #MAIN_LEVER_REVERSE_POSITION# (&gt;O:XMLVAR_MIN_Limit) 0 (&gt;O:XMLVAR_MAX_Limit) } </PROCESS_LIMITS> <RESET_LIMITS> #MAIN_LEVER_REVERSE_POSITION# (&gt;O:XMLVAR_MIN_Limit) 16384 (&gt;O:XMLVAR_MAX_Limit) </RESET_LIMITS> </Case> </Switch> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_PROPELLER_TITLE>@TT_Package.ENGINE_PROPELLER_TITLE</TOOLTIP_PROPELLER_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_PROPELLER_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Propeller_#ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <PROPELLER_ID>#ID#</PROPELLER_ID> </UseInputEvent> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>#PROPELLER_ANIM_CODE#</ANIM_CODE> </UseTemplate> <Switch Param="LEVER_TYPE"> <Case Value="IDLE_FULL"> <Condition Check="USE_BUTTON"> <True> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_LAG>800</ANIM_LAG> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <ANIM_CODE> (I:XMLVAR_Interacting_With_Lever_Propeller_#ID#) 100 * </ANIM_CODE> <ANIM_LENGTH>100</ANIM_LENGTH> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <WWISE_EVENT_1>throttle_lever_button_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <DIRECTION_1>Forward</DIRECTION_1> <WWISE_EVENT_2>throttle_lever_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.9</NORMALIZED_TIME_2> <DIRECTION_2>Backward</DIRECTION_2> </UseTemplate> </True> </Condition> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <DOWN_CODE>1 (&gt;I:XMLVAR_Interacting_With_Lever_Propeller_#ID#)</DOWN_CODE> <RELEASE_CODE>0 (&gt;I:XMLVAR_Interacting_With_Lever_Propeller_#ID#)</RELEASE_CODE> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE>(M:DragPercent) #ADJUST_RAW_DRAG_VALUE# (&gt;B:ENGINE_Propeller_#ID#_Set)</DRAG_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_Propeller_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_Propeller_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_SoundEvents_Same"> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <WWISE_EVENT>lever_propeller_knob</WWISE_EVENT> <COUNT>24</COUNT> </UseTemplate> </Case> <Case Value="REVERSE_IDLE_FULL"> <Update Once="True"> #RESET_LIMITS# </Update> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <DOWN_CODE> (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, position 16k) 0 == if{ 1 (&gt;O:XMLVAR_Limits_Needs_Recalculation) } els{ #PROCESS_LIMITS# } </DOWN_CODE> <RELEASE_CODE> #RESET_LIMITS# </RELEASE_CODE> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE> (M:InputType) 1 == if{ (O:_ResetLimitsTime) (E:SIMULATION TIME, second) &lt; if{ (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &lt; if{ #RESET_LIMITS# 1 (&gt;O:XMLVAR_Limits_Needs_Recalculation) } } (E:SIMULATION TIME, second) 0.1 + (&gt;O:_ResetLimitsTime) } 16384 #MAIN_LEVER_REVERSE_POSITION# - (M:DragPercent) #ADJUST_RAW_DRAG_VALUE# * #MAIN_LEVER_REVERSE_POSITION# + sp0 #DRAG_VALUE_OVERRIDE# l0 #DRAG_MAX_VALUE# min #DRAG_MIN_VALUE# max 16384 / (&gt;B:ENGINE_Propeller_#ID#_Set) (O:XMLVAR_Limits_Needs_Recalculation) if{ (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, position 16k) abs #MIN_DIFF_POS_16K# &gt; if{ #PROCESS_LIMITS# 0 (&gt;O:XMLVAR_Limits_Needs_Recalculation) } } </DRAG_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_Propeller_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_Propeller_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Case> </Switch> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>(L:XMLVAR_LeverPropellerHidden#ID#) !</VISIBILITY_CODE> </UseTemplate> </Case> </Switch> </Component> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • MIN_POS_16K
    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID_NODE)
      • ANIM_NAME (using INTERACTION_TYPE, ID_NODE)
      • PART_ID (using INTERACTION_TYPE)
      • MAIN_LEVER_REVERSE_POSITION (using MIN_POS_16K)
      • MAIN_LEVER_REVERSE_POSITION_PCT (using MIN_POS_16K)
      • LOWER_LIMIT (using MIN_POS_16K)

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Parameters set:

        • LEVER_TYPE
    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Condition: Check(IDLE_GATE_ANIM_POS)

        • Case: True

          Parameters set:

          • IDLE (using IDLE_GATE_ANIM_POS)
          • TRUE_IDLE_01 (using MAIN_LEVER_REVERSE_POSITION_PCT)
    • Default

      Parameters set:

      • SCROLL_INCREMENT

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Parameters set:

        • AXIS
        • NO_ARROWS
        • DRAG_AXIS_SCALE
        • TOOLTIPID
        • CURSOR
        • INCREMENT
        • DELTA_MIN

        Condition: Switch(LEVER_TYPE)

        • Case: IDLE_FULL

          Condition: Check(USE_BUTTON)

          • Case: True

            Parameters set:

            • BUTTON_NODE_ID (using ID)
            • BUTTON_ANIM_NAME (using ID)

          Condition: Check(BUTTON_NODE_ID)

          • Case: True

            Parameters set:

            • BUTTON_ANIM_NAME (using BUTTON_NODE_ID)

        Condition: Check(IDLE_GATE_ANIM_POS)

        • Case: True

          Parameters set:

          • LERP_IDLE_FULL (using IDLE, TRUE_IDLE_01)
          • LERP_IDLE_REVERSE (using IDLE, TRUE_IDLE_01)
    • Default

      Parameters set:

      • MIN_DIFF_POS_16K
      • DRAG_VALUE_OVERRIDE

      Condition: Check(IDLE_GATE_ANIM_POS)

      • Case: True

        Parameters set:

        • ADJUST_RAW_DRAG_VALUE (using LERP_IDLE_FULL, LERP_IDLE_REVERSE, IDLE)
        • PROPELLER_ANIM_CODE (using ID, TRUE_IDLE_01, IDLE)
      • Case: False

        Parameters set:

        • ADJUST_RAW_DRAG_VALUE
        • PROPELLER_ANIM_CODE (using ID)
    • Override

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Condition: Switch(LEVER_TYPE)

        • Case: REVERSE_IDLE_FULL

          Parameters set:

          • DRAG_MIN_VALUE (using MAIN_LEVER_REVERSE_POSITION)
          • DRAG_MAX_VALUE
          • PROCESS_LIMITS (using ID, MAIN_LEVER_REVERSE_POSITION)
          • RESET_LIMITS (using MAIN_LEVER_REVERSE_POSITION)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • TOOLTIP_PROPELLER_TITLE
      • TOOLTIP_TITLE (using TOOLTIP_PROPELLER_TITLE)
      • TOOLTIP_ENTRY_0 (using ID)
      • PROPELLER_ID (using ID)

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Templates used:

        Condition: Switch(LEVER_TYPE)

        • Case: IDLE_FULL

          Templates used:

          Condition: Check(USE_BUTTON)

          • Case: True

            Templates used:

            • ASOBO_GT_Anim_Code

              Parameters set:

              • ANIM_LAG
              • ANIM_NAME (using BUTTON_ANIM_NAME)
              • ANIM_CODE (using ID)
              • ANIM_LENGTH
            • ASOBO_GT_AnimTriggers_2SoundEvents

              Parameters set:

              • ANIM_NAME (using BUTTON_ANIM_NAME)
              • WWISE_EVENT_1
              • NORMALIZED_TIME_1
              • DIRECTION_1
              • WWISE_EVENT_2
              • NORMALIZED_TIME_2
              • DIRECTION_2
        • Case: REVERSE_IDLE_FULL

          Parameters read:

          • RESET_LIMITS

          Templates used:

          • ASOBO_GT_Interaction_WheelLeftDrag_Axis

            Parameters set:

            • DOWN_CODE (using ID, PROCESS_LIMITS)
            • RELEASE_CODE (using RESET_LIMITS)
            • HELPID
            • USE_TRAJECTORY_DRAG_MODE
            • DRAG_ANIM_NAME (using ANIM_NAME)
            • DRAG_CODE (using ID, MIN_DIFF_POS_16K, RESET_LIMITS, MAIN_LEVER_REVERSE_POSITION, ADJUST_RAW_DRAG_VALUE, DRAG_VALUE_OVERRIDE, DRAG_MAX_VALUE, DRAG_MIN_VALUE, PROCESS_LIMITS)
            • POSITIVE_AXIS_CODE (using ID)
            • NEGATIVE_AXIS_CODE (using ID)

    Condition: Check(HIGHLIGHT_NODE_ID)

  • ASOBO_ENGINE_Starter_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Starter_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Starter_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Starter_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Starter</PART_ID> <AIRLINER>TRUE</AIRLINER> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_Starter#ID#</SWITCH_POSITION_VAR> <SWITCH_POSITION_TYPE_TIMER>L</SWITCH_POSITION_TYPE_TIMER> <SWITCH_POSITION_VAR_TIMER>XMLVAR_Starter#ID#_EndTimeDown</SWITCH_POSITION_VAR_TIMER> <WWISE_EVENT>engine_starter_switch</WWISE_EVENT> <WWISE_EVENT_1>engine_starter_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_starter_switch_off</WWISE_EVENT_2> <Switch Param="TYPE"> <Case Value="2Values_StarterIgnition"> <STATE_START>0</STATE_START> <STATE_OFF>1</STATE_OFF> </Case> <Case Value="3Values_StarterIgnition"> <STATE_START>0</STATE_START> <STATE_OFF>1</STATE_OFF> <STATE_MOTOR>2</STATE_MOTOR> <Condition Check="MOMENTARY_SWITCH"> <REST_STATE>1</REST_STATE> <CODE_POS_RETURN>(&gt;B:ENGINE_Starter_Ignition_#ID#_Off)</CODE_POS_RETURN> </Condition> </Case> <Case Value="ON_OFF_ABORT"> <POS_ON>0</POS_ON> <POS_OFF>1</POS_OFF> <POS_ABORT>2</POS_ABORT> <MOMENTARY_MIN_DURATION>3</MOMENTARY_MIN_DURATION> </Case> <Case Value="AS02A"> <STATE_BOTH>0</STATE_BOTH> <STATE_R>1</STATE_R> <STATE_L>2</STATE_L> <STATE_IGN_OFF>3</STATE_IGN_OFF> <STATE_ALL_OFF>4</STATE_ALL_OFF> </Case> <Case Value="AS04F"> <STATE_ENG1>0</STATE_ENG1> <STATE_OFF>1</STATE_OFF> <STATE_ENG2>2</STATE_ENG2> </Case> </Switch> </Case> <Case Value="Push"> <WWISE_EVENT_1>engine_start_push_button_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_start_push_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <Switch Param="TYPE"> <Case Value="AS02A"> <SEQ1_EMISSIVE_CODE> 0 </SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:GENERAL ENG STARTER:#ID#, Bool)</SEQ2_EMISSIVE_CODE> </Case> <Default> <ONLY_SEQ1/> <SEQ1_EMISSIVE_CODE>(A:GENERAL ENG STARTER:#ID#, Bool)</SEQ1_EMISSIVE_CODE> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="TYPE"> <Case Value="AS02A"> <STARTER_TYPE>STARTER_IGNITION</STARTER_TYPE> <IGNITION_TYPE>BOTH_R_L_OFF_STARTOFF</IGNITION_TYPE> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_5States</TEMPLATE_TO_CALL> <SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION> <ARROW_TYPE>Curved</ARROW_TYPE> <CODE_POS_0>(* Ignition BOTH *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Both)</CODE_POS_0> <CODE_POS_1>(* Ignition RIGHT *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Right)</CODE_POS_1> <CODE_POS_2>(* Ignition LEFT *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Left)</CODE_POS_2> <CODE_POS_3>(* Ignition OFF *) (&gt;B:ENGINE_Starter_Ignition_#ID#_IgnOff)</CODE_POS_3> <CODE_POS_4>(* Ignition OFF + Starter OFF *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Off)</CODE_POS_4> <STATE0_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_BOTH# ==</STATE0_TEST> <STATE1_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_R# ==</STATE1_TEST> <STATE2_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_L# ==</STATE2_TEST> <STATE3_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_IGNOFF# ==</STATE3_TEST> <STATE4_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_ALLOFF# == </STATE4_TEST> </Case> <Case Value="AS01B"> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_2States</TEMPLATE_TO_CALL> <SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION> <ARROW_TYPE>Curved</ARROW_TYPE> <CODE_POS_0>(&gt;B:ENGINE_Starter_#ID#_On)</CODE_POS_0> <CODE_POS_1>(&gt;B:ENGINE_Starter_#ID#_Off)</CODE_POS_1> <STARTER_ON_SIMVAR>GENERAL ENG STARTER</STARTER_ON_SIMVAR> <STATE0_TEST>(B:ENGINE_Starter_#ID#, Bool) </STATE0_TEST> <STATE1_TEST>(B:ENGINE_Starter_#ID#, Bool) ! </STATE1_TEST> <UPDATE_CODE> (A:TURB ENG IGNITION SWITCH EX1:#ID#, enum) 1 != if{ 1 (&gt;K:TURBINE_IGNITION_SWITCH_SET#ID#) } </UPDATE_CODE> </Case> <Case Value="2Values_StarterIgnition"> <STARTER_TYPE>STARTER_IGNITION</STARTER_TYPE> <IGNITION_TYPE>START_OFF</IGNITION_TYPE> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_Code</TEMPLATE_TO_CALL> <LEFT_SINGLE_CODE> (B:ENGINE_Starter_Ignition_#ID#, number) #STATE_START# == if{ (* Off *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Off) } els{ (* Starter *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Start) } </LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_START# == 100 *</ANIM_CODE> <WWISE_EVENT_1>engine_starter_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_starter_switch_off</WWISE_EVENT_2> </Case> <Case Value="3Values_StarterIgnition"> <STARTER_TYPE>STARTER_IGNITION</STARTER_TYPE> <IGNITION_TYPE>START_OFF_MOTOR</IGNITION_TYPE> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_3States</TEMPLATE_TO_CALL> <CODE_POS_0>(* Starter *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Start)</CODE_POS_0> <CODE_POS_1>(* Off *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Off)</CODE_POS_1> <CODE_POS_2>(* Motor *) (&gt;B:ENGINE_Starter_Ignition_#ID#_Motor)</CODE_POS_2> <STATE0_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_START# ==</STATE0_TEST> <STATE1_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_OFF# == </STATE1_TEST> <STATE2_TEST>(B:ENGINE_Starter_Ignition_#ID#, number) #STATE_MOTOR# ==</STATE2_TEST> </Case> <Case Value="ON_OFF_ABORT"> <WWISE_PREFIX>engine_starter</WWISE_PREFIX> <MOMENTARY_SWITCH/> <STATE_MAX_TIMER>#MOMENTARY_MIN_DURATION#</STATE_MAX_TIMER> <STATE0_TIMER>#MOMENTARY_MIN_DURATION#</STATE0_TIMER> <NUM_STATES>3</NUM_STATES> <STR_STATE_#POS_ON#>On</STR_STATE_#POS_ON#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_ABORT#>Abort</STR_STATE_#POS_ABORT#> <SET_STATE_#POS_ON#>(A:GENERAL ENG STARTER:#ID#, Bool) ! if{ 1 (&gt;K:SET_STARTER#ID#_HELD) } 0 (&gt;O:_Abort)</SET_STATE_#POS_ON#> <SET_STATE_#POS_OFF#>(A:GENERAL ENG STARTER:#ID#, Bool) if{ 0 (&gt;K:SET_STARTER#ID#_HELD) } 0 (&gt;O:_Abort)</SET_STATE_#POS_OFF#> <SET_STATE_#POS_ABORT#>(A:GENERAL ENG STARTER:#ID#, Bool) if{ 0 (&gt;K:SET_STARTER#ID#_HELD) 0 (&gt;K:STARTER#ID#_SET) } 1 (&gt;O:_Abort)</SET_STATE_#POS_ABORT#> <TT_VALUE_#POS_ON#>@TT_Package.GT_STATE_ON</TT_VALUE_#POS_ON#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <TT_VALUE_#POS_ABORT#>@TT_Package.GT_STATE_ABORT</TT_VALUE_#POS_ABORT#> <GET_STATE_EXTERNAL>(A:GENERAL ENG STARTER:#ID#, Bool) sp0 (O:_Abort) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0 if{ #POS_ON# sp2 } els{ #POS_ABORT# #POS_OFF# (O:_Abort) ? sp2 } l2</ENUM_VAL_TO_POS_EXTERNAL> <SIMVAR_TO_WATCH_0>GENERAL ENG STARTER:#ID#</SIMVAR_TO_WATCH_0> </Case> <Case Value="AS04F"> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_3States</TEMPLATE_TO_CALL> <STARTER_TYPE>STARTER_IGNITION</STARTER_TYPE> <IGNITION_TYPE>ENG1_OFF_ENG2</IGNITION_TYPE> <CODE_POS_0>(&gt;B:ENGINE_Starter_Ignition_#ID#_Eng1)</CODE_POS_0> <CODE_POS_1>(&gt;B:ENGINE_Starter_Ignition_#ID#_Off)</CODE_POS_1> <CODE_POS_2>(&gt;B:ENGINE_Starter_Ignition_#ID#_Eng2)</CODE_POS_2> <STATE0_TEST>(A:GENERAL ENG STARTER:1, Bool)</STATE0_TEST> <STATE1_TEST>(A:GENERAL ENG STARTER:1, Bool) ! (A:GENERAL ENG STARTER:2, Bool) ! and</STATE1_TEST> <STATE2_TEST>(A:GENERAL ENG STARTER:2, Bool)</STATE2_TEST> </Case> <Default> <TEMPLATE_TO_CALL>ASOBO_GT_Switch_Code</TEMPLATE_TO_CALL> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Starter_#ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_Starter_#ID#, Bool) 100 *</ANIM_CODE> </Default> </Switch> </Case> <Case Value="Push"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Starter_#ID#_Toggle)</LEFT_SINGLE_CODE> <Condition Valid="AIRLINER"> <True> <TEMPLATE_TO_CALL>ASOBO_GT_Push_Button_Airliner</TEMPLATE_TO_CALL> </True> <False> <TEMPLATE_TO_CALL>ASOBO_GT_Push_Button</TEMPLATE_TO_CALL> </False> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TOOLTIP_TITLE>@TT_Package.ENGINE_STARTER_TITLE</TOOLTIP_TITLE> <Switch Param="STARTER_TYPE"> <Case Value="STARTER_IGNITION"> <TOOLTIP_ENTRY_0>ENGINE_Starter_Ignition_#ID#</TOOLTIP_ENTRY_0> </Case> <Default> <TOOLTIP_ENTRY_0>ENGINE_Starter_#ID#</TOOLTIP_ENTRY_0> </Default> </Switch> </Parameters> <Switch Param="TYPE"> <Case Value="ON_OFF_ABORT"> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <IE_NAME>Starter_#ID#</IE_NAME> </UseTemplate> </Case> <Default> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <Switch Param="STARTER_TYPE"> <Case Value="STARTER_IGNITION"> <STARTER_IGNITER_ID>#ID#</STARTER_IGNITER_ID> </Case> <Default> <STARTER_ID>#ID#</STARTER_ID> </Default> </Switch> </UseInputEvent> <UseTemplate Name="#TEMPLATE_TO_CALL#"/> <Condition Check="UPDATE_CODE"> <True> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>1</FREQUENCY> </UseTemplate> </True> </Condition> </Component> </Default> </Switch> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID)
      • ANIM_NAME (using INTERACTION_TYPE, ID)
      • PART_ID (using INTERACTION_TYPE)
      • AIRLINER
    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Parameters set:

        • SWITCH_POSITION_TYPE
        • SWITCH_POSITION_VAR (using ID)
        • SWITCH_POSITION_TYPE_TIMER
        • SWITCH_POSITION_VAR_TIMER (using ID)
        • WWISE_EVENT
        • WWISE_EVENT_1
        • WWISE_EVENT_2

        Condition: Switch(TYPE)

        • Case: 2Values_StarterIgnition

          Parameters set:

          • STATE_START
          • STATE_OFF
        • Case: 3Values_StarterIgnition

          Parameters set:

          • STATE_START
          • STATE_OFF
          • STATE_MOTOR

          Condition: Check(MOMENTARY_SWITCH)

          • Case: True

            Parameters set:

            • REST_STATE
            • CODE_POS_RETURN (using ID)
        • Case: ON_OFF_ABORT

          Parameters set:

          • POS_ON
          • POS_OFF
          • POS_ABORT
          • MOMENTARY_MIN_DURATION
        • Case: AS02A

          Parameters set:

          • STATE_BOTH
          • STATE_R
          • STATE_L
          • STATE_IGN_OFF
          • STATE_ALL_OFF
        • Case: AS04F

          Parameters set:

          • STATE_ENG1
          • STATE_OFF
          • STATE_ENG2
      • Case: Push

        Parameters set:

        • WWISE_EVENT_1
        • WWISE_EVENT_2
        • NORMALIZED_TIME_1
        • NORMALIZED_TIME_2

        Condition: Switch(TYPE)

        • Case: AS02A

          Parameters set:

          • SEQ1_EMISSIVE_CODE
          • SEQ2_EMISSIVE_CODE (using ID)
        • Default case:

          Parameters set:

          • ONLY_SEQ1
          • SEQ1_EMISSIVE_CODE (using ID)
    • Override

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Switch(TYPE)

        • Case: AS02A

          Parameters set:

          • STARTER_TYPE
          • IGNITION_TYPE
          • TEMPLATE_TO_CALL
          • SWITCH_DIRECTION
          • ARROW_TYPE
          • CODE_POS_0 (using ID)
          • CODE_POS_1 (using ID)
          • CODE_POS_2 (using ID)
          • CODE_POS_3 (using ID)
          • CODE_POS_4 (using ID)
          • STATE0_TEST (using ID, STATE_BOTH)
          • STATE1_TEST (using ID, STATE_R)
          • STATE2_TEST (using ID, STATE_L)
          • STATE3_TEST (using ID, STATE_IGNOFF)
          • STATE4_TEST (using ID, STATE_ALLOFF)
        • Case: AS01B

          Parameters set:

          • TEMPLATE_TO_CALL
          • SWITCH_DIRECTION
          • ARROW_TYPE
          • CODE_POS_0 (using ID)
          • CODE_POS_1 (using ID)
          • STARTER_ON_SIMVAR
          • STATE0_TEST (using ID)
          • STATE1_TEST (using ID)
          • UPDATE_CODE (using ID)
        • Case: 2Values_StarterIgnition

          Parameters set:

          • STARTER_TYPE
          • IGNITION_TYPE
          • TEMPLATE_TO_CALL
          • LEFT_SINGLE_CODE (using ID, STATE_START)
          • ANIM_CODE (using ID, STATE_START)
          • WWISE_EVENT_1
          • WWISE_EVENT_2
        • Case: 3Values_StarterIgnition

          Parameters set:

          • STARTER_TYPE
          • IGNITION_TYPE
          • TEMPLATE_TO_CALL
          • CODE_POS_0 (using ID)
          • CODE_POS_1 (using ID)
          • CODE_POS_2 (using ID)
          • STATE0_TEST (using ID, STATE_START)
          • STATE1_TEST (using ID, STATE_OFF)
          • STATE2_TEST (using ID, STATE_MOTOR)
        • Case: ON_OFF_ABORT

          Parameters set:

          • WWISE_PREFIX
          • MOMENTARY_SWITCH
          • STATE_MAX_TIMER (using MOMENTARY_MIN_DURATION)
          • STATE0_TIMER (using MOMENTARY_MIN_DURATION)
          • NUM_STATES
          • STR_STATE_#POS_ON#
          • STR_STATE_#POS_OFF#
          • STR_STATE_#POS_ABORT#
          • SET_STATE_#POS_ON# (using ID)
          • SET_STATE_#POS_OFF# (using ID)
          • SET_STATE_#POS_ABORT# (using ID)
          • TT_VALUE_#POS_ON#
          • TT_VALUE_#POS_OFF#
          • TT_VALUE_#POS_ABORT#
          • GET_STATE_EXTERNAL (using ID)
          • ENUM_VAL_TO_POS_EXTERNAL (using POS_ON, POS_ABORT, POS_OFF)
          • SIMVAR_TO_WATCH_0 (using ID)
        • Case: AS04F

          Parameters set:

          • TEMPLATE_TO_CALL
          • STARTER_TYPE
          • IGNITION_TYPE
          • CODE_POS_0 (using ID)
          • CODE_POS_1 (using ID)
          • CODE_POS_2 (using ID)
          • STATE0_TEST
          • STATE1_TEST
          • STATE2_TEST
        • Default case:

          Parameters set:

          • TEMPLATE_TO_CALL
          • LEFT_SINGLE_CODE (using ID)
          • ANIM_CODE (using ID)
      • Case: Push

        Parameters set:

        • LEFT_SINGLE_CODE (using ID)

        Condition: Valid(AIRLINER)

        • Case: True

          Parameters set:

          • TEMPLATE_TO_CALL
        • Case: False

          Parameters set:

          • TEMPLATE_TO_CALL
    • Default

      Parameters set:

      • TOOLTIP_TITLE

      Condition: Switch(STARTER_TYPE)

      • Case: STARTER_IGNITION

        Parameters set:

        • TOOLTIP_ENTRY_0 (using ID)
      • Default case:

        Parameters set:

        • TOOLTIP_ENTRY_0 (using ID)

    Condition: Switch(TYPE)

  • ASOBO_ENGINE_Ignition_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Ignition_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Ignition_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Ignition_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Ignition</PART_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <NUM_STATES>3</NUM_STATES> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_Ignition</SWITCH_POSITION_VAR> <Condition Check="NUM_STATES" match="2"> <True> <TYPE>AUTO_ON</TYPE> <WWISE_EVENT_1>engine_ignition_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_ignition_switch_off</WWISE_EVENT_2> </True> <False> <TYPE>OFF_ON_AUTO</TYPE> <WWISE_EVENT>engine_ignition_switch</WWISE_EVENT> </False> </Condition> </Case> <Case Value="Push"> <TYPE>AUTO_ON</TYPE> <WWISE_EVENT_1>engine_ignition_button_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <WWISE_EVENT_2>engine_ignition_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="OFF_AUTO"> <STATE_OFF>0</STATE_OFF> <STATE_AUTO>1</STATE_AUTO> <TOOLTIP_IGNITION_TITLE>@TT_Package.ENGINE_AUTO_IGNITION_TITLE</TOOLTIP_IGNITION_TITLE> </Case> <Case Value="AUTO_ON"> <STATE_AUTO>0</STATE_AUTO> <STATE_ON>1</STATE_ON> </Case> <Case Value="OFF_ON_AUTO"> <STATE_AUTO>0</STATE_AUTO> <STATE_ON>1</STATE_ON> <STATE_OFF>2</STATE_OFF> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Condition Check="UNDER_STARTER_AUTHORITY"> <True> <STARTER_AUTHORITY_TEST>(A:GENERAL ENG STARTER:#ID#, Bool) ! if{ quit }</STARTER_AUTHORITY_TEST> </True> <False> <STARTER_AUTHORITY_TEST/> </False> </Condition> </Case> <Case Value="Push"> <Switch Param="ID"> <Case Value="1"> <TOOLTIPID>%((A:TURB ENG IGNITION SWITCH EX1:#ID#, enum) #STATE_ON#)%{if}TT:COCKPIT.TOOLTIPS.IGNITION_LH_ON%{else}TT:COCKPIT.TOOLTIPS.IGNITION_LH_OFF%{end}</TOOLTIPID> </Case> <Case Value="2"> <TOOLTIPID>%((A:TURB ENG IGNITION SWITCH EX1:#ID#, enum) #STATE_ON#)%{if}TT:COCKPIT.TOOLTIPS.IGNITION_RH_ON%{else}TT:COCKPIT.TOOLTIPS.IGNITION_RH_OFF%{end}</TOOLTIPID> </Case> </Switch> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="OFF_AUTO"> <IS_ON>(B:ENGINE_Ignition_#ID#, Number) #STATE_AUTO# ==</IS_ON> </Case> <Case Value="AUTO_ON"> <IS_ON>(B:ENGINE_Ignition_#ID#, Number) #STATE_ON# ==</IS_ON> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TOOLTIP_IGNITION_TITLE>@TT_Package.ENGINE_IGNITION_TITLE</TOOLTIP_IGNITION_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_IGNITION_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Ignition_#ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <IGNITER_ID>#ID#</IGNITER_ID> </UseInputEvent> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Condition Check="NUM_STATES" match="2"> <True> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Ignition_#ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>#IS_ON# 100 *</ANIM_CODE> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Switch_3States"> <CODE_POS_#STATE_AUTO#>(&gt;B:ENGINE_Ignition_#IGNITER_ID#_Auto)</CODE_POS_#STATE_AUTO#> <CODE_POS_#STATE_ON#>(&gt;B:ENGINE_Ignition_#IGNITER_ID#_On)</CODE_POS_#STATE_ON#> <CODE_POS_#STATE_OFF#>(&gt;B:ENGINE_Ignition_#IGNITER_ID#_Off)</CODE_POS_#STATE_OFF#> <STATE#STATE_AUTO#_TEST>(B:ENGINE_Ignition_#IGNITER_ID#, Number) #STATE_AUTO# ==</STATE#STATE_AUTO#_TEST> <STATE#STATE_ON#_TEST>(B:ENGINE_Ignition_#IGNITER_ID#, Number) #STATE_ON# ==</STATE#STATE_ON#_TEST> <STATE#STATE_OFF#_TEST>(B:ENGINE_Ignition_#IGNITER_ID#, Number) #STATE_OFF# ==</STATE#STATE_OFF#_TEST> </UseTemplate> </False> </Condition> </Case> <Case Value="Push"> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"> <SEQ1_EMISSIVE_CODE>#IS_ON#</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>#IS_ON# !</SEQ2_EMISSIVE_CODE> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Ignition_#ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Case> </Switch> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID)
      • ANIM_NAME (using INTERACTION_TYPE, ID)
      • PART_ID (using INTERACTION_TYPE)

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Parameters set:

        • NUM_STATES
    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Parameters set:

        • SWITCH_POSITION_TYPE
        • SWITCH_POSITION_VAR

        Condition: Check(NUM_STATES)

        • Case: True

          Parameters set:

          • TYPE
          • WWISE_EVENT_1
          • WWISE_EVENT_2
        • Case: False

          Parameters set:

          • TYPE
          • WWISE_EVENT
      • Case: Push

        Parameters set:

        • TYPE
        • WWISE_EVENT_1
        • NORMALIZED_TIME_1
        • WWISE_EVENT_2
        • NORMALIZED_TIME_2
    • Default

      Condition: Switch(TYPE)

      • Case: OFF_AUTO

        Parameters set:

        • STATE_OFF
        • STATE_AUTO
        • TOOLTIP_IGNITION_TITLE
      • Case: AUTO_ON

        Parameters set:

        • STATE_AUTO
        • STATE_ON
      • Case: OFF_ON_AUTO

        Parameters set:

        • STATE_AUTO
        • STATE_ON
        • STATE_OFF
    • Override

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Check(UNDER_STARTER_AUTHORITY)

        • Case: True

          Parameters set:

          • STARTER_AUTHORITY_TEST (using ID)
        • Case: False

          Parameters set:

          • STARTER_AUTHORITY_TEST
      • Case: Push

        Condition: Switch(ID)

        • Case: 1

          Parameters set:

          • TOOLTIPID (using ID, STATE_ON)
        • Case: 2

          Parameters set:

          • TOOLTIPID (using ID, STATE_ON)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • TOOLTIP_IGNITION_TITLE
      • TOOLTIP_TITLE (using TOOLTIP_IGNITION_TITLE)
      • TOOLTIP_ENTRY_0 (using ID)
      • IGNITER_ID (using ID)

      Condition: Switch(TYPE)

      • Case: OFF_AUTO

        Parameters set:

        • IS_ON (using ID, STATE_AUTO)
      • Case: AUTO_ON

        Parameters set:

        • IS_ON (using ID, STATE_ON)

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Check(NUM_STATES)

        • Case: True

          Templates used:

        • Case: False

          Templates used:

          • ASOBO_GT_Switch_3States

            Parameters set:

            • CODE_POS_#STATE_AUTO# (using IGNITER_ID)
            • CODE_POS_#STATE_ON# (using IGNITER_ID)
            • CODE_POS_#STATE_OFF# (using IGNITER_ID)
            • STATE#STATE_AUTO#_TEST (using IGNITER_ID, STATE_AUTO)
            • STATE#STATE_ON#_TEST (using IGNITER_ID, STATE_ON)
            • STATE#STATE_OFF#_TEST (using IGNITER_ID, STATE_OFF)
      • Case: Push

        Templates used:

  • ASOBO_ENGINE_Magneto_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Magneto_SubTemplate"> <Parameters Type="Default"> <Condition Valid="USE_LEGACY_NAMES"> <True> <CATEGORY>ELECTRICAL</CATEGORY> </True> <False> <CATEGORY>ENGINE</CATEGORY> </False> </Condition> </Parameters> <Parameters Type="Default"> <NODE_ID>#CATEGORY#_#INTERACTION_TYPE#_Magneto_#ID#</NODE_ID> <ANIM_NAME>#CATEGORY#_#INTERACTION_TYPE#_Magneto_#ID#</ANIM_NAME> <PART_ID>#CATEGORY#_#INTERACTION_TYPE#_Magneto</PART_ID> <OTHER_PART_ID>#CATEGORY#_#INTERACTION_TYPE#_Master</OTHER_PART_ID> <Condition Valid="COVERED"> <COVER_NODE_ID>ELECTRICAL_#INTERACTION_TYPE#_Starter_#ID#_Cover</COVER_NODE_ID> <COVER_ANIM_NAME>ELECTRICAL_#INTERACTION_TYPE#_Starter_#ID#_Cover</COVER_ANIM_NAME> </Condition> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <WWISE_EVENT_1>magneto_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>magneto_switch_off</WWISE_EVENT_2> </Case> <Case Value="OFF_ON_START"> <INDEX_OFF>0</INDEX_OFF> <INDEX_ON>1</INDEX_ON> <WWISE_EVENT>magneto_switch</WWISE_EVENT> </Case> <Default> <INDEX_OFF>0</INDEX_OFF> <INDEX_LEFT>1</INDEX_LEFT> <INDEX_RIGHT>2</INDEX_RIGHT> <INDEX_BOTH>3</INDEX_BOTH> <WWISE_EVENT>magneto_switch</WWISE_EVENT> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <TYPE>ON_OFF</TYPE> <MAGNETO_SIDE>#MAGNETO_ID#</MAGNETO_SIDE> <IE_MAGNETO_ID>#MAGNETO_ID#</IE_MAGNETO_ID> </Case> <Case Value="OFF_ON_START"> <IE_MAGNETO_ID>#MAGNETO_ID#</IE_MAGNETO_ID> <TYPE>OFF_ON_START</TYPE> <NUMSTATES>3</NUMSTATES> <INDEX_STARTER>2</INDEX_STARTER> <STATE_MAX_TIMER>1</STATE_MAX_TIMER> <STATE0_TIMER>0</STATE0_TIMER> <USE_STARTER>True</USE_STARTER> </Case> <Default> <IE_MAGNETO_ID>#ID#</IE_MAGNETO_ID> <Condition Check="USE_STARTER"> <True> <TYPE>OFF_L_R_BOTH_START</TYPE> <NUMSTATES>5</NUMSTATES> <INDEX_STARTER>4</INDEX_STARTER> <STATE_MAX_TIMER>1</STATE_MAX_TIMER> <STATE0_TIMER>0</STATE0_TIMER> </True> <False> <TYPE>OFF_L_R_BOTH</TYPE> <NUMSTATES>4</NUMSTATES> </False> </Condition> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="ON_OFF"> <STATE_OFF>0</STATE_OFF> <STATE_ON>1</STATE_ON> </Case> <Case Value="OFF_L_R_BOTH"> <STATE_OFF>#INDEX_OFF#</STATE_OFF> <STATE_L>#INDEX_LEFT#</STATE_L> <STATE_R>#INDEX_RIGHT#</STATE_R> <STATE_BOTH>#INDEX_BOTH#</STATE_BOTH> </Case> <Case Value="OFF_ON_START"> <STATE_OFF>#INDEX_OFF#</STATE_OFF> <STATE_ON>#INDEX_ON#</STATE_ON> <STATE_START>#INDEX_STARTER#</STATE_START> </Case> <Case Value="OFF_L_R_BOTH_START"> <STATE_OFF>#INDEX_OFF#</STATE_OFF> <STATE_L>#INDEX_LEFT#</STATE_L> <STATE_R>#INDEX_RIGHT#</STATE_R> <STATE_BOTH>#INDEX_BOTH#</STATE_BOTH> <STATE_START>#INDEX_STARTER#</STATE_START> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_MAGNETO_TITLE>@TT_Package.ENGINE_MAGNETO_TITLE</TOOLTIP_MAGNETO_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_MAGNETO_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Magneto_#IE_MAGNETO_ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <MAGNETO_ID>#ID#</MAGNETO_ID> </UseInputEvent> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <Condition Valid="COVERED"> <True> <UseTemplate Name="ASOBO_GT_Switch_Covered"> <Parameters Type="Default"> <SWITCH_NODE_ID>#NODE_ID#</SWITCH_NODE_ID> <SWITCH_ANIM_NAME>#ANIM_NAME#</SWITCH_ANIM_NAME> </Parameters> <INPUT_EVENT_ID>ENGINE</INPUT_EVENT_ID> <COVER_IE_NAME>Magneto_#MAGNETO_SIDE#_Cover</COVER_IE_NAME> <COVER_IE_ID_SOURCE>ENGINE</COVER_IE_ID_SOURCE> <COVER_VAR_NAME>XMLVAR_ENGINE_Magneto_#MAGNETO_ID#_#MAGNETO_SIDE#_Cover_Opened</COVER_VAR_NAME> <COVER_VAR_TYPE>I</COVER_VAR_TYPE> <SWITCH_ANIM_CODE>(A:RECIP ENG #MAGNETO_SIDE# MAGNETO:#IE_MAGNETO_ID#, Number) 100 *</SWITCH_ANIM_CODE> <TOGGLE_STATE>(&gt;K:Magneto#IE_MAGNETO_ID#_#MAGNETO_SIDE#)</TOGGLE_STATE> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_ON# == 100 *</ANIM_CODE> </UseTemplate> </False> </Condition> </Case> <Default> <UseTemplate Name="ASOBO_GT_Switch_#NUMSTATES#States"> <CODE_POS_#INDEX_OFF#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Off)</CODE_POS_#INDEX_OFF#> <Switch Param="TYPE"> <Case Value="OFF_ON_START"> <CODE_POS_#INDEX_ON#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_On)</CODE_POS_#INDEX_ON#> <STATE#INDEX_ON#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_ON# ==</STATE#INDEX_ON#_TEST> </Case> <Default> <CODE_POS_#INDEX_LEFT#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Left)</CODE_POS_#INDEX_LEFT#> <CODE_POS_#INDEX_RIGHT#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Right)</CODE_POS_#INDEX_RIGHT#> <CODE_POS_#INDEX_BOTH#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Both)</CODE_POS_#INDEX_BOTH#> <STATE#INDEX_LEFT#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_L# ==</STATE#INDEX_LEFT#_TEST> <STATE#INDEX_RIGHT#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_R# ==</STATE#INDEX_RIGHT#_TEST> <STATE#INDEX_BOTH#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_BOTH# ==</STATE#INDEX_BOTH#_TEST> </Default> </Switch> <Condition Check="USE_STARTER"> <CODE_POS_#INDEX_STARTER#>(&gt;B:ENGINE_Magneto_#IE_MAGNETO_ID#_Start)</CODE_POS_#INDEX_STARTER#> <MOMENTARY_SWITCH/> <SWITCH_POSITION_VAR_ISDOWN>XMLVAR_Magneto_Starter_IsHeld</SWITCH_POSITION_VAR_ISDOWN> <SWITCH_POSITION_TYPE_ISDOWN>L</SWITCH_POSITION_TYPE_ISDOWN> <STATE#INDEX_STARTER#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_START# ==</STATE#INDEX_STARTER#_TEST> </Condition> <STATE#INDEX_OFF#_TEST>(B:ENGINE_Magneto_#IE_MAGNETO_ID#, Number) #STATE_OFF# ==</STATE#INDEX_OFF#_TEST> </UseTemplate> </Default> </Switch> </Component> </Template>

    Parameters initialization:

    • Default

      Condition: Valid(USE_LEGACY_NAMES)

      • Case: True

        Parameters set:

        • CATEGORY
      • Case: False

        Parameters set:

        • CATEGORY
    • Default

      Parameters set:

      • NODE_ID (using CATEGORY, INTERACTION_TYPE, ID)
      • ANIM_NAME (using CATEGORY, INTERACTION_TYPE, ID)
      • PART_ID (using CATEGORY, INTERACTION_TYPE)
      • OTHER_PART_ID (using CATEGORY, INTERACTION_TYPE)

      Condition: Valid(COVERED)

      • Case: True

        Parameters set:

        • COVER_NODE_ID (using INTERACTION_TYPE, ID)
        • COVER_ANIM_NAME (using INTERACTION_TYPE, ID)
    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Switch(SWITCH_TYPE)

        • Case: ON_OFF

          Parameters set:

          • WWISE_EVENT_1
          • WWISE_EVENT_2
        • Case: OFF_ON_START

          Parameters set:

          • INDEX_OFF
          • INDEX_ON
          • WWISE_EVENT
        • Default case:

          Parameters set:

          • INDEX_OFF
          • INDEX_LEFT
          • INDEX_RIGHT
          • INDEX_BOTH
          • WWISE_EVENT
    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Switch(SWITCH_TYPE)

        • Case: ON_OFF

          Parameters set:

          • TYPE
          • MAGNETO_SIDE (using MAGNETO_ID)
          • IE_MAGNETO_ID (using MAGNETO_ID)
        • Case: OFF_ON_START

          Parameters set:

          • IE_MAGNETO_ID (using MAGNETO_ID)
          • TYPE
          • NUMSTATES
          • INDEX_STARTER
          • STATE_MAX_TIMER
          • STATE0_TIMER
          • USE_STARTER
        • Default case:

          Parameters set:

          • IE_MAGNETO_ID (using ID)

          Condition: Check(USE_STARTER)

          • Case: True

            Parameters set:

            • TYPE
            • NUMSTATES
            • INDEX_STARTER
            • STATE_MAX_TIMER
            • STATE0_TIMER
          • Case: False

            Parameters set:

            • TYPE
            • NUMSTATES
    • Default

      Condition: Switch(TYPE)

      • Case: ON_OFF

        Parameters set:

        • STATE_OFF
        • STATE_ON
      • Case: OFF_L_R_BOTH

        Parameters set:

        • STATE_OFF (using INDEX_OFF)
        • STATE_L (using INDEX_LEFT)
        • STATE_R (using INDEX_RIGHT)
        • STATE_BOTH (using INDEX_BOTH)
      • Case: OFF_ON_START

        Parameters set:

        • STATE_OFF (using INDEX_OFF)
        • STATE_ON (using INDEX_ON)
        • STATE_START (using INDEX_STARTER)
      • Case: OFF_L_R_BOTH_START

        Parameters set:

        • STATE_OFF (using INDEX_OFF)
        • STATE_L (using INDEX_LEFT)
        • STATE_R (using INDEX_RIGHT)
        • STATE_BOTH (using INDEX_BOTH)
        • STATE_START (using INDEX_STARTER)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • TOOLTIP_MAGNETO_TITLE
      • TOOLTIP_TITLE (using TOOLTIP_MAGNETO_TITLE)
      • TOOLTIP_ENTRY_0 (using IE_MAGNETO_ID)
      • MAGNETO_ID (using ID)

      Condition: Switch(SWITCH_TYPE)

      • Case: ON_OFF

        Condition: Valid(COVERED)

        • Case: True

          Templates used:

          • ASOBO_GT_Switch_Covered

            Parameters set:

            • SWITCH_NODE_ID (using NODE_ID)
            • SWITCH_ANIM_NAME (using ANIM_NAME)
            • INPUT_EVENT_ID
            • COVER_IE_NAME (using MAGNETO_SIDE)
            • COVER_IE_ID_SOURCE
            • COVER_VAR_NAME (using MAGNETO_ID, MAGNETO_SIDE)
            • COVER_VAR_TYPE
            • SWITCH_ANIM_CODE (using MAGNETO_SIDE, IE_MAGNETO_ID)
            • TOGGLE_STATE (using IE_MAGNETO_ID, MAGNETO_SIDE)
        • Case: False

          Templates used:

          • ASOBO_GT_Switch_Code

            Parameters set:

            • LEFT_SINGLE_CODE (using IE_MAGNETO_ID)
            • ANIM_CODE (using IE_MAGNETO_ID, STATE_ON)
      • Default case:

        Parameters read:

        • NUMSTATES

        Templates used:

        • ASOBO_GT_Switch_#NUMSTATES#States

          Parameters set:

          • CODE_POS_#INDEX_OFF# (using IE_MAGNETO_ID)
          • STATE#INDEX_OFF#_TEST (using IE_MAGNETO_ID, STATE_OFF)

          Condition: Switch(TYPE)

          • Case: OFF_ON_START

            Parameters set:

            • CODE_POS_#INDEX_ON# (using IE_MAGNETO_ID)
            • STATE#INDEX_ON#_TEST (using IE_MAGNETO_ID, STATE_ON)
          • Default case:

            Parameters set:

            • CODE_POS_#INDEX_LEFT# (using IE_MAGNETO_ID)
            • CODE_POS_#INDEX_RIGHT# (using IE_MAGNETO_ID)
            • CODE_POS_#INDEX_BOTH# (using IE_MAGNETO_ID)
            • STATE#INDEX_LEFT#_TEST (using IE_MAGNETO_ID, STATE_L)
            • STATE#INDEX_RIGHT#_TEST (using IE_MAGNETO_ID, STATE_R)
            • STATE#INDEX_BOTH#_TEST (using IE_MAGNETO_ID, STATE_BOTH)

          Condition: Check(USE_STARTER)

          • Case: True

            Parameters set:

            • CODE_POS_#INDEX_STARTER# (using IE_MAGNETO_ID)
            • MOMENTARY_SWITCH
            • SWITCH_POSITION_VAR_ISDOWN
            • SWITCH_POSITION_TYPE_ISDOWN
            • STATE#INDEX_STARTER#_TEST (using IE_MAGNETO_ID, STATE_START)
  • ASOBO_ENGINE_Plasma_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Plasma_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Plasma_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Plasma_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Plasma</PART_ID> <WWISE_EVENT_1>plasma_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>plasma_switch_off</WWISE_EVENT_2> <TYPE>ON_OFF</TYPE> <PLASMA_SIDE>#ID#</PLASMA_SIDE> <IE_PLASMA_ID>#ID#</IE_PLASMA_ID> <PLASMA_ID>#ID#</PLASMA_ID> <STATE_OFF>0</STATE_OFF> <STATE_ON>1</STATE_ON> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_PLASMA_TITLE>@TT_Package.ENGINE_SWITCH_PLASMA_TITLE</TOOLTIP_PLASMA_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_SWITCH_PLASMA_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_PLASMA_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Plasma_#IE_PLASMA_ID#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_SWITCH_PLASMA_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="ENGINE"/> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_Plasma_#IE_PLASMA_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_Plasma_#IE_PLASMA_ID#, Number) #STATE_ON# == 100 *</ANIM_CODE> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID)
      • ANIM_NAME (using INTERACTION_TYPE, ID)
      • PART_ID (using INTERACTION_TYPE)
      • WWISE_EVENT_1
      • WWISE_EVENT_2
      • TYPE
      • PLASMA_SIDE (using ID)
      • IE_PLASMA_ID (using ID)
      • PLASMA_ID (using ID)
      • STATE_OFF
      • STATE_ON

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • TOOLTIP_PLASMA_TITLE
      • TT_DESCRIPTION_ID
      • TOOLTIP_TITLE (using TOOLTIP_PLASMA_TITLE)
      • TOOLTIP_ENTRY_0 (using IE_PLASMA_ID)

      Templates used:

      • ASOBO_GT_Switch_Code

        Parameters set:

        • LEFT_SINGLE_CODE (using IE_PLASMA_ID)
        • ANIM_CODE (using IE_PLASMA_ID, STATE_ON)
  • ASOBO_ENGINE_Master_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Master_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Master_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Master_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Master</PART_ID> <WWISE_PREFIX>engine_master</WWISE_PREFIX> <ENGINE_ID>#ID#</ENGINE_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="TYPE"> <Case Value="AIRBUS"> <USE_FUELSYSTEM>True</USE_FUELSYSTEM> <VALVE_ID>#ID#</VALVE_ID> <SEQ1_NODE_ID>#NODE_ID#_SEQ1</SEQ1_NODE_ID> </Case> <Case Value="LOCKED"> <LOCK_NODE_ID>ENGINE_#INTERACTION_TYPE#_Master_#ID#_Lock</LOCK_NODE_ID> <LOCK_ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Master_#ID#_Lock</LOCK_ANIM_NAME> <WWISE_COVER_EVENT_OPEN>engine_cover_master_switch_on</WWISE_COVER_EVENT_OPEN> <WWISE_COVER_EVENT_CLOSE>engine_cover_master_switch_off</WWISE_COVER_EVENT_CLOSE> <COVER_IE_NAME>Master_#ID#_Cover</COVER_IE_NAME> <COVER_IE_ID_SOURCE>ENGINE</COVER_IE_ID_SOURCE> </Case> </Switch> </Case> </Switch> <TOOLTIP_TITLE>@TT_Package.ENGINE_SWITCH_MASTER_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_SWITCH_MASTER_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Default"> <Condition Valid="USE_FUELSYSTEM"> <True> <GET_MASTER>(A:FUELSYSTEM VALVE SWITCH:#VALVE_ID#, Bool)</GET_MASTER> <GET_STARTER>(A:GENERAL ENG STARTER:#ENGINE_ID#, Bool)</GET_STARTER> <SIMVAR_TO_WATCH_0>FUELSYSTEM VALVE SWITCH:#VALVE_ID#</SIMVAR_TO_WATCH_0> <SIMVAR_TO_WATCH_1>GENERAL ENG STARTER:#ENGINE_ID#</SIMVAR_TO_WATCH_1> </True> <False> <GET_MASTER>(A:RECIP ENG ENGINE MASTER SWITCH:#ENGINE_ID#, Bool)</GET_MASTER> <SIMVAR_TO_WATCH_0>RECIP ENG ENGINE MASTER SWITCH:#ENGINE_ID#</SIMVAR_TO_WATCH_0> </False> </Condition> </Parameters> <Parameters Type="Default"> <Condition Valid="USE_FUELSYSTEM"> <True> <SET_STARTER>s0 #GET_STARTER# != if{ (&gt;K:TOGGLE_STARTER#ENGINE_ID#) }</SET_STARTER> <SET_MASTER>s0 #GET_MASTER# != if{ l0 if{ #VALVE_ID# (&gt;K:FUELSYSTEM_VALVE_OPEN) } els{ #VALVE_ID# (&gt;K:FUELSYSTEM_VALVE_CLOSE) } }</SET_MASTER> </True> <False> <SET_MASTER>s0 #GET_MASTER# != if{ (&gt;K:ENGINE_MASTER_#ENGINE_ID#_TOGGLE) }</SET_MASTER> </False> </Condition> </Parameters> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <IE_NAME>Master_#ID#</IE_NAME> <Switch Param="TYPE"> <Case Value="LOCKED"> <TEMPLATE_TO_USE>ASOBO_GT_Switch_Covered</TEMPLATE_TO_USE> <CREATE_COMPONENT>False</CREATE_COMPONENT> <SWITCH_NODE_ID>#NODE_ID#</SWITCH_NODE_ID> <SWITCH_ANIM_NAME>#ANIM_NAME#</SWITCH_ANIM_NAME> <COVER_NODE_ID>#LOCK_NODE_ID#</COVER_NODE_ID> <COVER_ANIM_NAME>#LOCK_ANIM_NAME#</COVER_ANIM_NAME> <COVER_VAR_NAME>XMLVAR_ENGINE_Switch_Master_Cover_Opened</COVER_VAR_NAME> <COVER_VAR_TYPE>O</COVER_VAR_TYPE> <ON_STATE_CHANGED_EXTERNAL_CODE>(B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#, Bool) ! if{ (&gt;B:#COVER_IE_ID_SOURCE#_#COVER_IE_NAME#_Open) }</ON_STATE_CHANGED_EXTERNAL_CODE> </Case> </Switch> <Condition Valid="USE_FUELSYSTEM"> <True> <SET_STATE_EXTERNAL>p0 #SET_MASTER# p0 #SET_STARTER#</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>#GET_MASTER# s0 #GET_STARTER# != if{ #GET_MASTER# #SET_STARTER# } l0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </True> <False> <SET_STATE_EXTERNAL>p0 #SET_MASTER#</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>#GET_MASTER# sp0</GET_STATE_EXTERNAL> </False> </Condition> </UseTemplate> <Switch Param="TYPE"> <Case Value="AIRBUS"> <Condition Check="POTENTIOMETER"> <Component ID="#SEQ1_NODE_ID#" Node="#SEQ1_NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(A:LIGHT POTENTIOMETER:#POTENTIOMETER#, Percent over 100)</EMISSIVE_CODE> </UseTemplate> </Component> </Condition> </Case> </Switch> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID)
      • ANIM_NAME (using INTERACTION_TYPE, ID)
      • PART_ID (using INTERACTION_TYPE)
      • WWISE_PREFIX
      • ENGINE_ID (using ID)
      • TOOLTIP_TITLE
      • TT_DESCRIPTION_ID

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Switch(TYPE)

        • Case: AIRBUS

          Parameters set:

          • USE_FUELSYSTEM
          • VALVE_ID (using ID)
          • SEQ1_NODE_ID (using NODE_ID)
        • Case: LOCKED

          Parameters set:

          • LOCK_NODE_ID (using INTERACTION_TYPE, ID)
          • LOCK_ANIM_NAME (using INTERACTION_TYPE, ID)
          • WWISE_COVER_EVENT_OPEN
          • WWISE_COVER_EVENT_CLOSE
          • COVER_IE_NAME (using ID)
          • COVER_IE_ID_SOURCE
    • Default

      Condition: Valid(USE_FUELSYSTEM)

      • Case: True

        Parameters set:

        • GET_MASTER (using VALVE_ID)
        • GET_STARTER (using ENGINE_ID)
        • SIMVAR_TO_WATCH_0 (using VALVE_ID)
        • SIMVAR_TO_WATCH_1 (using ENGINE_ID)
      • Case: False

        Parameters set:

        • GET_MASTER (using ENGINE_ID)
        • SIMVAR_TO_WATCH_0 (using ENGINE_ID)
    • Default

      Condition: Valid(USE_FUELSYSTEM)

      • Case: True

        Parameters set:

        • SET_STARTER (using GET_STARTER, ENGINE_ID)
        • SET_MASTER (using GET_MASTER, VALVE_ID)
      • Case: False

        Parameters set:

        • SET_MASTER (using GET_MASTER, ENGINE_ID)

    Templates used:

    • ASOBO_ENGINE_Base_Template

      Parameters set:

      • IE_NAME (using ID)

      Condition: Switch(TYPE)

      • Case: LOCKED

        Parameters set:

        • TEMPLATE_TO_USE
        • CREATE_COMPONENT
        • SWITCH_NODE_ID (using NODE_ID)
        • SWITCH_ANIM_NAME (using ANIM_NAME)
        • COVER_NODE_ID (using LOCK_NODE_ID)
        • COVER_ANIM_NAME (using LOCK_ANIM_NAME)
        • COVER_VAR_NAME
        • COVER_VAR_TYPE
        • ON_STATE_CHANGED_EXTERNAL_CODE (using COVER_IE_ID_SOURCE, COVER_IE_NAME)

      Condition: Valid(USE_FUELSYSTEM)

      • Case: True

        Parameters set:

        • SET_STATE_EXTERNAL (using SET_MASTER, SET_STARTER)
        • GET_STATE_EXTERNAL (using GET_MASTER, GET_STARTER, SET_STARTER)
        • SIM_STATE_IS_ON_EXTERNAL
      • Case: False

        Parameters set:

        • SET_STATE_EXTERNAL (using SET_MASTER)
        • GET_STATE_EXTERNAL (using GET_MASTER)

    Condition: Switch(TYPE)

    • Case: AIRBUS

      Condition: Check(POTENTIOMETER)

      • Case: True

        Parameters read:

        • SEQ1_NODE_ID

        Components:

        • #SEQ1_NODE_ID# (Node: #SEQ1_NODE_ID#)

          Templates used:

  • ASOBO_ENGINE_Choke_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Choke_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Choke</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Choke</ANIM_NAME> <VAR_NAME>XMLVAR_ENGINE_#INTERACTION_TYPE#_Choke_Pulled</VAR_NAME> <VAR_SCOPE>L</VAR_SCOPE> <PART_ID>ENGINE_#INTERACTION_TYPE#_CHOKE</PART_ID> <WWISE_EVENT_1>lever_choke_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>lever_choke_switch_off</WWISE_EVENT_2> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_CHOKE_ACTION_SET</TT_DESCRIPTION_ID> <TOOLTIP_TITLE>@TT_Package.ENGINE_CHOKE_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Choke_#ID#</TOOLTIP_ENTRY_0> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch> <Case Valid="USE_DRAGGING_INTERACTION"> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <SCROLL_INCREMENT>10</SCROLL_INCREMENT> </Case> </Switch> </Case> </Switch> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch> <Case Valid="USE_DRAGGING_INTERACTION"> <Component ID="#NODE_ID#_#ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <LEVER_ID>Choke_#ID#</LEVER_ID> </Parameters> <UseInputEvent ID="ENGINE"> <GET_STATE_EXTERNAL>(#VAR_SCOPE#:#VAR_NAME#)</GET_STATE_EXTERNAL> <SET_STATE_EXTERNAL>(&gt;#VAR_SCOPE#:#VAR_NAME#)</SET_STATE_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <CURSOR>Grab</CURSOR> <NO_ARROWS/> <DRAG_CODE>100 (M:DragPercent) * 100 min 0 max (&gt;B:ENGINE_#LEVER_ID#_Set)</DRAG_CODE> <ANIM_CODE>(B:ENGINE_#LEVER_ID#, percent)</ANIM_CODE> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <POSITIVE_AXIS_CODE>#SCROLL_INCREMENT# (&gt;B:ENGINE_#LEVER_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>#SCROLL_INCREMENT# (&gt;B:ENGINE_#LEVER_ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Component> </Case> <Default> <Component ID="#NODE_ID#_#ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <BTN_ID>Choke_#ID#</BTN_ID> </Parameters> <UseInputEvent ID="ENGINE"> <SET_STATE_ON>1 (&gt;#VAR_SCOPE#:#VAR_NAME#)</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;#VAR_SCOPE#:#VAR_NAME#)</SET_STATE_OFF> <GET_STATE_EXTERNAL>(#VAR_SCOPE#:#VAR_NAME#) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_#BTN_ID#, percent)</ANIM_CODE> </UseTemplate> </Component> </Default> </Switch> </Case> </Switch> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE)
      • ANIM_NAME (using INTERACTION_TYPE)
      • VAR_NAME (using INTERACTION_TYPE)
      • VAR_SCOPE
      • PART_ID (using INTERACTION_TYPE)
      • WWISE_EVENT_1
      • WWISE_EVENT_2
      • TT_DESCRIPTION_ID
      • TOOLTIP_TITLE
      • TOOLTIP_ENTRY_0 (using ID)
    • Override

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Condition: Switch

        • Case: Valid(USE_DRAGGING_INTERACTION)

          Parameters set:

          • USE_TRAJECTORY_DRAG_MODE
          • SCROLL_INCREMENT

    Condition: Switch(INTERACTION_TYPE)

    • Case: Lever

      Condition: Switch

      • Case: Valid(USE_DRAGGING_INTERACTION)

        Parameters read:

        • NODE_ID
        • ID

        Components:

        • #NODE_ID#_#ID# (Node: #NODE_ID#)

          Parameters set:

          • LEVER_ID (using ID)
          • GET_STATE_EXTERNAL (using VAR_SCOPE, VAR_NAME)
          • SET_STATE_EXTERNAL (using VAR_SCOPE, VAR_NAME)

          Templates used:

          • ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis

            Parameters set:

            • CURSOR
            • NO_ARROWS
            • DRAG_CODE (using LEVER_ID)
            • ANIM_CODE (using LEVER_ID)
            • DRAG_ANIM_NAME (using ANIM_NAME)
            • POSITIVE_AXIS_CODE (using SCROLL_INCREMENT, LEVER_ID)
            • NEGATIVE_AXIS_CODE (using SCROLL_INCREMENT, LEVER_ID)
      • Default case:

        Parameters read:

        • NODE_ID
        • ID

        Components:

        • #NODE_ID#_#ID# (Node: #NODE_ID#)

          Parameters set:

          • BTN_ID (using ID)
          • SET_STATE_ON (using VAR_SCOPE, VAR_NAME)
          • SET_STATE_OFF (using VAR_SCOPE, VAR_NAME)
          • GET_STATE_EXTERNAL (using VAR_SCOPE, VAR_NAME)
          • SIM_STATE_IS_ON_EXTERNAL

          Templates used:

    Condition: Check(HIGHLIGHT_NODE_ID)

  • ASOBO_ENGINE_Primer_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Primer_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Primer_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Primer_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Primer</PART_ID> <THRESHOLD>0.75</THRESHOLD> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <WWISE_EVENT_1>engine_primer_lever</WWISE_EVENT_1> </Case> <Case Value="Switch"> <WWISE_EVENT_1>engine_primer_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_primer_switch_off</WWISE_EVENT_2> <MOMENTARY>True</MOMENTARY> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_PRIMER_ACTION</TT_DESCRIPTION_ID> <TOOLTIP_PRIMER_TITLE>@TT_Package.ENGINE_PRIMER_TITLE</TOOLTIP_PRIMER_TITLE> </Parameters> <Parameters Type="Default"> <COVER_NODE_ID>ENGINE_#INTERACTION_TYPE#_Primer_#ID#_Cover</COVER_NODE_ID> <COVER_ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Primer_#ID#_Cover</COVER_ANIM_NAME> <TT_DESCRIPTION_ID_COVER>@TT_Package.COMMON_COVER_ACTION</TT_DESCRIPTION_ID_COVER> <TOOLTIP_PRIMER_TITLE_COVER>@TT_Package.COMMON_COVER_TITLE</TOOLTIP_PRIMER_TITLE_COVER> <IE_NAME_COVER>Primer_#ID#_#INTERACTION_TYPE#_Cover</IE_NAME_COVER> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_PRIMER_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Primer_#ID#_#INTERACTION_TYPE#</TOOLTIP_ENTRY_0> <IE_NAME_BASE>Primer_#ID#_#INTERACTION_TYPE#</IE_NAME_BASE> <Condition Valid="IS_ELECTRICAL"> <True> <FAILURE_CHECK>(A:CIRCUIT ON:3, Bool) and</FAILURE_CHECK> </True> <False> <FAILURE_CHECK/> </False> </Condition> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="LEVER"> <UseInputEvent ID="ENGINE"> <BTN_ID>#IE_NAME_BASE#</BTN_ID> <TT_ICON>MOVE_AXIS_Y</TT_ICON> <ANIM>EXTERNAL</ANIM> <SET_STATE_EXTERNAL>if{ (&gt;K:TOGGLE_PRIMER#ID#) }</SET_STATE_EXTERNAL> <BINDING_SET_0>Toggle</BINDING_SET_0> <BINDING_SET_0_PARAM_0>0 1 (A:RECIP ENG PRIMER:#ID#, position) #THRESHOLD# &gt; ?</BINDING_SET_0_PARAM_0> <BINDING_SET_0_PARAM_0_IS_DYNAMIC>True</BINDING_SET_0_PARAM_0_IS_DYNAMIC> <TT_VALUE>(A:RECIP ENG PRIMER:#ID#, percent) &apos;%d%%&apos; @sprintf</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> </UseInputEvent> <UseInputEvent ID="ENGINE"> <BTN_ID>#IE_NAME_BASE#_Lock</BTN_ID> <TT_ICON>MOVE_AXIS_Y</TT_ICON> <ANIM>EXTERNAL</ANIM> <SET_STATE_EXTERNAL>if{ (&gt;K:TOGGLE_PRIMER#ID#) }</SET_STATE_EXTERNAL> <BINDING_SET_0>Toggle</BINDING_SET_0> <BINDING_SET_0_PARAM_0>0 1 (A:RECIP ENG PRIMER:#ID#, position) #THRESHOLD# &gt; ?</BINDING_SET_0_PARAM_0> <BINDING_SET_0_PARAM_0_IS_DYNAMIC>True</BINDING_SET_0_PARAM_0_IS_DYNAMIC> <TT_VALUE>(A:RECIP ENG PRIMER:#ID#, percent) &apos;%d%%&apos; @sprintf</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#IE_NAME_BASE#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(A:RECIP ENG PRIMER:#ID#, percent)</ANIM_CODE> </UseTemplate> </Case> <Case Value="SWITCH"> <UseInputEvent ID="ENGINE"> <BTN_ID>#IE_NAME_BASE#</BTN_ID> <SET_STATE_ON>1 (&gt;O:XMLVAR_PRIMER#ID#_SWITCH_ON)</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;O:XMLVAR_PRIMER#ID#_SWITCH_ON)</SET_STATE_OFF> <GET_STATE_EXTERNAL>(O:XMLVAR_PRIMER#ID#_SWITCH_ON) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>2</FREQUENCY> <UPDATE_CODE> (B:ENGINE_#IE_NAME_BASE#, Bool) if{ (A:RECIP ENG PRIMER:#ID#, Position) #THRESHOLD# &lt; #FAILURE_CHECK# if{ (&gt;K:TOGGLE_PRIMER#ID#) } } </UPDATE_CODE> </UseTemplate> <Condition Valid="MOMENTARY"> <True> <UseTemplate Name="ASOBO_GT_Push_Button"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#IE_NAME_BASE#_On)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>(&gt;B:ENGINE_#IE_NAME_BASE#_Off)</LEFT_LEAVE_CODE> <OVERRIDE_ANIM_CODE>(B:ENGINE_#IE_NAME_BASE#, percent)</OVERRIDE_ANIM_CODE> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#IE_NAME_BASE#_Toggle)</LEFT_SINGLE_CODE> <OVERRIDE_ANIM_CODE>(B:ENGINE_#IE_NAME_BASE#, percent)</OVERRIDE_ANIM_CODE> </UseTemplate> </False> </Condition> </Case> </Switch> </Component> <Condition Valid="COVERED"> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <TOOLTIP_TITLE>#TOOLTIP_PRIMER_TITLE_COVER#</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_COVER#</TT_DESCRIPTION_ID> <TOOLTIP_ENTRY_0>ENGINE_Primer_#ID#_#INTERACTION_TYPE#_Cover</TOOLTIP_ENTRY_0> <BTN_ID>#IE_NAME_COVER#</BTN_ID> <IE_NAME>#IE_NAME_COVER#</IE_NAME> <NODE_ID>#COVER_NODE_ID#</NODE_ID> <ANIM_NAME>#COVER_ANIM_NAME#</ANIM_NAME> <SET_STATE_EXTERNAL>p0 (&gt;O:XMLVAR_PRIMER#ID#_COVER)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(O:XMLVAR_PRIMER#ID#_COVER) sp0</GET_STATE_EXTERNAL> </UseTemplate> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID)
      • ANIM_NAME (using INTERACTION_TYPE, ID)
      • PART_ID (using INTERACTION_TYPE)
      • THRESHOLD

      Condition: Switch(INTERACTION_TYPE)

      • Case: Lever

        Parameters set:

        • WWISE_EVENT_1
      • Case: Switch

        Parameters set:

        • WWISE_EVENT_1
        • WWISE_EVENT_2
        • MOMENTARY
    • Default

      Parameters set:

      • TT_DESCRIPTION_ID
      • TOOLTIP_PRIMER_TITLE
    • Default

      Parameters set:

      • COVER_NODE_ID (using INTERACTION_TYPE, ID)
      • COVER_ANIM_NAME (using INTERACTION_TYPE, ID)
      • TT_DESCRIPTION_ID_COVER
      • TOOLTIP_PRIMER_TITLE_COVER
      • IE_NAME_COVER (using ID, INTERACTION_TYPE)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • TOOLTIP_TITLE (using TOOLTIP_PRIMER_TITLE)
      • TOOLTIP_ENTRY_0 (using ID, INTERACTION_TYPE)
      • IE_NAME_BASE (using ID, INTERACTION_TYPE)

      Condition: Valid(IS_ELECTRICAL)

      • Case: True

        Parameters set:

        • FAILURE_CHECK
      • Case: False

        Parameters set:

        • FAILURE_CHECK

      Condition: Switch(INTERACTION_TYPE)

      • Case: LEVER

        Parameters set:

        • BTN_ID (using IE_NAME_BASE)
        • TT_ICON
        • ANIM
        • SET_STATE_EXTERNAL (using ID)
        • BINDING_SET_0
        • BINDING_SET_0_PARAM_0 (using ID, THRESHOLD)
        • BINDING_SET_0_PARAM_0_IS_DYNAMIC
        • TT_VALUE (using ID)
        • TT_VALUE_IS_DYNAMIC

        Templates used:

      • Case: SWITCH

        Parameters set:

        • BTN_ID (using IE_NAME_BASE)
        • SET_STATE_ON (using ID)
        • SET_STATE_OFF (using ID)
        • GET_STATE_EXTERNAL (using ID)
        • SIM_STATE_IS_ON_EXTERNAL

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • FREQUENCY
          • UPDATE_CODE (using IE_NAME_BASE, ID, THRESHOLD, FAILURE_CHECK)

        Condition: Valid(MOMENTARY)

        • Case: True

          Templates used:

          • ASOBO_GT_Push_Button

            Parameters set:

            • LEFT_SINGLE_CODE (using IE_NAME_BASE)
            • LEFT_LEAVE_CODE (using IE_NAME_BASE)
            • OVERRIDE_ANIM_CODE (using IE_NAME_BASE)
        • Case: False

          Templates used:

          • ASOBO_GT_Switch_Code

            Parameters set:

            • LEFT_SINGLE_CODE (using IE_NAME_BASE)
            • OVERRIDE_ANIM_CODE (using IE_NAME_BASE)

    Condition: Valid(COVERED)

    • Case: True

      Templates used:

      • ASOBO_ENGINE_Base_Template

        Parameters set:

        • TOOLTIP_TITLE (using TOOLTIP_PRIMER_TITLE_COVER)
        • TT_DESCRIPTION_ID (using TT_DESCRIPTION_ID_COVER)
        • TOOLTIP_ENTRY_0 (using ID, INTERACTION_TYPE)
        • BTN_ID (using IE_NAME_COVER)
        • IE_NAME (using IE_NAME_COVER)
        • NODE_ID (using COVER_NODE_ID)
        • ANIM_NAME (using COVER_ANIM_NAME)
        • SET_STATE_EXTERNAL (using ID)
        • GET_STATE_EXTERNAL (using ID)
  • ASOBO_ENGINE_Alternate_Air_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Alternate_Air_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_AlternateAir_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_AlternateAir_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_AlternateAir</PART_ID> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <WWISE_EVENT_1>engine_alternate_air_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_alternate_air_switch_off</WWISE_EVENT_2> </Case> <Case Value="Lever"> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <SCROLL_INCREMENT Process="Int">16384 20 /</SCROLL_INCREMENT> <WWISE_EVENT_1>engine_alternate_air_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_alternate_air_switch_off</WWISE_EVENT_2> <Condition Check="USE_BUTTON"> <BUTTON_ANIM_NAME>ENGINE_Switch_AlternateAir_#ID#_Button</BUTTON_ANIM_NAME> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <BTN_ID>Alternate_Air</BTN_ID> </Case> <Case Value="Lever"> <LEVER_ID>Alternate_Air</LEVER_ID> </Case> </Switch> <TOOLTIP_TITLE>@TT_Package.CABIN_ALTERNATE_AIR_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Alternate_Air</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.CABIN_ALTERNATE_AIR_ACTION</TT_DESCRIPTION_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <UseInputEvent ID="ENGINE"> <SET_STATE_ON>1 (&gt;K:ANTI_ICE_SET_ENG#ID#)</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;K:ANTI_ICE_SET_ENG#ID#)</SET_STATE_OFF> <GET_STATE_EXTERNAL>(A:RECIP ENG ALTERNATE AIR POSITION:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <ANIM_CODE>(B:ENGINE_#BTN_ID#, Bool) 100 *</ANIM_CODE> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Case> <Case Value="Lever"> <UseInputEvent ID="ENGINE"> <SET_STATE_EXTERNAL>(&gt;K:ANTI_ICE_GRADUAL_SET_ENG#ID#)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:RECIP ENG ALTERNATE AIR POSITION:#ID#, position 16k)</GET_STATE_EXTERNAL> <GET_TT_VALUE_STATE>(A:RECIP ENG ALTERNATE AIR POSITION:#ID#, percent)</GET_TT_VALUE_STATE> <INC_PARAM_0>p0 #SCROLL_INCREMENT# *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>p0 #SCROLL_INCREMENT# *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> <SET_PARAM_0>p0 16384 *</SET_PARAM_0> <SET_PARAM_0_IS_DYNAMIC>True</SET_PARAM_0_IS_DYNAMIC> <INC_CODE_ADJUST_VALUE>16384 /</INC_CODE_ADJUST_VALUE> <DEC_CODE_ADJUST_VALUE>16384 /</DEC_CODE_ADJUST_VALUE> <MIN_VALUE>0</MIN_VALUE> <MAX_VALUE>16384</MAX_VALUE> <VALUE_UNITS>position 16k</VALUE_UNITS> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <CURSOR>Grab</CURSOR> <NO_ARROWS/> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE>(M:DragPercent) (&gt;B:ENGINE_#LEVER_ID#_Set)</DRAG_CODE> <ANIM_CODE>(B:ENGINE_#LEVER_ID#, percent)</ANIM_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> <Condition Check="USE_BUTTON"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <ANIM_CODE>(O:_Interacting) 100 *</ANIM_CODE> </UseTemplate> </Condition> </Case> </Switch> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID)
      • ANIM_NAME (using INTERACTION_TYPE, ID)
      • PART_ID (using INTERACTION_TYPE)

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Parameters set:

        • WWISE_EVENT_1
        • WWISE_EVENT_2
      • Case: Lever

        Parameters set:

        • USE_TRAJECTORY_DRAG_MODE
        • SCROLL_INCREMENT
        • WWISE_EVENT_1
        • WWISE_EVENT_2

        Condition: Check(USE_BUTTON)

        • Case: True

          Parameters set:

          • BUTTON_ANIM_NAME (using ID)
    • Override

      Parameters set:

      • TOOLTIP_TITLE
      • TOOLTIP_ENTRY_0
      • TT_DESCRIPTION_ID

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Parameters set:

        • BTN_ID
      • Case: Lever

        Parameters set:

        • LEVER_ID

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Parameters set:

        • SET_STATE_ON (using ID)
        • SET_STATE_OFF (using ID)
        • GET_STATE_EXTERNAL (using ID)
        • SIM_STATE_IS_ON_EXTERNAL

        Templates used:

      • Case: Lever

        Parameters set:

        • SET_STATE_EXTERNAL (using ID)
        • GET_STATE_EXTERNAL (using ID)
        • GET_TT_VALUE_STATE (using ID)
        • INC_PARAM_0 (using SCROLL_INCREMENT)
        • INC_PARAM_0_IS_DYNAMIC
        • DEC_PARAM_0 (using SCROLL_INCREMENT)
        • DEC_PARAM_0_IS_DYNAMIC
        • SET_PARAM_0
        • SET_PARAM_0_IS_DYNAMIC
        • INC_CODE_ADJUST_VALUE
        • DEC_CODE_ADJUST_VALUE
        • MIN_VALUE
        • MAX_VALUE
        • VALUE_UNITS

        Templates used:

        • ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis

          Parameters set:

          • CURSOR
          • NO_ARROWS
          • DRAG_ANIM_NAME (using ANIM_NAME)
          • DRAG_CODE (using LEVER_ID)
          • ANIM_CODE (using LEVER_ID)
          • POSITIVE_AXIS_CODE (using LEVER_ID)
          • NEGATIVE_AXIS_CODE (using LEVER_ID)

        Condition: Check(USE_BUTTON)

        • Case: True

          Templates used:

  • ASOBO_ENGINE_ECU_Swap_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_ECU_Swap_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_ECU_Swap</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_ECU_Swap</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_ECU_Swap</PART_ID> <WWISE_EVENT_1>ecu_swap_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>ecu_swap_switch_off</WWISE_EVENT_2> <TOOLTIP_ECU_SWAP_TITLE>@TT_Package.ECU_SWAP_TITLE</TOOLTIP_ECU_SWAP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ECU_SWAP_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Override"> <BTN_ID>ECU_Swap</BTN_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <SET_STATE_EXTERNAL>p0 (&gt;L:XMLVAR_SwitchECUSwap)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(L:XMLVAR_SwitchECUSwap) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <STR_STATE_OFF>Automatic</STR_STATE_OFF> <STR_STATE_ON>Ecu_B</STR_STATE_ON> <TT_VALUE_OFF>(R:1:@TT_Package.GT_STATE_AUTO)</TT_VALUE_OFF> <TT_VALUE_ON>(R:1:@TT_Package.GT_STATE_ECU_B)</TT_VALUE_ON> <TT_ICON>MOVE_Y</TT_ICON> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"> <TOOLTIP_TITLE>#TOOLTIP_ECU_SWAP_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_#BTN_ID#, Bool) 100 *</ANIM_CODE> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE)
      • ANIM_NAME (using INTERACTION_TYPE)
      • PART_ID (using INTERACTION_TYPE)
      • WWISE_EVENT_1
      • WWISE_EVENT_2
      • TOOLTIP_ECU_SWAP_TITLE
      • TT_DESCRIPTION_ID
    • Override

      Parameters set:

      • BTN_ID

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • SET_STATE_EXTERNAL
      • GET_STATE_EXTERNAL
      • SIM_STATE_IS_ON_EXTERNAL
      • STR_STATE_OFF
      • STR_STATE_ON
      • TT_VALUE_OFF
      • TT_VALUE_ON
      • TT_ICON

      Templates used:

      • ASOBO_GT_Switch_Code

        Parameters set:

        • TOOLTIP_TITLE (using TOOLTIP_ECU_SWAP_TITLE)
        • TOOLTIP_ENTRY_0 (using BTN_ID)
        • LEFT_SINGLE_CODE (using BTN_ID)
        • ANIM_CODE (using BTN_ID)
  • ASOBO_ENGINE_ECU_Test_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_ECU_Test_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_ECU_Test</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_ECU_Test</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_ECU_Test</PART_ID> <WWISE_EVENT_1>ecu_swap_button_on</WWISE_EVENT_1> <WWISE_EVENT_2>ecu_swap_button_off</WWISE_EVENT_2> <TOOLTIP_ECU_TEST_TITLE>@TT_Package.SWITCH_ECU_TEST_TITLE</TOOLTIP_ECU_TEST_TITLE> <TT_DESCRIPTION_ID>@TT_Package.SWITCH_ECU_TEST_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Override"> <BTN_ID>ECU_Test</BTN_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <BINDING_DEC_0>Release</BINDING_DEC_0> <BINDING_DEC_0_PARAM_0>0</BINDING_DEC_0_PARAM_0> <SET_STATE_EXTERNAL>p0 if{ 1 (&gt;L:XMLVAR_SwitchECUBtn) } els{ 0 (&gt;L:XMLVAR_SwitchECUBtn) }</SET_STATE_EXTERNAL> <BINDING_INC_0>Push</BINDING_INC_0> <BINDING_INC_0_PARAM_0>1</BINDING_INC_0_PARAM_0> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Push_Button_Held"> <TOOLTIP_TITLE>#TOOLTIP_ECU_TEST_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Push)</LEFT_SINGLE_CODE> <LEFT_LEAVE_CODE>(&gt;B:ENGINE_#BTN_ID#_Release)</LEFT_LEAVE_CODE> <OVERRIDE_ANIM_CODE>(L:XMLVAR_SwitchECUBtn) 100 *</OVERRIDE_ANIM_CODE> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE)
      • ANIM_NAME (using INTERACTION_TYPE)
      • PART_ID (using INTERACTION_TYPE)
      • WWISE_EVENT_1
      • WWISE_EVENT_2
      • TOOLTIP_ECU_TEST_TITLE
      • TT_DESCRIPTION_ID
    • Override

      Parameters set:

      • BTN_ID

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • BINDING_DEC_0
      • BINDING_DEC_0_PARAM_0
      • SET_STATE_EXTERNAL
      • BINDING_INC_0
      • BINDING_INC_0_PARAM_0
      • ANIM

      Templates used:

      • ASOBO_GT_Push_Button_Held

        Parameters set:

        • TOOLTIP_TITLE (using TOOLTIP_ECU_TEST_TITLE)
        • TOOLTIP_ENTRY_0 (using BTN_ID)
        • LEFT_SINGLE_CODE (using BTN_ID)
        • LEFT_LEAVE_CODE (using BTN_ID)
        • OVERRIDE_ANIM_CODE
  • ASOBO_ENGINE_Switch_Engine_Mode_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Switch_Engine_Mode_SubTemplate"> <Parameters Type="Default"> <ENGINE_COUNT>2</ENGINE_COUNT> <NODE_ID>ENGINE_Switch_Engine_Mode</NODE_ID> <ANIM_NAME>ENGINE_Switch_Engine_Mode</ANIM_NAME> <PART_ID>ENGINE_Switch_Engine_Mode</PART_ID> <SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION> <ARROW_TYPE>Curved</ARROW_TYPE> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_ENG_MODE_SEL</SWITCH_POSITION_VAR> <WWISE_EVENT>engine_mode_switch</WWISE_EVENT> <TOOLTIP_ENG_MODE_TITLE>@TT_Package.ENGINE_SWITCH_ENGINE_MODE_TITLE</TOOLTIP_ENG_MODE_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_SWITCH_ENGINE_MODE_ACTION</TT_DESCRIPTION_ID> <POS_CRANK>0</POS_CRANK> <POS_NORM>1</POS_NORM> <POS_IGN_START>2</POS_IGN_START> <ON_STATE_CRANK/> <ON_STATE_NORM/> <ON_STATE_IGN_START/> </Parameters> <Parameters Type="Override"> <BTN_ID>Mode</BTN_ID> <NUM_STATES>3</NUM_STATES> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>ENG_ID</Param> <From>1</From> <Inc>1</Inc> <To>#ENGINE_COUNT#</To> </Setup> <Do> <Parameters Type="Default" Lifetime="Loop"> <GET_STATE_EXTERNAL_T/> <ENUM_VAL_TO_POS_EXTERNAL_T_CRANK>1</ENUM_VAL_TO_POS_EXTERNAL_T_CRANK> <ENUM_VAL_TO_POS_EXTERNAL_T_NORM>1</ENUM_VAL_TO_POS_EXTERNAL_T_NORM> <ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START>1</ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <GET_STATE_EXTERNAL_T>#GET_STATE_EXTERNAL_T# (A:TURB ENG IGNITION SWITCH EX1:#ENG_ID#, Enum) sp#ENG_ID#</GET_STATE_EXTERNAL_T> <ENUM_VAL_TO_POS_EXTERNAL_T_CRANK>#ENUM_VAL_TO_POS_EXTERNAL_T_CRANK# l#ENG_ID# 0 == and</ENUM_VAL_TO_POS_EXTERNAL_T_CRANK> <ENUM_VAL_TO_POS_EXTERNAL_T_NORM>#ENUM_VAL_TO_POS_EXTERNAL_T_NORM# l#ENG_ID# 1 == and</ENUM_VAL_TO_POS_EXTERNAL_T_NORM> <ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START>#ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START# l#ENG_ID# 2 == and</ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START> </Parameters> </Do> <Then> <BINDING_SET_#POS_CRANK#_EVENT_ID>ENGINE_MODE_CRANK_SET</BINDING_SET_#POS_CRANK#_EVENT_ID> <BINDING_SET_#POS_NORM#_EVENT_ID>ENGINE_MODE_NORM_SET</BINDING_SET_#POS_NORM#_EVENT_ID> <BINDING_SET_#POS_IGN_START#_EVENT_ID>ENGINE_MODE_IGN_SET</BINDING_SET_#POS_IGN_START#_EVENT_ID> <SET_STATE_#POS_CRANK#>0 (&gt;K:TURBINE_IGNITION_SWITCH_SET) #ON_STATE_CRANK#</SET_STATE_#POS_CRANK#> <SET_STATE_#POS_NORM#>1 (&gt;K:TURBINE_IGNITION_SWITCH_SET) #ON_STATE_NORM#</SET_STATE_#POS_NORM#> <SET_STATE_#POS_IGN_START#>2 (&gt;K:TURBINE_IGNITION_SWITCH_SET) #ON_STATE_IGN_START#</SET_STATE_#POS_IGN_START#> <ENUM_VAL_TO_POS_EXTERNAL>#POS_NORM# sp0 #ENUM_VAL_TO_POS_EXTERNAL_T_CRANK# if{ #POS_CRANK# sp0 g2 } #ENUM_VAL_TO_POS_EXTERNAL_T_NORM# if{ #POS_NORM# sp0 g2 } #ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START# if{ #POS_IGN_START# sp0 g2 } :2 l0 </ENUM_VAL_TO_POS_EXTERNAL> <GET_STATE_EXTERNAL>#GET_STATE_EXTERNAL_T#</GET_STATE_EXTERNAL> </Then> </Loop> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <STR_STATE_#POS_CRANK#>Crank</STR_STATE_#POS_CRANK#> <STR_STATE_#POS_NORM#>Norm</STR_STATE_#POS_NORM#> <STR_STATE_#POS_IGN_START#>Ignition_Start</STR_STATE_#POS_IGN_START#> <TT_VALUE_#POS_CRANK#>@TT_Package.GT_STATE_CRANK</TT_VALUE_#POS_CRANK#> <TT_VALUE_#POS_NORM#>@TT_Package.GT_STATE_NORMAL</TT_VALUE_#POS_NORM#> <TT_VALUE_#POS_IGN_START#>@TT_Package.GT_STATE_IGNITION</TT_VALUE_#POS_IGN_START#> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_3States"> <TOOLTIP_TITLE>#TOOLTIP_ENG_MODE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> <CODE_POS_#POS_CRANK#>(&gt;B:ENGINE_#BTN_ID#_Crank)</CODE_POS_#POS_CRANK#> <CODE_POS_#POS_NORM#>(&gt;B:ENGINE_#BTN_ID#_Norm)</CODE_POS_#POS_NORM#> <CODE_POS_#POS_IGN_START#>(&gt;B:ENGINE_#BTN_ID#_Ignition_Start)</CODE_POS_#POS_IGN_START#> <STATE#POS_CRANK#_TEST>(B:ENGINE_#BTN_ID#) #POS_CRANK# ==</STATE#POS_CRANK#_TEST> <STATE#POS_NORM#_TEST>(B:ENGINE_#BTN_ID#) #POS_NORM# ==</STATE#POS_NORM#_TEST> <STATE#POS_IGN_START#_TEST>(B:ENGINE_#BTN_ID#) #POS_IGN_START# ==</STATE#POS_IGN_START#_TEST> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ENGINE_COUNT
      • NODE_ID
      • ANIM_NAME
      • PART_ID
      • SWITCH_DIRECTION
      • ARROW_TYPE
      • SWITCH_POSITION_TYPE
      • SWITCH_POSITION_VAR
      • WWISE_EVENT
      • TOOLTIP_ENG_MODE_TITLE
      • TT_DESCRIPTION_ID
      • POS_CRANK
      • POS_NORM
      • POS_IGN_START
      • ON_STATE_CRANK
      • ON_STATE_NORM
      • ON_STATE_IGN_START
    • Override

      Parameters set:

      • BTN_ID
      • NUM_STATES
    • Override

      Parameters read:

      • ENGINE_COUNT

      Parameters set:

      • ENG_ID
      • GET_STATE_EXTERNAL_T
      • ENUM_VAL_TO_POS_EXTERNAL_T_CRANK
      • ENUM_VAL_TO_POS_EXTERNAL_T_NORM
      • ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START
      • GET_STATE_EXTERNAL_T (using GET_STATE_EXTERNAL_T, ENG_ID)
      • ENUM_VAL_TO_POS_EXTERNAL_T_CRANK (using ENUM_VAL_TO_POS_EXTERNAL_T_CRANK, ENG_ID)
      • ENUM_VAL_TO_POS_EXTERNAL_T_NORM (using ENUM_VAL_TO_POS_EXTERNAL_T_NORM, ENG_ID)
      • ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START (using ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START, ENG_ID)
      • BINDING_SET_#POS_CRANK#_EVENT_ID
      • BINDING_SET_#POS_NORM#_EVENT_ID
      • BINDING_SET_#POS_IGN_START#_EVENT_ID
      • SET_STATE_#POS_CRANK# (using ON_STATE_CRANK)
      • SET_STATE_#POS_NORM# (using ON_STATE_NORM)
      • SET_STATE_#POS_IGN_START# (using ON_STATE_IGN_START)
      • ENUM_VAL_TO_POS_EXTERNAL (using POS_NORM, ENUM_VAL_TO_POS_EXTERNAL_T_CRANK, POS_CRANK, ENUM_VAL_TO_POS_EXTERNAL_T_NORM, ENUM_VAL_TO_POS_EXTERNAL_T_IGN_START, POS_IGN_START)
      • GET_STATE_EXTERNAL (using GET_STATE_EXTERNAL_T)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • STR_STATE_#POS_CRANK#
      • STR_STATE_#POS_NORM#
      • STR_STATE_#POS_IGN_START#
      • TT_VALUE_#POS_CRANK#
      • TT_VALUE_#POS_NORM#
      • TT_VALUE_#POS_IGN_START#

      Templates used:

      • ASOBO_GT_Switch_3States

        Parameters set:

        • TOOLTIP_TITLE (using TOOLTIP_ENG_MODE_TITLE)
        • TOOLTIP_ENTRY_0 (using BTN_ID)
        • CODE_POS_#POS_CRANK# (using BTN_ID)
        • CODE_POS_#POS_NORM# (using BTN_ID)
        • CODE_POS_#POS_IGN_START# (using BTN_ID)
        • STATE#POS_CRANK#_TEST (using BTN_ID, POS_CRANK)
        • STATE#POS_NORM#_TEST (using BTN_ID, POS_NORM)
        • STATE#POS_IGN_START#_TEST (using BTN_ID, POS_IGN_START)
  • ASOBO_ENGINE_Push_Starter_Disengage_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Push_Starter_Disengage_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_Push_Starter_Disengage_#ID#</NODE_ID> <ANIM_NAME>ENGINE_Push_Starter_Disengage_#ID#</ANIM_NAME> <WWISE_EVENT_1>engine_start_push_button_on</WWISE_EVENT_1> <WWISE_EVENT_2>engine_start_push_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <TOOLTIP_STARTER_DISENGAGE_TITLE>@TT_Package.ENGINE_STARTER_DISENGAGE_TITLE</TOOLTIP_STARTER_DISENGAGE_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_STARTER_DISENGAGE_ACTION</TT_DESCRIPTION_ID> <ONLY_SEQ1/> <SEQ1_EMISSIVE_CODE>(A:GENERAL ENG STARTER:#ID#, Bool)</SEQ1_EMISSIVE_CODE> <Switch Param="TYPE"> <Case Value="TWO_ENGINES"> <ID_ENG_1>1</ID_ENG_1> <ID_ENG_2>2</ID_ENG_2> </Case> <Case Value="ALL_ENGINES"> <ID_ENG_1>1</ID_ENG_1> <ID_ENG_2>2</ID_ENG_2> <ID_ENG_3>3</ID_ENG_3> <ID_ENG_4>4</ID_ENG_4> </Case> </Switch> </Parameters> <Parameters Type="Override"> <BTN_ID>Starter_Disengage</BTN_ID> <Switch Param="TYPE"> <Case Value="TWO_ENGINES"> <DISENGAGE_STARTER> (A:GENERAL ENG STARTER:#ID_ENG_1#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_1#) } (A:GENERAL ENG STARTER:#ID_ENG_2#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_2#) } </DISENGAGE_STARTER> </Case> <Case Value="ALL_ENGINES"> <DISENGAGE_STARTER> (A:GENERAL ENG STARTER:#ID_ENG_1#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_1#) } (A:GENERAL ENG STARTER:#ID_ENG_2#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_2#) } (A:GENERAL ENG STARTER:#ID_ENG_3#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_3#) } (A:GENERAL ENG STARTER:#ID_ENG_4#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID_ENG_4#) } </DISENGAGE_STARTER> </Case> <Default> <DISENGAGE_STARTER>(A:GENERAL ENG STARTER:#ID#, Boolean) if{ (&gt;K:TOGGLE_STARTER#ID#) }</DISENGAGE_STARTER> </Default> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <SET_STATE_EXTERNAL>p0 if{ #DISENGAGE_STARTER# }</SET_STATE_EXTERNAL> <BINDING_INC_0>Push</BINDING_INC_0> <BINDING_INC_0_PARAM_0>1</BINDING_INC_0_PARAM_0> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Push_Button"> <TOOLTIP_TITLE>#TOOLTIP_STARTER_DISENGAGE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Push)</LEFT_SINGLE_CODE> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using ID)
      • ANIM_NAME (using ID)
      • WWISE_EVENT_1
      • WWISE_EVENT_2
      • NORMALIZED_TIME_1
      • NORMALIZED_TIME_2
      • TOOLTIP_STARTER_DISENGAGE_TITLE
      • TT_DESCRIPTION_ID
      • ONLY_SEQ1
      • SEQ1_EMISSIVE_CODE (using ID)

      Condition: Switch(TYPE)

      • Case: TWO_ENGINES

        Parameters set:

        • ID_ENG_1
        • ID_ENG_2
      • Case: ALL_ENGINES

        Parameters set:

        • ID_ENG_1
        • ID_ENG_2
        • ID_ENG_3
        • ID_ENG_4
    • Override

      Parameters set:

      • BTN_ID

      Condition: Switch(TYPE)

      • Case: TWO_ENGINES

        Parameters set:

        • DISENGAGE_STARTER (using ID_ENG_1, ID_ENG_2)
      • Case: ALL_ENGINES

        Parameters set:

        • DISENGAGE_STARTER (using ID_ENG_1, ID_ENG_2, ID_ENG_3, ID_ENG_4)
      • Default case:

        Parameters set:

        • DISENGAGE_STARTER (using ID)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • SET_STATE_EXTERNAL (using DISENGAGE_STARTER)
      • BINDING_INC_0
      • BINDING_INC_0_PARAM_0

      Templates used:

      • ASOBO_GT_Push_Button

        Parameters set:

        • TOOLTIP_TITLE (using TOOLTIP_STARTER_DISENGAGE_TITLE)
        • TOOLTIP_ENTRY_0 (using BTN_ID)
        • LEFT_SINGLE_CODE (using BTN_ID)
  • ASOBO_ENGINE_Lever_CowlFlaps_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Lever_CowlFlaps_SubTemplate"> <Parameters Type="Default"> <ANIM_NAME>ENGINE_Lever_CowlFlaps_#ID#</ANIM_NAME> <NODE_ID>ENGINE_Lever_CowlFlaps_#ID#</NODE_ID> <PART_ID>ENGINE_Lever_CowlFlaps</PART_ID> <IE_COWLFLAPS_ID>CowlFlaps</IE_COWLFLAPS_ID> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <SCROLL_INCREMENT Process="Int">16384 20 /</SCROLL_INCREMENT> <TOOLTIP_TITLE>@TT_Package.ENGINE_COWFLAPS_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_COWFLAPS_ACTION</TT_DESCRIPTION_ID> <TT_DESCRIPTION_INDEX>#ID#</TT_DESCRIPTION_INDEX> </Parameters> <Parameters Type="Default"> <Condition Check="USE_BUTTON"> <BUTTON_NODE_ID>HANDLING_COWLFLAPS</BUTTON_NODE_ID> <BUTTON_ANIM_NAME>ENGINE_LEVER_COWLFLAPS_PUSH</BUTTON_ANIM_NAME> </Condition> </Parameters> <Parameters Type="Default"> <Condition Check="BUTTON_NODE_ID"> <BUTTON_VAR_NAME>XMLVAR_Interacting_With_Lever_CowlFlaps</BUTTON_VAR_NAME> <BUTTON_VAR_SCOPE>I</BUTTON_VAR_SCOPE> </Condition> </Parameters> <Parameters Type="Override"> <Condition Check="BUTTON_NODE_ID"> <LOCK_CODE>1 (&gt;#BUTTON_VAR_SCOPE#:#BUTTON_VAR_NAME#)</LOCK_CODE> <UNLOCK_CODE>0 (&gt;#BUTTON_VAR_SCOPE#:#BUTTON_VAR_NAME#)</UNLOCK_CODE> </Condition> <LEVER_ID>#IE_COWLFLAPS_ID#</LEVER_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="ENGINE"> <SIMVAR_TO_WATCH_0>RECIP ENG COWL FLAP POSITION:#ID#</SIMVAR_TO_WATCH_0> <SET_STATE_EXTERNAL>(&gt;K:COWLFLAP#ID#_SET)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:RECIP ENG COWL FLAP POSITION:#ID#, position 16k)</GET_STATE_EXTERNAL> <GET_TT_VALUE_STATE>(A:RECIP ENG COWL FLAP POSITION:#ID#, percent)</GET_TT_VALUE_STATE> <INC_PARAM_0>p0 #SCROLL_INCREMENT# *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>p0 #SCROLL_INCREMENT# *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> <SET_PARAM_0>p0 16384 *</SET_PARAM_0> <SET_PARAM_0_IS_DYNAMIC>True</SET_PARAM_0_IS_DYNAMIC> <INC_CODE_ADJUST_VALUE>16384 /</INC_CODE_ADJUST_VALUE> <DEC_CODE_ADJUST_VALUE>16384 /</DEC_CODE_ADJUST_VALUE> <MIN_VALUE>0</MIN_VALUE> <MAX_VALUE>16384</MAX_VALUE> <VALUE_UNITS>position 16k</VALUE_UNITS> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <TOOLTIP_ENTRY_0>ENGINE_#LEVER_ID#</TOOLTIP_ENTRY_0> <CURSOR>Grab</CURSOR> <NO_ARROWS/> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE>(M:DragPercent) (&gt;B:ENGINE_#LEVER_ID#_Set)</DRAG_CODE> <ANIM_CODE>(B:ENGINE_#LEVER_ID#, percent)</ANIM_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> <Condition Check="BUTTON_NODE_ID"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_LAG>800</ANIM_LAG> <ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME> <ANIM_CODE>(#BUTTON_VAR_SCOPE#:#BUTTON_VAR_NAME#) 100 *</ANIM_CODE> </UseTemplate> </Condition> </Component> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_NAME (using ID)
      • NODE_ID (using ID)
      • PART_ID
      • IE_COWLFLAPS_ID
      • USE_TRAJECTORY_DRAG_MODE
      • SCROLL_INCREMENT
      • TOOLTIP_TITLE
      • TT_DESCRIPTION_ID
      • TT_DESCRIPTION_INDEX (using ID)
    • Default

      Condition: Check(USE_BUTTON)

      • Case: True

        Parameters set:

        • BUTTON_NODE_ID
        • BUTTON_ANIM_NAME
    • Default

      Condition: Check(BUTTON_NODE_ID)

      • Case: True

        Parameters set:

        • BUTTON_VAR_NAME
        • BUTTON_VAR_SCOPE
    • Override

      Parameters set:

      • LEVER_ID (using IE_COWLFLAPS_ID)

      Condition: Check(BUTTON_NODE_ID)

      • Case: True

        Parameters set:

        • LOCK_CODE (using BUTTON_VAR_SCOPE, BUTTON_VAR_NAME)
        • UNLOCK_CODE (using BUTTON_VAR_SCOPE, BUTTON_VAR_NAME)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • SIMVAR_TO_WATCH_0 (using ID)
      • SET_STATE_EXTERNAL (using ID)
      • GET_STATE_EXTERNAL (using ID)
      • GET_TT_VALUE_STATE (using ID)
      • INC_PARAM_0 (using SCROLL_INCREMENT)
      • INC_PARAM_0_IS_DYNAMIC
      • DEC_PARAM_0 (using SCROLL_INCREMENT)
      • DEC_PARAM_0_IS_DYNAMIC
      • SET_PARAM_0
      • SET_PARAM_0_IS_DYNAMIC
      • INC_CODE_ADJUST_VALUE
      • DEC_CODE_ADJUST_VALUE
      • MIN_VALUE
      • MAX_VALUE
      • VALUE_UNITS

      Templates used:

      • ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis

        Parameters set:

        • TOOLTIP_ENTRY_0 (using LEVER_ID)
        • CURSOR
        • NO_ARROWS
        • DRAG_ANIM_NAME (using ANIM_NAME)
        • DRAG_CODE (using LEVER_ID)
        • ANIM_CODE (using LEVER_ID)
        • POSITIVE_AXIS_CODE (using LEVER_ID)
        • NEGATIVE_AXIS_CODE (using LEVER_ID)

      Condition: Check(BUTTON_NODE_ID)

      • Case: True

        Templates used:

        • ASOBO_GT_Anim_Code

          Parameters set:

          • ANIM_LAG
          • ANIM_NAME (using BUTTON_ANIM_NAME)
          • ANIM_CODE (using BUTTON_VAR_SCOPE, BUTTON_VAR_NAME)

    Condition: Check(HIGHLIGHT_NODE_ID)

  • ASOBO_ENGINE_TOGA_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_TOGA_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_TOGA_#ID#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_TOGA_#ID#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_TOGA</PART_ID> <WWISE_EVENT_1>engine_toga_switch_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <WWISE_EVENT_2>engine_toga_switch_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <ON_PUSH_TO_GA/> </Parameters> <Parameters Type="Override"> <BTN_ID>TOGA_#ID#</BTN_ID> </Parameters> <Parameters Type="Default"> <TOOLTIP_TITLE>@TT_Package.ENGINE_PUSH_TOGA_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_PUSH_TOGA_ACTION</TT_DESCRIPTION_ID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID#</TOOLTIP_ENTRY_0> </Parameters> <UseInputEvent ID="ENGINE"> <SET_STATE_EXTERNAL>p0 (A:AUTOPILOT TAKEOFF POWER ACTIVE, Bool) != if{ (&gt;K:AUTO_THROTTLE_TO_GA) #ON_PUSH_TO_GA# }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:AUTOPILOT TAKEOFF POWER ACTIVE, Bool) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <Switch Param="INTERACTION_TYPE"> <Case Value="Push"> <UseTemplate Name="ASOBO_GT_Push_Button"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Case> <Case Value="Switch"> <UseTemplate Name="ASOBO_GT_Switch_Code"> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_#BTN_ID#, Bool) 100 *</ANIM_CODE> </UseTemplate> </Case> </Switch> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID)
      • ANIM_NAME (using INTERACTION_TYPE, ID)
      • PART_ID (using INTERACTION_TYPE)
      • WWISE_EVENT_1
      • NORMALIZED_TIME_1
      • WWISE_EVENT_2
      • NORMALIZED_TIME_2
      • ON_PUSH_TO_GA
    • Override

      Parameters set:

      • BTN_ID (using ID)
    • Default

      Parameters set:

      • TOOLTIP_TITLE
      • TT_DESCRIPTION_ID

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • TOOLTIP_ENTRY_0 (using BTN_ID)
      • SET_STATE_EXTERNAL (using ON_PUSH_TO_GA)
      • GET_STATE_EXTERNAL
      • SIM_STATE_IS_ON_EXTERNAL

      Condition: Switch(INTERACTION_TYPE)

      • Case: Push

        Templates used:

      • Case: Switch

        Templates used:

  • ASOBO_ENGINE_Lever_Condition_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Lever_Condition_SubTemplate"> <Parameters Type="Default"> <ANIM_NAME>ENGINE_Lever_Condition_#ID#</ANIM_NAME> <NODE_ID>ENGINE_Lever_Condition_#ID#</NODE_ID> <PART_ID>ENGINE_Lever_Condition</PART_ID> </Parameters> <Parameters Type="Default"> <DRAG_AXIS_SCALE>-450</DRAG_AXIS_SCALE> <POSITION_TYPE>L</POSITION_TYPE> <POSITION_VAR>XMLVAR_ConditionLever_#ID#_Position</POSITION_VAR> <DRAG_ANIMATION_VARIABLE_TYPE>O</DRAG_ANIMATION_VARIABLE_TYPE> <DRAG_ANIMATION_VARIABLE_NAME>XMLVAR_#NODE_ID#_Animation_Position</DRAG_ANIMATION_VARIABLE_NAME> <AXIS>Y</AXIS> <NO_ARROWS/> <CURSOR>Hand</CURSOR> <USE_TRAJECTORY_DRAG_MODE>true</USE_TRAJECTORY_DRAG_MODE> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_NODE_ID>#NODE_ID#</DRAG_NODE_ID> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.ENG_#ID#_CONDITION_LEVER</TOOLTIPID> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE>(#DRAG_ANIMATION_VARIABLE_TYPE#:#DRAG_ANIMATION_VARIABLE_NAME#)</ANIM_CODE> </UseTemplate> <Update Frequency="1"> (* This update forces the PROP &amp; MIXTURE Levers to specific values, which may conflict with the AutoStart, so only run it while the autostart is disabled, using the fuel trigger which is linked to the autostart *) (A:FUELSYSTEM TRIGGER STATUS:1, Bool) ! if{ (A:GENERAL ENG MIXTURE LEVER POSITION:#ID#, percent over 100) 0.01 &lt; if{ (#POSITION_TYPE#:#POSITION_VAR#) 1 &gt;= if{ 0 (&gt;#POSITION_TYPE#:#POSITION_VAR#) -4096 (&gt;K:PROP_PITCH#ID#_SET) (* Fuel Cutoff *) } } els{ (A:GENERAL ENG MIXTURE LEVER POSITION:#ID#, percent over 100) 0.99 &lt; if{ 1 (A:GENERAL ENG MIXTURE LEVER POSITION:#ID#, percent over 100) 0.1 - 1.111 * + (&gt;#POSITION_TYPE#:#POSITION_VAR#) -4096 (&gt;K:PROP_PITCH#ID#_SET) (* Feathering *) } els{ (A:GENERAL ENG MIXTURE LEVER POSITION:#ID#, percent over 100) 0.99 &gt;= if{ 2 (A:GENERAL ENG PROPELLER LEVER POSITION:#ID#, percent over 100) + (&gt;#POSITION_TYPE#:#POSITION_VAR#) (* Auto *) } } } } </Update> <Update Frequency="1"> 0 (&gt;L:XML_ConditionLever#ID#_Cutoff) 0 (&gt;L:XML_ConditionLever#ID#_Feathering) 0 (&gt;L:XML_ConditionLever#ID#_Auto) 0 (&gt;L:XML_ConditionLever#ID#_Override) (#POSITION_TYPE#:#POSITION_VAR#) 1 &lt; if{ 1 (&gt;L:XML_ConditionLever#ID#_Cutoff) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 2 &lt; if{ 1 (&gt;L:XML_ConditionLever#ID#_Feathering) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 3 &lt; if{ 1 (&gt;L:XML_ConditionLever#ID#_Auto) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 4 &lt; if{ 1 (&gt;L:XML_ConditionLever#ID#_Override) } } } } (#POSITION_TYPE#:#POSITION_VAR#) int (#POSITION_TYPE#:#POSITION_VAR#) - abs (&gt;L:XML_ConditionLever#ID#_Value) </Update> <UseTemplate Name="ASOBO_GT_Interaction_DraggingYAxis_Gates"> <STEPS_NUMBER>3</STEPS_NUMBER> <DRAG_CODE> (#POSITION_TYPE#:#POSITION_VAR#) 1 &lt; if{ 0 (&gt;K:MIXTURE#ID#_SET) (* Fuel Cutoff *) -4096 (&gt;K:PROP_PITCH#ID#_SET) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 2 &lt; if{ (#POSITION_TYPE#:#POSITION_VAR#) 1 - 14745.6 * 1638.4 + (&gt;K:MIXTURE#ID#_SET) (* Sets mixture from 0.1 to 1 *) -4096 (&gt;K:PROP_PITCH#ID#_SET)(* Feathering *) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 3 &lt; if{ 16384 (&gt;K:MIXTURE#ID#_SET) (#POSITION_TYPE#:#POSITION_VAR#) 2 - 16384 * (&gt;K:PROP_PITCH#ID#_SET)(* Auto *) } els{ (#POSITION_TYPE#:#POSITION_VAR#) 4 &lt;= if{ 16384 (&gt;K:MIXTURE#ID#_SET) 16384 (&gt;K:PROP_PITCH#ID#_SET)(* Override *) } } } } </DRAG_CODE> <ANIMATION_CODE_SETTER>(#POSITION_TYPE#:#POSITION_VAR#) 3 / 100 *</ANIMATION_CODE_SETTER> <GATE_DIRECTION>0</GATE_DIRECTION> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_NAME (using ID)
      • NODE_ID (using ID)
      • PART_ID
    • Default

      Parameters set:

      • DRAG_AXIS_SCALE
      • POSITION_TYPE
      • POSITION_VAR (using ID)
      • DRAG_ANIMATION_VARIABLE_TYPE
      • DRAG_ANIMATION_VARIABLE_NAME (using NODE_ID)
      • AXIS
      • NO_ARROWS
      • CURSOR
      • USE_TRAJECTORY_DRAG_MODE
      • DRAG_ANIM_NAME (using ANIM_NAME)
      • DRAG_NODE_ID (using NODE_ID)
      • TOOLTIPID (using ID)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters read:

      • ID
      • POSITION_TYPE
      • POSITION_VAR

      Templates used:

      • ASOBO_GT_Anim_Code

        Parameters set:

        • ANIM_CODE (using DRAG_ANIMATION_VARIABLE_TYPE, DRAG_ANIMATION_VARIABLE_NAME)
      • ASOBO_GT_Interaction_DraggingYAxis_Gates

        Parameters set:

        • STEPS_NUMBER
        • DRAG_CODE (using POSITION_TYPE, POSITION_VAR, ID)
        • ANIMATION_CODE_SETTER (using POSITION_TYPE, POSITION_VAR)
        • GATE_DIRECTION
  • ASOBO_ENGINE_Switch_PropSync_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Switch_PropSync_SubTemplate"> <DefaultTemplateParameters> <NODE_ID>ENGINE_Switch_PropSync</NODE_ID> <ANIM_NAME>ENGINE_Switch_PropSync</ANIM_NAME> </DefaultTemplateParameters> <Component ID="#NODE_ID#_#ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Switch"> <ANIM_SIMVAR>PROP SYNC ACTIVE</ANIM_SIMVAR> <EVENTID>TOGGLE_PROPELLER_SYNC</EVENTID> <WWISE_EVENT_1>propsync_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>propsync_switch_off</WWISE_EVENT_2> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID
      • ANIM_NAME

    Parameters read:

    • NODE_ID
    • ID

    Components:

    • #NODE_ID#_#ID# (Node: #NODE_ID#)

      Templates used:

      • ASOBO_GT_Switch

        Parameters set:

        • ANIM_SIMVAR
        • EVENTID
        • WWISE_EVENT_1
        • WWISE_EVENT_2
  • ASOBO_ENGINE_Switch_Hydraulic_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Switch_Hydraulic_SubTemplate"> <DefaultTemplateParameters> <NODE_ID>ENGINE_Switch_Hydraulic</NODE_ID> <ANIM_NAME>ENGINE_Switch_Hydraulic</ANIM_NAME> <PART_ID>ENGINE_Switch_Hydraulic</PART_ID> <IS_AIRLINER>False</IS_AIRLINER> <PRESS_WARNING_THRESHOLD_PSI>150</PRESS_WARNING_THRESHOLD_PSI> <TT_DESCRIPTION_ID>@TT_Package.HYDRAULIC_PUSH_PUMP_ACTION</TT_DESCRIPTION_ID> <TOOLTIP_TITLE>@TT_Package.HYDRAULIC_PUSH_PUMP_TITLE</TOOLTIP_TITLE> </DefaultTemplateParameters> <Condition Valid="IS_AIRLINER"> <True> <Parameters Type="Default"> <SEQ1_NODE_ID>#NODE_ID#_SEQ1</SEQ1_NODE_ID> <SEQ2_NODE_ID>#NODE_ID#_SEQ2</SEQ2_NODE_ID> </Parameters> <UseTemplate Name="ASOBO_AIRLINER_Base_Template"> <IE_NAME>hydraulic_pump_#ID#</IE_NAME> <INTERACTION_TYPE>Push</INTERACTION_TYPE> <IS_AIRLINER>True</IS_AIRLINER> <SET_STATE_EXTERNAL>#ID# (&gt;K:HYDRAULIC_SWITCH_TOGGLE)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:HYDRAULIC SWITCH:#ID#) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>HYDRAULIC SWITCH:#ID#</SIMVAR_TO_WATCH_0> <SEQ1_EMISSIVE_CODE>(A:HYDRAULIC SWITCH:#ID#, Bool)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:HYDRAULIC PRESSURE:#ID#, psi) #PRESS_WARNING_THRESHOLD_PSI# (A:HYDRAULIC RESERVOIR PERCENT:#ID#, percent over 100) * &lt;</SEQ2_EMISSIVE_CODE> <TT_VALUE>(A:HYDRAULIC SWITCH:#ID#,Bool) @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> </UseTemplate> </True> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID
      • ANIM_NAME
      • PART_ID
      • IS_AIRLINER
      • PRESS_WARNING_THRESHOLD_PSI
      • TT_DESCRIPTION_ID
      • TOOLTIP_TITLE

    Condition: Valid(IS_AIRLINER)

    • Case: True

      Parameters set:

      • SEQ1_NODE_ID (using NODE_ID)
      • SEQ2_NODE_ID (using NODE_ID)

      Templates used:

      • ASOBO_AIRLINER_Base_Template

        Parameters set:

        • IE_NAME (using ID)
        • INTERACTION_TYPE
        • IS_AIRLINER
        • SET_STATE_EXTERNAL (using ID)
        • GET_STATE_EXTERNAL (using ID)
        • SIMVAR_TO_WATCH_0 (using ID)
        • SEQ1_EMISSIVE_CODE (using ID)
        • SEQ2_EMISSIVE_CODE (using ID, PRESS_WARNING_THRESHOLD_PSI)
        • TT_VALUE (using ID)
        • TT_VALUE_IS_DYNAMIC
  • ASOBO_ENGINE_CoolingFlaps_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_CoolingFlaps_SubTemplate"> <Parameters Type="Default"> <Condition Check="NODE_ID_SWITCH"> <NODE_ID>#NODE_ID_SWITCH#</NODE_ID> </Condition> <Condition Check="ANIM_NAME_SWITCH"> <ANIM_NAME>#ANIM_NAME_SWITCH#</ANIM_NAME> </Condition> </Parameters> <Parameters Type="Default"> <USE_MODE_AUTO>True</USE_MODE_AUTO> <NODE_ID_LOCK>ENGINE_#INTERACTION_TYPE#_CoolingFlaps_#FLAPS_TYPE#_Lock</NODE_ID_LOCK> <ANIM_NAME_LOCK>ENGINE_#INTERACTION_TYPE#_CoolingFlaps_#FLAPS_TYPE#_Lock</ANIM_NAME_LOCK> <NODE_ID>ENGINE_#INTERACTION_TYPE#_CoolingFlaps_#FLAPS_TYPE#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_CoolingFlaps_#FLAPS_TYPE#</ANIM_NAME> <TOOLTIP_COOLING_FLAPS_TITLE>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_TITLE</TOOLTIP_COOLING_FLAPS_TITLE> <INCREMENT>76</INCREMENT> <REPEAT_FREQUENCY>10</REPEAT_FREQUENCY> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Switch"> <Switch Param="NUM_STATES"> <Case Value="2"> <BTN_ID>Cooling_Flaps_#FLAPS_TYPE#</BTN_ID> <TOOLTIP_TITLE>#TOOLTIP_COOLING_FLAPS_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Cooling_Flaps_#FLAPS_TYPE#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_ACTION</TT_DESCRIPTION_ID> </Case> <Default> <POS_UP>0</POS_UP> <POS_REST>1</POS_REST> <POS_DOWN>2</POS_DOWN> <POS_LOCK>0</POS_LOCK> <POS_UNLOCK>1</POS_UNLOCK> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_CoolingFlaps_#FLAPS_TYPE#</SWITCH_POSITION_VAR> <GET_STATE_EXTERNAL>0</GET_STATE_EXTERNAL> <CODE_INCREASE>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, Position 16k) #INCREMENT# - 0 max (&gt;K:#FLAPS_TYPE#_COOLING_FLAPS_SET)</CODE_INCREASE> <CODE_DECREASE>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, Position 16k) #INCREMENT# + 16384 min (&gt;K:#FLAPS_TYPE#_COOLING_FLAPS_SET)</CODE_DECREASE> <BTN_ID_SWITCH>Cooling_Flaps_#FLAPS_TYPE#</BTN_ID_SWITCH> <BTN_ID_LOCK>Cooling_Flaps_#FLAPS_TYPE#_Lock</BTN_ID_LOCK> <DRAG_ANIMATION_VARIABLE_TYPE>I</DRAG_ANIMATION_VARIABLE_TYPE> <WWISE_EVENT>coolingflaps_switch</WWISE_EVENT> </Default> </Switch> </Case> <Case Value="Lever"> <USE_TRAJECTORY_DRAG_MODE>True</USE_TRAJECTORY_DRAG_MODE> <SCROLL_INCREMENT Process="Int">16384 20 /</SCROLL_INCREMENT> <LEVER_ID>Cooling_Flaps_#FLAPS_TYPE#</LEVER_ID> </Case> </Switch> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_COOLING_FLAPS_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#LEVER_ID#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="ENGINE"> <SIMVAR_TO_WATCH_0>#FLAPS_TYPE# COOLING FLAPS POSITION</SIMVAR_TO_WATCH_0> <SET_STATE_EXTERNAL>(&gt;K:#FLAPS_TYPE#_COOLING_FLAPS_SET)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, position 16k)</GET_STATE_EXTERNAL> <GET_TT_VALUE_STATE>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, percent)</GET_TT_VALUE_STATE> <INC_PARAM_0>p0 #SCROLL_INCREMENT# *</INC_PARAM_0> <INC_PARAM_0_IS_DYNAMIC>True</INC_PARAM_0_IS_DYNAMIC> <DEC_PARAM_0>p0 #SCROLL_INCREMENT# *</DEC_PARAM_0> <DEC_PARAM_0_IS_DYNAMIC>True</DEC_PARAM_0_IS_DYNAMIC> <SET_PARAM_0>p0 16384 *</SET_PARAM_0> <SET_PARAM_0_IS_DYNAMIC>True</SET_PARAM_0_IS_DYNAMIC> <INC_CODE_ADJUST_VALUE>16384 /</INC_CODE_ADJUST_VALUE> <DEC_CODE_ADJUST_VALUE>16384 /</DEC_CODE_ADJUST_VALUE> <MIN_VALUE>0</MIN_VALUE> <MAX_VALUE>16384</MAX_VALUE> <VALUE_UNITS>position 16k</VALUE_UNITS> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis"> <CURSOR>Grab</CURSOR> <NO_ARROWS/> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> <DRAG_CODE>(M:DragPercent) (&gt;B:ENGINE_#LEVER_ID#_Set)</DRAG_CODE> <ANIM_CODE>(B:ENGINE_#LEVER_ID#, percent)</ANIM_CODE> <POSITIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (&gt;B:ENGINE_#LEVER_ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> </Component> </Case> <Case Value="Switch"> <Switch Param="NUM_STATES"> <Case Value="2"> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <IE_NAME>#BTN_ID#</IE_NAME> <SET_STATE_EXTERNAL>p0 16384 * (&gt;K:#FLAPS_TYPE#_COOLING_FLAPS_SET)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:#FLAPS_TYPE# COOLING FLAPS POSITION, Bool) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>#FLAPS_TYPE# COOLING FLAPS POSITION</SIMVAR_TO_WATCH_0> </UseTemplate> </Case> <Default> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_SWITCH#</BTN_ID> <TOOLTIP_TITLE>#TOOLTIP_COOLING_FLAPS_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID_SWITCH#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_ACTION</TT_DESCRIPTION_ID> <SET_STATE_#POS_UP#>#CODE_INCREASE#</SET_STATE_#POS_UP#> <CODE_REPEAT_#POS_UP#>#CODE_INCREASE#</CODE_REPEAT_#POS_UP#> <SET_STATE_#POS_REST#>0</SET_STATE_#POS_REST#> <SET_STATE_#POS_DOWN#>#CODE_DECREASE#</SET_STATE_#POS_DOWN#> <CODE_REPEAT_#POS_DOWN#>#CODE_DECREASE#</CODE_REPEAT_#POS_DOWN#> <NUM_STATES>3</NUM_STATES> <SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION> </Parameters> <UseInputEvent ID="ENGINE"> <STR_STATE_#POS_UP#>Up</STR_STATE_#POS_UP#> <STR_STATE_#POS_REST#>Rest</STR_STATE_#POS_REST#> <STR_STATE_#POS_DOWN#>Down</STR_STATE_#POS_DOWN#> <TT_VALUE_#POS_UP#>@TT_Package.GT_STATE_CLOSE</TT_VALUE_#POS_UP#> <TT_VALUE_#POS_REST#_IS_DYNAMIC>True</TT_VALUE_#POS_REST#_IS_DYNAMIC> <TT_VALUE_#POS_REST#>(B:ENGINE_#BTN_ID_LOCK#, Bool) if{ (R:1:@TT_package.GT_STATE_AUTO) } els{ (R:1:@TT_package.GT_STATE_MANUAL) }</TT_VALUE_#POS_REST#> <TT_VALUE_#POS_DOWN#>@TT_Package.GT_STATE_OPEN</TT_VALUE_#POS_DOWN#> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_XStates"> <CODE_POS_#POS_UP#>(&gt;B:ENGINE_#BTN_ID#_Up)</CODE_POS_#POS_UP#> <CODE_POS_#POS_REST#>(&gt;B:ENGINE_#BTN_ID#_Rest)</CODE_POS_#POS_REST#> <CODE_POS_#POS_DOWN#>(&gt;B:ENGINE_#BTN_ID#_Down)</CODE_POS_#POS_DOWN#> <Condition Valid="USE_MODE_AUTO"> <CODE_POS_#POS_UP#_VERIF>(I:XMLVAR_#NODE_ID_LOCK#_Animation_Position) 50 &gt;</CODE_POS_#POS_UP#_VERIF> <CODE_POS_#POS_DOWN#_VERIF>(I:XMLVAR_#NODE_ID_LOCK#_Animation_Position) 50 &gt;</CODE_POS_#POS_DOWN#_VERIF> </Condition> <STATE#POS_UP#_TEST>(B:ENGINE_#BTN_ID#) #POS_UP# ==</STATE#POS_UP#_TEST> <STATE#POS_REST#_TEST>(B:ENGINE_#BTN_ID#) #POS_REST# ==</STATE#POS_REST#_TEST> <STATE#POS_DOWN#_TEST>(B:ENGINE_#BTN_ID#) #POS_DOWN# ==</STATE#POS_DOWN#_TEST> <MOMENTARY_SWITCH/> <STATE_MAX_TIMER>1</STATE_MAX_TIMER> <STATE0_TIMER>1</STATE0_TIMER> </UseTemplate> </Component> <Condition Valid="USE_MODE_AUTO"> <Component ID="#NODE_ID_LOCK#" Node="#NODE_ID_LOCK#"> <Parameters Type="Override"> <NODE_ID>#NODE_ID_LOCK#</NODE_ID> <ANIM_NAME>#ANIM_NAME_LOCK#</ANIM_NAME> <BTN_ID>#BTN_ID_LOCK#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_COVER_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_#BTN_ID_LOCK#</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>@TT_Package.ENGINE_#FLAPS_TYPE#_COOLING_FLAPS_COVER_ACTION</TT_DESCRIPTION_ID> <TT_ICON>MOVE_Y</TT_ICON> <NUM_STATES>2</NUM_STATES> <SWITCH_POSITION_TYPE>I</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_#BTN_ID_LOCK#</SWITCH_POSITION_VAR> <SET_STATE_#POS_LOCK#>1</SET_STATE_#POS_LOCK#> <SET_STATE_#POS_UNLOCK#>1</SET_STATE_#POS_UNLOCK#> <GET_INIT_STATE_EXTERNAL>1</GET_INIT_STATE_EXTERNAL> <Switch Param="FLAPS_TYPE"> <Case Value="RADIATOR"> <TEMPERATURE_SIMVAR>RECIP ENG RADIATOR TEMPERATURE:1</TEMPERATURE_SIMVAR> </Case> <Case Value="OIL"> <TEMPERATURE_SIMVAR>GENERAL ENG OIL TEMPERATURE:1</TEMPERATURE_SIMVAR> </Case> </Switch> </Parameters> <UseInputEvent ID="ENGINE"> <TT_VALUE_#POS_LOCK#>@TT_Package.GT_STATE_LOCKED</TT_VALUE_#POS_LOCK#> <TT_VALUE_#POS_UNLOCK#>@TT_Package.GT_STATE_UNLOCKED</TT_VALUE_#POS_UNLOCK#> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_XStates"> <CODE_POS_#POS_LOCK#>(&gt;B:ENGINE_#BTN_ID#_On)</CODE_POS_#POS_LOCK#> <CODE_POS_#POS_UNLOCK#>(&gt;B:ENGINE_#BTN_ID#_Off)</CODE_POS_#POS_UNLOCK#> <CODE_POS_#POS_LOCK#_VERIF>(I:XMLVAR_#NODE_ID_SWITCH#_Animation_Position) 100 ==</CODE_POS_#POS_LOCK#_VERIF> <CODE_POS_#POS_UNLOCK#_VERIF>(I:XMLVAR_#NODE_ID_SWITCH#_Animation_Position) 100 ==</CODE_POS_#POS_UNLOCK#_VERIF> </UseTemplate> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>#REPEAT_FREQUENCY#</FREQUENCY> <UPDATE_CODE> (B:ENGINE_#BTN_ID_LOCK#) 1 == if{ 100 (A:#TEMPERATURE_SIMVAR#, celsius) #TEMPERATURE_CAP# - * #TEMPERATURE_MAX# #TEMPERATURE_CAP# - / sp0 l0 0 &gt; if{ l0 (A:#FLAPS_TYPE# COOLING FLAPS POSITION, Percent) &gt; if{ #CODE_DECREASE# } } els{ #CODE_INCREASE# } } </UPDATE_CODE> </UseTemplate> </Component> </Condition> </Default> </Switch> </Case> </Switch> </Template>

    Parameters initialization:

    • Default

      Condition: Check(NODE_ID_SWITCH)

      • Case: True

        Parameters set:

        • NODE_ID (using NODE_ID_SWITCH)

      Condition: Check(ANIM_NAME_SWITCH)

      • Case: True

        Parameters set:

        • ANIM_NAME (using ANIM_NAME_SWITCH)
    • Default

      Parameters set:

      • USE_MODE_AUTO
      • NODE_ID_LOCK (using INTERACTION_TYPE, FLAPS_TYPE)
      • ANIM_NAME_LOCK (using INTERACTION_TYPE, FLAPS_TYPE)
      • NODE_ID (using INTERACTION_TYPE, FLAPS_TYPE)
      • ANIM_NAME (using INTERACTION_TYPE, FLAPS_TYPE)
      • TOOLTIP_COOLING_FLAPS_TITLE (using FLAPS_TYPE)
      • INCREMENT
      • REPEAT_FREQUENCY
    • Override

      Condition: Switch(INTERACTION_TYPE)

      • Case: Switch

        Condition: Switch(NUM_STATES)

        • Case: 2

          Parameters set:

          • BTN_ID (using FLAPS_TYPE)
          • TOOLTIP_TITLE (using TOOLTIP_COOLING_FLAPS_TITLE)
          • TOOLTIP_ENTRY_0 (using FLAPS_TYPE)
          • TT_DESCRIPTION_ID (using FLAPS_TYPE)
        • Default case:

          Parameters set:

          • POS_UP
          • POS_REST
          • POS_DOWN
          • POS_LOCK
          • POS_UNLOCK
          • SWITCH_POSITION_TYPE
          • SWITCH_POSITION_VAR (using FLAPS_TYPE)
          • GET_STATE_EXTERNAL
          • CODE_INCREASE (using FLAPS_TYPE, INCREMENT)
          • CODE_DECREASE (using FLAPS_TYPE, INCREMENT)
          • BTN_ID_SWITCH (using FLAPS_TYPE)
          • BTN_ID_LOCK (using FLAPS_TYPE)
          • DRAG_ANIMATION_VARIABLE_TYPE
          • WWISE_EVENT
      • Case: Lever

        Parameters set:

        • USE_TRAJECTORY_DRAG_MODE
        • SCROLL_INCREMENT
        • LEVER_ID (using FLAPS_TYPE)

    Condition: Switch(INTERACTION_TYPE)

    • Case: Lever

      Parameters read:

      • NODE_ID

      Components:

      • #NODE_ID# (Node: #NODE_ID#)

        Parameters set:

        • TOOLTIP_TITLE (using TOOLTIP_COOLING_FLAPS_TITLE)
        • TOOLTIP_ENTRY_0 (using LEVER_ID)
        • TT_DESCRIPTION_ID (using FLAPS_TYPE)
        • SIMVAR_TO_WATCH_0 (using FLAPS_TYPE)
        • SET_STATE_EXTERNAL (using FLAPS_TYPE)
        • GET_STATE_EXTERNAL (using FLAPS_TYPE)
        • GET_TT_VALUE_STATE (using FLAPS_TYPE)
        • INC_PARAM_0 (using SCROLL_INCREMENT)
        • INC_PARAM_0_IS_DYNAMIC
        • DEC_PARAM_0 (using SCROLL_INCREMENT)
        • DEC_PARAM_0_IS_DYNAMIC
        • SET_PARAM_0
        • SET_PARAM_0_IS_DYNAMIC
        • INC_CODE_ADJUST_VALUE
        • DEC_CODE_ADJUST_VALUE
        • MIN_VALUE
        • MAX_VALUE
        • VALUE_UNITS

        Templates used:

        • ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis

          Parameters set:

          • CURSOR
          • NO_ARROWS
          • DRAG_ANIM_NAME (using ANIM_NAME)
          • DRAG_CODE (using LEVER_ID)
          • ANIM_CODE (using LEVER_ID)
          • POSITIVE_AXIS_CODE (using LEVER_ID)
          • NEGATIVE_AXIS_CODE (using LEVER_ID)
    • Case: Switch

      Condition: Switch(NUM_STATES)

      • Case: 2

        Templates used:

        • ASOBO_ENGINE_Base_Template

          Parameters set:

          • IE_NAME (using BTN_ID)
          • SET_STATE_EXTERNAL (using FLAPS_TYPE)
          • GET_STATE_EXTERNAL (using FLAPS_TYPE)
          • SIMVAR_TO_WATCH_0 (using FLAPS_TYPE)
      • Default case:

        Parameters read:

        • NODE_ID

        Components:

        • #NODE_ID# (Node: #NODE_ID#)

          Parameters set:

          • BTN_ID (using BTN_ID_SWITCH)
          • TOOLTIP_TITLE (using TOOLTIP_COOLING_FLAPS_TITLE)
          • TOOLTIP_ENTRY_0 (using BTN_ID_SWITCH)
          • TT_DESCRIPTION_ID (using FLAPS_TYPE)
          • SET_STATE_#POS_UP# (using CODE_INCREASE)
          • CODE_REPEAT_#POS_UP# (using CODE_INCREASE)
          • SET_STATE_#POS_REST#
          • SET_STATE_#POS_DOWN# (using CODE_DECREASE)
          • CODE_REPEAT_#POS_DOWN# (using CODE_DECREASE)
          • NUM_STATES
          • SWITCH_DIRECTION
          • STR_STATE_#POS_UP#
          • STR_STATE_#POS_REST#
          • STR_STATE_#POS_DOWN#
          • TT_VALUE_#POS_UP#
          • TT_VALUE_#POS_REST#_IS_DYNAMIC
          • TT_VALUE_#POS_REST# (using BTN_ID_LOCK)
          • TT_VALUE_#POS_DOWN#

          Templates used:

          • ASOBO_GT_Switch_XStates

            Parameters set:

            • CODE_POS_#POS_UP# (using BTN_ID)
            • CODE_POS_#POS_REST# (using BTN_ID)
            • CODE_POS_#POS_DOWN# (using BTN_ID)
            • STATE#POS_UP#_TEST (using BTN_ID, POS_UP)
            • STATE#POS_REST#_TEST (using BTN_ID, POS_REST)
            • STATE#POS_DOWN#_TEST (using BTN_ID, POS_DOWN)
            • MOMENTARY_SWITCH
            • STATE_MAX_TIMER
            • STATE0_TIMER

            Condition: Valid(USE_MODE_AUTO)

            • Case: True

              Parameters set:

              • CODE_POS_#POS_UP#_VERIF (using NODE_ID_LOCK)
              • CODE_POS_#POS_DOWN#_VERIF (using NODE_ID_LOCK)

        Condition: Valid(USE_MODE_AUTO)

        • Case: True

          Parameters read:

          • NODE_ID_LOCK

          Components:

          • #NODE_ID_LOCK# (Node: #NODE_ID_LOCK#)

            Parameters set:

            • NODE_ID (using NODE_ID_LOCK)
            • ANIM_NAME (using ANIM_NAME_LOCK)
            • BTN_ID (using BTN_ID_LOCK)
            • TOOLTIP_TITLE (using FLAPS_TYPE)
            • TOOLTIP_ENTRY_0 (using BTN_ID_LOCK)
            • TT_DESCRIPTION_ID (using FLAPS_TYPE)
            • TT_ICON
            • NUM_STATES
            • SWITCH_POSITION_TYPE
            • SWITCH_POSITION_VAR (using BTN_ID_LOCK)
            • SET_STATE_#POS_LOCK#
            • SET_STATE_#POS_UNLOCK#
            • GET_INIT_STATE_EXTERNAL
            • TT_VALUE_#POS_LOCK#
            • TT_VALUE_#POS_UNLOCK#

            Templates used:

            • ASOBO_GT_Switch_XStates

              Parameters set:

              • CODE_POS_#POS_LOCK# (using BTN_ID)
              • CODE_POS_#POS_UNLOCK# (using BTN_ID)
              • CODE_POS_#POS_LOCK#_VERIF (using NODE_ID_SWITCH)
              • CODE_POS_#POS_UNLOCK#_VERIF (using NODE_ID_SWITCH)
            • ASOBO_GT_Update

              Parameters set:

              • FREQUENCY (using REPEAT_FREQUENCY)
              • UPDATE_CODE (using BTN_ID_LOCK, TEMPERATURE_SIMVAR, TEMPERATURE_CAP, TEMPERATURE_MAX, FLAPS_TYPE, CODE_DECREASE, CODE_INCREASE)

            Condition: Switch(FLAPS_TYPE)

            • Case: RADIATOR

              Parameters set:

              • TEMPERATURE_SIMVAR
            • Case: OIL

              Parameters set:

              • TEMPERATURE_SIMVAR
  • ASOBO_ENGINE_Switch_ADI_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_Switch_ADI_SubTemplate"> <Parameters Type="Default"> <NODE_ID>ENGINE_Switch_ADI_#ID#</NODE_ID> <ANIM_NAME>ENGINE_Switch_ADI_#ID#</ANIM_NAME> <NODE_ID_LOCK>ENGINE_Switch_ADI_Lock_#ID#</NODE_ID_LOCK> <ANIM_NAME_LOCK>ENGINE_Switch_ADI_Lock_#ID#</ANIM_NAME_LOCK> <LOCK_VAR_NAME>XMLVAR_Coolant_Lock</LOCK_VAR_NAME> <LOCK_VAR_SCOPE>I</LOCK_VAR_SCOPE> <TOOLTIP_ADI_TITLE>@TT_Package.ENGINE_ADI_TITLE</TOOLTIP_ADI_TITLE> <TT_DESCRIPTION_ID_ADI>@TT_Package.ENGINE_ADI_ACTION</TT_DESCRIPTION_ID_ADI> <WWISE_EVENT_1>adi_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>adi_switch_off</WWISE_EVENT_2> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Override"> <BTN_ID>ADI</BTN_ID> <TOOLTIP_TITLE>#TOOLTIP_ADI_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_ADI</TOOLTIP_ENTRY_0> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_ADI#</TT_DESCRIPTION_ID> <LEFT_SINGLE_CODE>(&gt;B:ENGINE_ADI_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(B:ENGINE_ADI) 100 *</ANIM_CODE> </Parameters> <UseInputEvent ID="ENGINE"> <SET_STATE_ON>(A:RECIP ENG ANTIDETONATION TANK VALVE:#ID#, Bool) ! if{ (&gt;K:ANTIDETONATION_TANK_VALVE_TOGGLE) }</SET_STATE_ON> <SET_STATE_OFF>(A:RECIP ENG ANTIDETONATION TANK VALVE:#ID#, Bool) if{ (&gt;K:ANTIDETONATION_TANK_VALVE_TOGGLE) }</SET_STATE_OFF> <GET_STATE_EXTERNAL>(A:RECIP ENG ANTIDETONATION TANK VALVE:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_Code"/> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using ID)
      • ANIM_NAME (using ID)
      • NODE_ID_LOCK (using ID)
      • ANIM_NAME_LOCK (using ID)
      • LOCK_VAR_NAME
      • LOCK_VAR_SCOPE
      • TOOLTIP_ADI_TITLE
      • TT_DESCRIPTION_ID_ADI
      • WWISE_EVENT_1
      • WWISE_EVENT_2

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Parameters set:

      • BTN_ID
      • TOOLTIP_TITLE (using TOOLTIP_ADI_TITLE)
      • TOOLTIP_ENTRY_0
      • TT_DESCRIPTION_ID (using TT_DESCRIPTION_ID_ADI)
      • LEFT_SINGLE_CODE
      • ANIM_CODE
      • SET_STATE_ON (using ID)
      • SET_STATE_OFF (using ID)
      • GET_STATE_EXTERNAL (using ID)
      • SIM_STATE_IS_ON_EXTERNAL

      Templates used:

  • ASOBO_ENGINE_War_Emergency_Power_SubTemplate

    Definition from XML
    <Template Name="ASOBO_ENGINE_War_Emergency_Power_SubTemplate"> <Parameters Type="Default"> <ID>1</ID> </Parameters> <Parameters Type="Default"> <NODE_ID>ENGINE_Switch_War_Emergency_Power_#ID#</NODE_ID> <ANIM_NAME>ENGINE_Switch_War_Emergency_Power_#ID#</ANIM_NAME> <TOOLTIP_TITLE>@TT_Package.NITRO_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.NITRO_ACTION</TT_DESCRIPTION_ID> </Parameters> <Parameters Type="Override"> <GET_SIMVAR>(A:RECIP ENG EMERGENCY BOOST ACTIVE:#ID#, Bool)</GET_SIMVAR> <TOGGLE_SIMVAR>(&gt;K:WAR_EMERGENCY_POWER)</TOGGLE_SIMVAR> <BINDING_SET_0>Key_Toggle</BINDING_SET_0> <BINDING_SET_0_EVENT_ID_ONLY>True</BINDING_SET_0_EVENT_ID_ONLY> <BINDING_SET_0_EVENT_ID>WAR_EMERGENCY_POWER</BINDING_SET_0_EVENT_ID> <SIMVAR_TO_WATCH_0>RECIP ENG EMERGENCY BOOST ACTIVE:#ID#</SIMVAR_TO_WATCH_0> </Parameters> <UseTemplate Name="ASOBO_ENGINE_Base_Template"> <IE_NAME>War_Emergency_Power</IE_NAME> <SET_STATE_EXTERNAL>#TOGGLE_SIMVAR#</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>#GET_SIMVAR# sp0</GET_STATE_EXTERNAL> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ID
    • Default

      Parameters set:

      • NODE_ID (using ID)
      • ANIM_NAME (using ID)
      • TOOLTIP_TITLE
      • TT_DESCRIPTION_ID
    • Override

      Parameters set:

      • GET_SIMVAR (using ID)
      • TOGGLE_SIMVAR
      • BINDING_SET_0
      • BINDING_SET_0_EVENT_ID_ONLY
      • BINDING_SET_0_EVENT_ID
      • SIMVAR_TO_WATCH_0 (using ID)

    Templates used:

    • ASOBO_ENGINE_Base_Template

      Parameters set:

      • IE_NAME
      • SET_STATE_EXTERNAL (using TOGGLE_SIMVAR)
      • GET_STATE_EXTERNAL (using GET_SIMVAR)