[Go back to index]

Asobo\Common\Subtemplates\Deice_Subtemplates.xml

Source XML
<ModelBehaviors> <Template Name="ASOBO_DEICE_Engine_SubTemplate"> <Parameters Type="Default"> <NODE_ID>DEICE_#INTERACTION_TYPE#_Engine_#ID#</NODE_ID> <ANIM_NAME>DEICE_#INTERACTION_TYPE#_Engine_#ID#</ANIM_NAME> <PART_ID>DEICE_Engine</PART_ID> <OTHER_PART_ID>DEICE_Engine_#ID#</OTHER_PART_ID> <WWISE_PREFIX>deice_engine</WWISE_PREFIX> <Switch Param="TYPE"> <Case Value="INERT_SEP"> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_INERTSEP_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_INERTSEP_ACTION</TT_DESCRIPTION_ID> </Case> <Default> <TOOLTIP_TITLE>@TT_Package.DEICE_ANTI_ICE_ENGINE_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_ANTI_ICE_ENGINE_ACTION_SET</TT_DESCRIPTION_ID> <TT_DESCRIPTION_INDEX>#ID#</TT_DESCRIPTION_INDEX> </Default> </Switch> </Parameters> <Parameters Type="Default"> <Switch param="INTERACTION_TYPE"> <Case Value="Push"> <IS_AIRLINER>True</IS_AIRLINER> <Switch param="DECALS_TYPE"> <Case Value="FAULT_ON"> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Engine_#ID#, Bool)</SEQ2_EMISSIVE_CODE> </Case> <Default> <SEQ1_EMISSIVE_CODE>(B:DEICE_Engine_#ID#, Bool)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Engine_#ID#, Bool) !</SEQ2_EMISSIVE_CODE> </Default> </Switch> </Case> <Case Value="Knob"> <KNOB_TYPE>X_STATES</KNOB_TYPE> <NUM_STATES>3</NUM_STATES> <Switch Param="TYPE"> <Case Value="AS04F"> <INTERACTION_AXIS>Y</INTERACTION_AXIS> <DEICE_ENGINE_TYPE>ON_OFF_TEST</DEICE_ENGINE_TYPE> </Case> <Default> <DEICE_ENGINE_TYPE>ON_AUTO_OFF</DEICE_ENGINE_TYPE> </Default> </Switch> </Case> <Case Value="Lever"> <AXIS>Y</AXIS> <DEICE_ENGINE_TYPE>GRADUAL_SET</DEICE_ENGINE_TYPE> <SCROLL_INCREMENT Process="Int">16384 20 /</SCROLL_INCREMENT> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="DEICE_ENGINE_TYPE"> <Case Value="ON_OFF_TEST"> <POS_ON>0</POS_ON> <POS_OFF>1</POS_OFF> <POS_TEST>2</POS_TEST> </Case> <Case Value="ON_AUTO_OFF"> <POS_ON>0</POS_ON> <POS_AUTO>1</POS_AUTO> <POS_OFF>2</POS_OFF> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="DEICE_ENGINE_TYPE"> <Case Value="ON_OFF_TEST"> <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_TEST#>Test</STR_STATE_#POS_TEST#> <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_TEST#>@TT_Package.GT_STATE_TEST</TT_VALUE_#POS_TEST#> <SET_STATE_#POS_ON#>0 (&gt;O:_IsTest) (A:ENG ANTI ICE:#ID#, Bool) ! if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_ON#> <SET_STATE_#POS_OFF#>0 (&gt;O:_IsTest) (A:ENG ANTI ICE:#ID#, Bool) if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_OFF#> <SET_STATE_#POS_TEST#>1 (&gt;O:_IsTest) (A:ENG ANTI ICE:#ID#, Bool) ! if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_TEST#> <GET_STATE_EXTERNAL>(A:ENG ANTI ICE:#ID#, Bool) sp0 (O:_IsTest) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0 if{ #POS_TEST# #POS_ON# l1 ? sp2 } els{ #POS_OFF# sp2 } l2</ENUM_VAL_TO_POS_EXTERNAL> <SIMVAR_TO_WATCH_0>ENG ANTI ICE:#ID#</SIMVAR_TO_WATCH_0> </Case> <Case Value="ON_AUTO_OFF"> <NUM_STATES>3</NUM_STATES> <STR_STATE_#POS_ON#>On</STR_STATE_#POS_ON#> <STR_STATE_#POS_AUTO#>Auto</STR_STATE_#POS_AUTO#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <TT_VALUE_#POS_ON#>@TT_Package.GT_STATE_ON</TT_VALUE_#POS_ON#> <TT_VALUE_#POS_AUTO#>@TT_Package.GT_STATE_AUTO</TT_VALUE_#POS_AUTO#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <SET_STATE_#POS_ON#>0 (&gt;O:_IsAuto) (A:ENG ANTI ICE:#ID#, Bool) ! if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_ON#> <SET_STATE_#POS_AUTO#>1 (&gt;O:_IsAuto) (A:ENG ANTI ICE:#ID#, Bool) ! if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_AUTO#> <SET_STATE_#POS_OFF#>0 (&gt;O:_IsAuto) (A:ENG ANTI ICE:#ID#, Bool) if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_OFF#> <GET_STATE_EXTERNAL>(A:ENG ANTI ICE:#ID#, Bool) sp0 (O:_IsAuto) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0 if{ #POS_AUTO# #POS_ON# l1 ? sp2 } els{ #POS_OFF# sp2 } l2</ENUM_VAL_TO_POS_EXTERNAL> <SIMVAR_TO_WATCH_0>ENG ANTI ICE:#ID#</SIMVAR_TO_WATCH_0> </Case> <Case Value="GRADUAL_SET"> <SET_STATE_EXTERNAL>(&gt;K:ANTI_ICE_GRADUAL_SET_ENG#ID#)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:GENERAL ENG ANTI ICE POSITION:#ID#, position 16k)</GET_STATE_EXTERNAL> <GET_TT_VALUE_STATE>(A:GENERAL ENG ANTI ICE 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> <SIMVAR_TO_WATCH_0>GENERAL ENG ANTI ICE POSITION:#ID#</SIMVAR_TO_WATCH_0> </Case> <Default> <Switch Param="TYPE"> <Case Value="INERT_SEP"> <SET_STATE_EXTERNAL>p0 (&gt;O:XMLVAR_InertSep_Switch_Position)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(O:XMLVAR_InertSep_Switch_Position) sp0</GET_STATE_EXTERNAL> </Case> <Default> <SET_STATE_EXTERNAL>p0 (A:ENG ANTI ICE:#ID#, Bool) != if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_EXTERNAL> <Condition Valid="EXCLUDE_STRUCTURAL_DEICE"> <True> <GET_STATE_EXTERNAL>(A:STRUCTURAL DEICE SWITCH, Bool) ! (A:ENG ANTI ICE:#ID#, Bool) and sp0</GET_STATE_EXTERNAL> </True> <False> <GET_STATE_EXTERNAL>(A:ENG ANTI ICE:#ID#, Bool) sp0</GET_STATE_EXTERNAL> </False> </Condition> <SIMVAR_TO_WATCH_0>ENG ANTI ICE:#ID#</SIMVAR_TO_WATCH_0> </Default> </Switch> </Default> </Switch> </Parameters> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <IE_NAME>Engine_#ID#</IE_NAME> <Condition NotEmpty="INIT"> <COMP_INIT_CODE>#INIT#</COMP_INIT_CODE> </Condition> <Switch Param="TYPE"> <Case Value="INERT_SEP"> <COMP_UPDATE_CODE> (B:DEICE_Engine_#ID#, Bool) if{ (L:XMLVAR_InertSep#ID#_Deployment) 1 &lt; (&gt;L:XMLVAR_InertSep#ID#_Active) (L:XMLVAR_InertSep#ID#_Deployment) #DEPLOYMENT_PER_SECOND# + 1 min (&gt;L:XMLVAR_InertSep#ID#_Deployment) } els{ (L:XMLVAR_InertSep#ID#_Deployment) 0 &gt; (&gt;L:XMLVAR_InertSep#ID#_Active) (L:XMLVAR_InertSep#ID#_Deployment) #DEPLOYMENT_PER_SECOND# - 0 max (&gt;L:XMLVAR_InertSep#ID#_Deployment) } (L:XMLVAR_InertSep#ID#_Active) if{ (L:XMLVAR_InertSep#ID#_Deployment) 16384 * (&gt;K:ANTI_ICE_GRADUAL_SET_ENG#ID#) } </COMP_UPDATE_CODE> </Case> </Switch> </UseTemplate> </Template> <Template Name="ASOBO_DEICE_Switch_Light_SubTemplate"> <DefaultTemplateParameters> <NODE_ID>DEICE_Switch_Light_#TARGET_ID#_#ID#</NODE_ID> </DefaultTemplateParameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE> (L:XMLVAR_LTS_Test) #EMISSIVE_CODE# or </EMISSIVE_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO_DEICE_Airframe_SubTemplate"> <Parameters Type="Default"> <ANIM_NAME>DEICE_#INTERACTION_TYPE#_Airframe</ANIM_NAME> <NODE_ID>DEICE_#INTERACTION_TYPE#_Airframe</NODE_ID> <OTHER_PART_ID>DEICE_Switch_Airframe</OTHER_PART_ID> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <NUM_STATES>2</NUM_STATES> </Case> <Case Value="ON_NORM_OFF"> <NUM_STATES>3</NUM_STATES> <POS_ON>0</POS_ON> <POS_NORM>1</POS_NORM> <POS_OFF>2</POS_OFF> </Case> <Case Value="OFF_AUTO_ON"> <NUM_STATES>3</NUM_STATES> <POS_OFF>0</POS_OFF> <POS_AUTO>1</POS_AUTO> <POS_ON>2</POS_ON> <TT_POS_0>@TT_Off</TT_POS_0> <TT_POS_1>@TT_Auto</TT_POS_1> <TT_POS_2>@TT_On</TT_POS_2> </Case> <Case Value="SINGLE_OFF_MANUAL"> <NUM_STATES>3</NUM_STATES> <POS_ON>0</POS_ON> <POS_NORM>1</POS_NORM> <POS_OFF>2</POS_OFF> <TT_POS_0>(R:1:@TT_Package.GT_STATE_SINGLE)</TT_POS_0> <TT_POS_1>(R:1:@TT_Package.GT_STATE_OFF)</TT_POS_1> <TT_POS_2>(R:1:@TT_Package.GT_STATE_MANUAL)</TT_POS_2> </Case> </Switch> <Switch param="INTERACTION_TYPE"> <Case Value="PUSH"> <Switch param="DECALS_TYPE"> <Case Value="FaultOn"> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:STRUCTURAL DEICE SWITCH, Bool)</SEQ2_EMISSIVE_CODE> </Case> <Default> <SEQ1_EMISSIVE_CODE>(L:DEICE_Airframe_#ID#)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(L:DEICE_Airframe_#ID#) !</SEQ2_EMISSIVE_CODE> </Default> </Switch> </Case> <Case Value="SWITCH"> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>DEICE_Airframe_#ID#</SWITCH_POSITION_VAR> </Case> </Switch> <WWISE_EVENT>deice_airframe_switch</WWISE_EVENT> <WWISE_EVENT_1>deice_airframe_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>deice_airframe_switch_off</WWISE_EVENT_2> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <Condition Valid="SYNC_WITH_WINDSHIELD_STATE"> <SYNC_WINDSHIELD_STATE> (A:STRUCTURAL DEICE SWITCH, Bool) (A:WINDSHIELD DEICE SWITCH, Bool) != if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) } </SYNC_WINDSHIELD_STATE> </Condition> <ON_STATE_CHANGED_EXTERNAL_CODE/> <TOOLTIP_AIRFRAME_DEICE_TITLE>@TT_Package.DEICE_SWITCH_AIRFRAME_TITLE</TOOLTIP_AIRFRAME_DEICE_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_AIRFRAME_DEICE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>DEICE_Airframe_#ID#</TOOLTIP_ENTRY_0> <AIRFRAME_ID>#ID#</AIRFRAME_ID> <Condition Valid="SYNC_WITH_WINDSHIELD_STATE"> <True> <ON_STATE_CHANGED_EXTERNAL_CODE>#SYNC_WINDSHIELD_STATE#</ON_STATE_CHANGED_EXTERNAL_CODE> </True> </Condition> <Switch Param="NUM_STATES"> <Case Value="2"> <SWITCH_TEMPLATE>ASOBO_GT_Switch_Code</SWITCH_TEMPLATE> </Case> <Case Value="3"> <SWITCH_TEMPLATE>ASOBO_GT_Switch_3States</SWITCH_TEMPLATE> </Case> </Switch> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <ANIM_CODE> (A:STRUCTURAL DEICE SWITCH, Bool) 100 * </ANIM_CODE> <LEFT_SINGLE_CODE> (&gt;B:DEICE_Airframe_#ID#_Toggle) (A:STRUCTURAL DEICE SWITCH, Bool) (&gt;L:XMLVAR_IsDeiceAirFrame) </LEFT_SINGLE_CODE> </Case> <Case Value="ON_NORM_OFF"> <CODE_POS_#POS_ON#> (A:STRUCTURAL DEICE SWITCH, Bool) ! if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 1 (&gt;L:XMLVAR_IsDeiceAirFrame) 0 (&gt;O:XMLVAR_Norm) </CODE_POS_#POS_ON#> <CODE_POS_#POS_NORM#> 1 (&gt;O:XMLVAR_Norm) (A:STRUCTURAL DEICE SWITCH, Bool) ! if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) </CODE_POS_#POS_NORM#> <CODE_POS_#POS_OFF#> (A:STRUCTURAL DEICE SWITCH, Bool) if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) 0 (&gt;O:XMLVAR_Norm) </CODE_POS_#POS_OFF#> <STATE#POS_ON#_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) (O:XMLVAR_Norm) ! and </STATE#POS_ON#_TEST> <STATE#POS_NORM#_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) (O:XMLVAR_Norm) and </STATE#POS_NORM#_TEST> <STATE#POS_OFF#_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) ! </STATE#POS_OFF#_TEST> </Case> <Case Value="OFF_AUTO_ON"> <CODE_POS_#POS_OFF#> (A:STRUCTURAL DEICE SWITCH, Enum) 0 != if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_DeiceAirFrame_Auto) </CODE_POS_#POS_OFF#> <CODE_POS_#POS_AUTO#> (A:STRUCTURAL DEICE SWITCH, Enum) 0 == if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 1 (&gt;L:XMLVAR_DeiceAirFrame_Auto) </CODE_POS_#POS_AUTO#> <CODE_POS_#POS_ON#> (A:STRUCTURAL DEICE SWITCH, Enum) 0 == if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_DeiceAirFrame_Auto) </CODE_POS_#POS_ON#> <STATE#POS_OFF#_TEST> (A:STRUCTURAL DEICE SWITCH, Enum) 0 == </STATE#POS_OFF#_TEST> <STATE#POS_AUTO#_TEST> (A:STRUCTURAL DEICE SWITCH, Enum) 2 == (L:XMLVAR_DeiceAirFrame_Auto) or </STATE#POS_AUTO#_TEST> <STATE#POS_ON#_TEST> (A:STRUCTURAL DEICE SWITCH, Enum) 1 == (L:XMLVAR_DeiceAirFrame_Auto) ! and </STATE#POS_ON#_TEST> </Case> <Case Value="SINGLE_OFF_MANUAL"> <MOMENTARY_SWITCH/> <SWITCH_POSITION_TYPE_ISDOWN>L</SWITCH_POSITION_TYPE_ISDOWN> <SWITCH_POSITION_VAR_ISDOWN>XMLVAR_DEICE_Aircraft_IsHeld</SWITCH_POSITION_VAR_ISDOWN> <STATE_MAX_TIMER>0.1</STATE_MAX_TIMER> <STATE0_TIMER>0.1</STATE0_TIMER> <CODE_POS_RETURN> 0 (&gt;O:XMLVAR_MANUAL) (A:STRUCTURAL DEICE SWITCH, Bool) if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) </CODE_POS_RETURN> <CODE_POS_0> (A:STRUCTURAL DEICE SWITCH, Bool) ! if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 1 (&gt;L:XMLVAR_IsDeiceAirFrame) 0 (&gt;O:XMLVAR_MANUAL) </CODE_POS_0> <CODE_POS_1> 0 (&gt;O:XMLVAR_MANUAL) (A:STRUCTURAL DEICE SWITCH, Bool) if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) </CODE_POS_1> <CODE_POS_2> (A:STRUCTURAL DEICE SWITCH, Bool) ! if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) 1 (&gt;L:XMLVAR_IsDeiceAirFrame) 1 (&gt;O:XMLVAR_MANUAL) </CODE_POS_2> <STATE0_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) (O:XMLVAR_MANUAL) ! and </STATE0_TEST> <STATE1_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) ! (O:XMLVAR_MANUAL) ! and </STATE1_TEST> <STATE2_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) (O:XMLVAR_MANUAL) and </STATE2_TEST> </Case> </Switch> <Condition Valid="SYNC_WITH_ENGINE_STATE"> <ON_AFTER_SET>p0 (A:ENG ANTI ICE:#ID#, Bool) != if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</ON_AFTER_SET> </Condition> </Parameters> <Condition Valid="SYNC_WITH_WINDSHIELD_STATE"> <True> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_CODE>#SYNC_WINDSHIELD_STATE#</UPDATE_CODE> </UseTemplate> </True> </Condition> <Switch param="INTERACTION_TYPE"> <Case Value="PUSH"> <Component ID="#NODE_ID#_Container"> <UseInputEvent ID="DEICE"/> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"> <LEFT_SINGLE_CODE>(&gt;B:DEICE_Airframe_#ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Component> </Case> <Case Value="SWITCH"> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="DEICE"/> <Condition NotEmpty="INIT"> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#INIT#</UPDATE_CODE> </UseTemplate> </Condition> <UseTemplate Name="#SWITCH_TEMPLATE#"/> </Component> </Case> </Switch> </Template> <Template Name="ASOBO_DEICE_Propeller_Template"> <Parameters Type="Default"> <NODE_ID>DEICE_#INTERACTION_TYPE#_Propeller_#ID#</NODE_ID> <ANIM_NAME>DEICE_#INTERACTION_TYPE#_Propeller_#ID#</ANIM_NAME> <PART_ID>DEICE_Switch_Propeller</PART_ID> <WWISE_EVENT_1>deice_propeller_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>deice_propeller_switch_off</WWISE_EVENT_2> <ON_TOOLTIP>COCKPIT.TOOLTIPS.PANEL_DEICE_PROP_DEICE_ON</ON_TOOLTIP> <OFF_TOOLTIP>COCKPIT.TOOLTIPS.PANEL_DEICE_PROP_DEICE_OFF</OFF_TOOLTIP> <PROPELLER_ID>#ID#</PROPELLER_ID> <TOOLTIP_PROPELLER_DEICE_TITLE>@TT_Package.DEICE_SWITCH_PROPELLER_TITLE</TOOLTIP_PROPELLER_DEICE_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_PROPELLER_DEICE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>DEICE_Propeller_#ID#</TOOLTIP_ENTRY_0> <ANIM_CODE>(B:DEICE_Propeller_#ID#) 100 *</ANIM_CODE> <LEFT_SINGLE_CODE>(&gt;B:DEICE_Propeller_#ID#_Toggle)</LEFT_SINGLE_CODE> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Propeller_#ID#)</SEQ2_EMISSIVE_CODE> </Parameters> <Component ID="#NODE_ID#_Container" Node="#NODE_ID#"> <UseInputEvent ID="DEICE"/> <Switch Param="INTERACTION_TYPE"> <Case Value="PUSH"> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"/> </Case> <Case Value="SWITCH"> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Switch_Code"/> </Component> </Case> </Switch> </Component> </Template> <Template Name="ASOBO_DEICE_Windshield_SubTemplate"> <Parameters Type="Default"> <WINDSHIELD_ID>#ID#</WINDSHIELD_ID> <NODE_ID>DEICE_#INTERACTION_TYPE#_Windshield_#ID#</NODE_ID> <ANIM_NAME>DEICE_#INTERACTION_TYPE#_Windshield_#ID#</ANIM_NAME> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_WINDSHIELD_ACTION_SET</TT_DESCRIPTION_ID> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_WINDSHIELD_TITLE</TOOLTIP_TITLE> <WWISE_PREFIX>deice_windshield</WWISE_PREFIX> <Switch Param="INTERACTION_TYPE"> <Case Value="Push"> <VAR_NAME>XMLVAR_DeiceWindshield_#ID#</VAR_NAME> <VAR_SCOPE>L</VAR_SCOPE> <IS_AIRLINER>True</IS_AIRLINER> </Case> <Case Value="Switch"> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_DeiceWindshield_#ID#</SWITCH_POSITION_VAR> </Case> </Switch> <Switch Param="TYPE"> <Case Value="NORM_OFF_HIGH"> <POS_NORM>0</POS_NORM> <POS_OFF>1</POS_OFF> <POS_HIGH>2</POS_HIGH> </Case> <Case Value="AIRFRAME_REST_WINDSHIELD"> <POS_AIRFRAME>0</POS_AIRFRAME> <POS_REST>1</POS_REST> <POS_WINDSHIELD>2</POS_WINDSHIELD> </Case> <Case Value="AS04F"> <POS_ICE>0</POS_ICE> <POS_OFF>1</POS_OFF> <POS_RAIN>2</POS_RAIN> </Case> <Case Value="AIRBUS"> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Windshield_#ID#, Bool) !</SEQ2_EMISSIVE_CODE> <SEQ2_CODE_DRIVES_DOWN_STATE>True</SEQ2_CODE_DRIVES_DOWN_STATE> </Case> <Case Value="BOEING"> <SEQ1_EMISSIVE_CODE>(B:DEICE_Windshield_#ID#, Bool)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>0</SEQ2_EMISSIVE_CODE> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="AIRBUS"> <SIMVAR_TO_WATCH_0>WINDSHIELD DEICE SWITCH</SIMVAR_TO_WATCH_0> <SIMVAR_TO_WATCH_1>PITOT HEAT SWITCH</SIMVAR_TO_WATCH_1> <STR_STATE_OFF>On</STR_STATE_OFF> <STR_STATE_ON>Auto</STR_STATE_ON> <TT_VALUE_OFF>@TT_On</TT_VALUE_OFF> <TT_VALUE_ON>@TT_Auto</TT_VALUE_ON> <SET_STATE_EXTERNAL>2 1 p0 ? s0 (A:WINDSHIELD DEICE SWITCH, Enum) != if{ l0 (&gt;K:WINDSHIELD_DEICE_SET) l0 (&gt;K:PITOT_HEAT_SET) }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Enum) s0 0 == if{ 2 s0 (&gt;K:WINDSHIELD_DEICE_SET) } l0 (A:PITOT HEAT SWITCH, Enum) != if{ l0 (&gt;K:PITOT_HEAT_SET) } l0 2 == sp0</GET_STATE_EXTERNAL> </Case> <Case Value="AIRFRAME_REST_WINDSHIELD"> <NUM_STATES>3</NUM_STATES> <SET_STATE_#POS_AIRFRAME#> #POS_AIRFRAME# (&gt;O:DEICE_Windshield_State) </SET_STATE_#POS_AIRFRAME#> <SET_STATE_#POS_REST#> (O:DEICE_Windshield_State) #POS_WINDSHIELD# == if{ (E:SIMULATION TIME, seconds) 4 + (&gt;O:DEICE_Windshield_Disable_Time) } #POS_REST# (&gt;O:DEICE_Windshield_State) </SET_STATE_#POS_REST#> <SET_STATE_#POS_WINDSHIELD#> 1 (&gt;K:WINDSHIELD_DEICE_SET) #POS_WINDSHIELD# (&gt;O:DEICE_Windshield_State) </SET_STATE_#POS_WINDSHIELD#> <STR_STATE_#POS_AIRFRAME#>Airframe</STR_STATE_#POS_AIRFRAME#> <STR_STATE_#POS_REST#>Rest</STR_STATE_#POS_REST#> <STR_STATE_#POS_WINDSHIELD#>Windshield</STR_STATE_#POS_WINDSHIELD#> <TT_VALUE_#POS_AIRFRAME#>@TT_Package.GT_STATE_AIRFRAME</TT_VALUE_#POS_AIRFRAME#> <TT_VALUE_#POS_REST#>@TT_Package.GT_STATE_MODENORM</TT_VALUE_#POS_REST#> <TT_VALUE_#POS_WINDSHIELD#>@TT_Package.GT_STATE_WINDSHIELD</TT_VALUE_#POS_WINDSHIELD#> <GET_STATE_EXTERNAL>(O:DEICE_Windshield_State) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> <MOMENTARY_SWITCH>True</MOMENTARY_SWITCH> <STATE0_TIMER>120</STATE0_TIMER> <STATE_MAX_TIMER>1</STATE_MAX_TIMER> <TT_DESCRIPTION_ID>@TT_Package.SWITCH_DEICE_MODE_ACTION</TT_DESCRIPTION_ID> <TOOLTIP_TITLE>@TT_Package.SWITCH_DEICE_MODE_TITLE</TOOLTIP_TITLE> </Case> <Case Value="NORM_OFF_HIGH"> <NUM_STATES>3</NUM_STATES> <SET_STATE_#POS_NORM#>#POS_NORM# (&gt;O:DEICE_Windshield_#ID#_State)</SET_STATE_#POS_NORM#> <SET_STATE_#POS_OFF#>#POS_OFF# (&gt;O:DEICE_Windshield_#ID#_State)</SET_STATE_#POS_OFF#> <SET_STATE_#POS_HIGH#>#POS_HIGH# (&gt;O:DEICE_Windshield_#ID#_State)</SET_STATE_#POS_HIGH#> <STR_STATE_#POS_NORM#>Norm</STR_STATE_#POS_NORM#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_HIGH#>High</STR_STATE_#POS_HIGH#> <TT_VALUE_#POS_NORM#>@TT_Package.GT_STATE_NORMAL</TT_VALUE_#POS_NORM#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <TT_VALUE_#POS_HIGH#>@TT_Package.GT_STATE_HIGH</TT_VALUE_#POS_HIGH#> <GET_STATE_EXTERNAL>(O:DEICE_Windshield_#ID#_State) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> </Case> <Case Value="AS04F"> <SIMVAR_TO_WATCH_0>WINDSHIELD DEICE SWITCH</SIMVAR_TO_WATCH_0> <NUM_STATES>3</NUM_STATES> <SET_STATE_#POS_ICE#>(A:WINDSHIELD DEICE SWITCH, Bool) ! if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</SET_STATE_#POS_ICE#> <SET_STATE_#POS_OFF#>(A:WINDSHIELD DEICE SWITCH, Bool) if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</SET_STATE_#POS_OFF#> <SET_STATE_#POS_RAIN#>(A:WINDSHIELD DEICE SWITCH, Bool) if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</SET_STATE_#POS_RAIN#> <STR_STATE_#POS_ICE#>Ice</STR_STATE_#POS_ICE#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_RAIN#>Rain</STR_STATE_#POS_RAIN#> <TT_VALUE_#POS_ICE#>@TT_Package.GT_STATE_ON</TT_VALUE_#POS_ICE#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <TT_VALUE_#POS_RAIN#>@TT_Package.GT_STATE_RAIN</TT_VALUE_#POS_RAIN#> <GET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Bool) sp0 (O:DEICE_Windshield_#ID#_Position) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0 ! if{ #POS_RAIN# #POS_OFF# l1 #POS_RAIN# == ? sp2 } els{ #POS_ICE# sp2 } l2</ENUM_VAL_TO_POS_EXTERNAL> </Case> <Default> <SIMVAR_TO_WATCH_0>WINDSHIELD DEICE SWITCH</SIMVAR_TO_WATCH_0> <SET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Bool) p0 != if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Bool) sp0</GET_STATE_EXTERNAL> </Default> </Switch> </Parameters> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <IE_NAME>Windshield_#ID#</IE_NAME> <Switch Param="TYPE"> <Case Value="AIRBUS"> <COMP_UPDATE_CODE> (A:WINDSHIELD DEICE SWITCH, Enum) 0 == if{ (&gt;B:DEICE_Windshield_#WINDSHIELD_ID#_toggle) } (A:PITOT HEAT SWITCH, Enum) 0 == if{ (&gt;K:PITOT_HEAT_TOGGLE) } </COMP_UPDATE_CODE> </Case> <Case Value="NORM_OFF_HIGH"> <COMP_INIT_CODE>(A:WINDSHIELD DEICE SWITCH, Bool) if{ (&gt;B:DEICE_Windshield_#ID#_Norm) }</COMP_INIT_CODE> <Condition Check="ID" Match="1"> <COMP_UPDATE_CODE>(B:DEICE_Windshield_1, Enum) #POS_OFF# != (B:DEICE_Windshield_2, Enum) #POS_OFF# != or (A:WINDSHIELD DEICE SWITCH, Bool) != if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</COMP_UPDATE_CODE> </Condition> </Case> <Case Value="AIRFRAME_REST_WINDSHIELD"> <COMP_INIT_CODE>1 (&gt;B:DEICE_Windshield_#ID#_Set)</COMP_INIT_CODE> <COMP_UPDATE_CODE> (B:DEICE_Windshield_1, Enum) #POS_WINDSHIELD# != (O:DEICE_Windshield_Disable_Time) 0 != if{ (O:DEICE_Windshield_Disable_Time) (E:SIMULATION TIME, seconds) &lt; if{ 0 (&gt;K:WINDSHIELD_DEICE_SET) 0 (&gt;O:DEICE_Windshield_Disable_Time) } } </COMP_UPDATE_CODE> </Case> </Switch> </UseTemplate> </Template> <Template Name="ASOBO_DEICE_Pitot_Template"> <Parameters Type="Default"> <PART_ID>DEICE_Switch_PitotHeat</PART_ID> </Parameters> <Parameters Type="Default"> <Condition Check="NUM_PITOTS" Value="2"> <True> <NODE_ID_LEFT_PITOT>DEICE_#INTERACTION_TYPE#_Pitot_1</NODE_ID_LEFT_PITOT> <NODE_ID_RIGHT_PITOT>DEICE_#INTERACTION_TYPE#_Pitot_2</NODE_ID_RIGHT_PITOT> <PART_ID_LEFT_PITOT>#PART_ID#</PART_ID_LEFT_PITOT> <ANIM_NAME_LEFT_PITOT>DEICE_#INTERACTION_TYPE#_Pitot_1</ANIM_NAME_LEFT_PITOT> <ANIM_NAME_RIGHT_PITOT>DEICE_#INTERACTION_TYPE#_Pitot_2</ANIM_NAME_RIGHT_PITOT> <PART_ID_RIGHT_PITOT>#PART_ID#</PART_ID_RIGHT_PITOT> <WWISE_EVENT_1>deice_pitot_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>deice_pitot_switch_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="SEPARATED_PUSH_RELEASE"> <NODE_ID_LEFT_PITOT_RELEASE>DEICE_#INTERACTION_TYPE#_Pitot_Release_1</NODE_ID_LEFT_PITOT_RELEASE> <ANIM_NAME_LEFT_PITOT_RELEASE>DEICE_#INTERACTION_TYPE#_Pitot_Release_1</ANIM_NAME_LEFT_PITOT_RELEASE> <PART_ID_LEFT_PITOT_RELEASE>#PART_ID#</PART_ID_LEFT_PITOT_RELEASE> <NODE_ID_RIGHT_PITOT_RELEASE>DEICE_#INTERACTION_TYPE#_Pitot_Release_2</NODE_ID_RIGHT_PITOT_RELEASE> <ANIM_NAME_RIGHT_PITOT_RELEASE>DEICE_#INTERACTION_TYPE#_Pitot_Release_2</ANIM_NAME_RIGHT_PITOT_RELEASE> <PART_ID_RIGHT_PITOT_RELEASE>#PART_ID#</PART_ID_RIGHT_PITOT_RELEASE> <TT_INDEX_LEFT>(R:1:@TT_Package.GT_STATE_MAIN)</TT_INDEX_LEFT> <TT_INDEX_RIGHT>(R:1:@TT_Package.GT_STATE_STANDBY)</TT_INDEX_RIGHT> </Case> </Switch> </True> <False> <ID>1</ID> <Switch Param="INTERACTION_TYPE"> <Case Value="PUSH"> <ANIM_NAME>DEICE_Push_Pitot</ANIM_NAME> <NODE_ID>DEICE_Push_Pitot</NODE_ID> <Switch Param="TYPE"> <Case Value="AS02A"> <ANIM_NAME>DEICE_Switch_Pitot_#ID#</ANIM_NAME> <NODE_ID>DEICE_Switch_Pitot_#ID#</NODE_ID> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:CIRCUIT PITOT HEAT ON:#ID#, Bool) !</SEQ2_EMISSIVE_CODE> </Case> <Default> <SEQ1_EMISSIVE_CODE>(A:PITOT HEAT, Bool)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:PITOT HEAT, Bool) !</SEQ2_EMISSIVE_CODE> </Default> </Switch> </Case> <Case Value="SWITCH"> <ANIM_NAME>DEICE_Switch_PitotHeat</ANIM_NAME> <NODE_ID>DEICE_Switch_PitotHeat</NODE_ID> </Case> </Switch> <WWISE_EVENT_1>pitot_heat_switch_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <WWISE_EVENT_2>pitot_heat_switch_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> </False> </Condition> </Parameters> <Condition Check="NUM_PITOTS" Value="2"> <True> <Component ID="DEICE_Switch_Pitots"> <UseTemplate Name="ASOBO_DEICE_Pitot_Template2"> <ID>1</ID> <NODE_ID>#NODE_ID_LEFT_PITOT#</NODE_ID> <ANIM_NAME>#ANIM_NAME_LEFT_PITOT#</ANIM_NAME> <PART_ID>#PART_ID_LEFT_PITOT#</PART_ID> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <NODE_ID_RELEASE>#NODE_ID_LEFT_PITOT_RELEASE#</NODE_ID_RELEASE> <ANIM_NAME_RELEASE>#ANIM_NAME_LEFT_PITOT_RELEASE#</ANIM_NAME_RELEASE> <PART_ID_RELEASE>#PART_ID_LEFT_PITOT_RELEASE#</PART_ID_RELEASE> <TT_INDEX>#TT_INDEX_LEFT#</TT_INDEX> </Case> </Switch> </UseTemplate> <UseTemplate Name="ASOBO_DEICE_Pitot_Template2"> <ID>2</ID> <NODE_ID>#NODE_ID_RIGHT_PITOT#</NODE_ID> <ANIM_NAME>#ANIM_NAME_RIGHT_PITOT#</ANIM_NAME> <PART_ID>#PART_ID_RIGHT_PITOT#</PART_ID> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <NODE_ID_RELEASE>#NODE_ID_RIGHT_PITOT_RELEASE#</NODE_ID_RELEASE> <ANIM_NAME_RELEASE>#ANIM_NAME_RIGHT_PITOT_RELEASE#</ANIM_NAME_RELEASE> <PART_ID_RELEASE>#PART_ID_RIGHT_PITOT_RELEASE#</PART_ID_RELEASE> <TT_INDEX>#TT_INDEX_RIGHT#</TT_INDEX> </Case> </Switch> </UseTemplate> </Component> </True> <False> <UseTemplate Name="ASOBO_DEICE_Pitot_Template2"> </UseTemplate> </False> </Condition> </Template> <Template Name="ASOBO_DEICE_Pitot_Template2"> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <USE_GIE>True</USE_GIE> <NODE_ID_RELEASE>#NODE_ID_RIGHT_PITOT_RELEASE#</NODE_ID_RELEASE> <ANIM_NAME_RELEASE>#ANIM_NAME_RIGHT_PITOT_RELEASE#</ANIM_NAME_RELEASE> <CHECK_STATE_HAS_CHANGED>True</CHECK_STATE_HAS_CHANGED> <TT_INDEX>(R:1:@TT_Package.GT_STATE_MAIN)</TT_INDEX> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_PITOTHEAT_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_INDEX_PUSH>#TT_INDEX#</TT_DESCRIPTION_INDEX_PUSH> <TT_DESCRIPTION_INDEX_RELEASE>#TT_INDEX#</TT_DESCRIPTION_INDEX_RELEASE> <TT_DESCRIPTION_ID_PUSH>@TT_Package.DEICE_PITOT_HEAT_ACTION_PUSH</TT_DESCRIPTION_ID_PUSH> <TT_DESCRIPTION_ID_RELEASE>@TT_Package.DEICE_PITOT_HEAT_ACTION_RELEASE</TT_DESCRIPTION_ID_RELEASE> </Case> <Default> <Switch param="INTERACTION_TYPE"> <Case Value="PUSH"> <SEQ1_EMISSIVE_CODE>(B:DEICE_Pitot_#ID#)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Pitot_#ID#) !</SEQ_EMISSIVE_CODE> </Case> <Case Value="SWITCH"> <ANIM_CODE>(B:DEICE_Pitot_#ID#) 100 *</ANIM_CODE> </Case> </Switch> <LEFT_SINGLE_CODE>(&gt;B:DEICE_Pitot_#ID#_Toggle)</LEFT_SINGLE_CODE> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_PITOTHEAT_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>DEICE_Pitot_#ID#</TOOLTIP_ENTRY_0> <PITOT_ID>#ID#</PITOT_ID> </Default> </Switch> </Parameters> <Parameters Type="Override"> <Condition Valid="USE_GIE"> <False> <Switch Param="TYPE"> <Case Value="AS04F"> <AS04F_UPDATE_CODE> (O:XMLVAR_PitotHeat_#ID#_State) if{ (A:PITOT HEAT SWITCH, Bool) ! if{ #ID# (&gt;K:PITOT_HEAT_TOGGLE) } } els{ (A:SIM ON GROUND, Bool) (A:PITOT HEAT SWITCH, Bool) ! != if{ #ID# (&gt;K:PITOT_HEAT_TOGGLE) } } </AS04F_UPDATE_CODE> </Case> </Switch> </False> </Condition> </Parameters> <Condition Valid="USE_GIE"> <True> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <IE_NAME>Pitot_#ID#</IE_NAME> <SET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) ! if{ #ID# 1 (&gt;K:2:PITOT_HEAT_SET) }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>PITOT HEAT SWITCH:#ID#</SIMVAR_TO_WATCH_0> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_PUSH#</TT_DESCRIPTION_ID> <Condition NotEmpty="TT_DESCRIPTION_INDEX_PUSH"> <TT_DESCRIPTION_INDEX>#TT_DESCRIPTION_INDEX_PUSH#</TT_DESCRIPTION_INDEX> </Condition> </UseTemplate> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <IE_NAME>Pitot_#ID#_Release_Button</IE_NAME> <NODE_ID>#NODE_ID_RELEASE#</NODE_ID> <ANIM_NAME>#ANIM_NAME_RELEASE#</ANIM_NAME> <PART_ID>#PART_ID_RELEASE#</PART_ID> <INTERACTION_TYPE>Push</INTERACTION_TYPE> <SET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) if{ #ID# 0 (&gt;K:2:PITOT_HEAT_SET) }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>PITOT HEAT SWITCH:#ID#</SIMVAR_TO_WATCH_0> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_RELEASE#</TT_DESCRIPTION_ID> <Condition NotEmpty="TT_DESCRIPTION_INDEX_RELEASE"> <TT_DESCRIPTION_INDEX>#TT_DESCRIPTION_INDEX_RELEASE#</TT_DESCRIPTION_INDEX> </Condition> </UseTemplate> </Case> <Default> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <SET_STATE_EXTERNAL>#ID# p0 (&gt;K:2:PITOT_HEAT_SET)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>PITOT HEAT SWITCH:#ID#</SIMVAR_TO_WATCH_0> </UseTemplate> </Default> </Switch> </True> <False> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#PITOT_ID# (A:PITOT HEAT SWITCH:1, Bool) (&gt;K:2:PITOT_HEAT_SET)</UPDATE_CODE> </UseTemplate> <Switch param="INTERACTION_TYPE"> <Case Value="PUSH"> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"> <INPUT_EVENT_ID>DEICE</INPUT_EVENT_ID> </UseTemplate> </Case> <Case Value="SWITCH"> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="DEICE"/> <Switch Param="TYPE"> <Case Value="AS04F"> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>1</FREQUENCY> <!-- If Switch active -> Always ON IF Switch inactive -> ON when WoffW --> <UPDATE_CODE>#AS04F_UPDATE_CODE#</UPDATE_CODE> </UseTemplate> </Case> </Switch> <UseTemplate Name="ASOBO_GT_Switch_Code"> </UseTemplate> </Component> </Case> </Switch> </False> </Condition> </Template> <Template Name="ASOBO_DEICE_Panel_SubTemplate"> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="DA62"> <NODE_ID_WINGS_ICELIGHT>DEICE_Switch_Airframe</NODE_ID_WINGS_ICELIGHT> <ANIM_NAME_WINGS_ICELIGHT>DEICE_Switch_Airframe</ANIM_NAME_WINGS_ICELIGHT> <NODE_ID_WINDSHIELD>DEICE_Switch_Windshield</NODE_ID_WINDSHIELD> <ANIM_NAME_WINDSHIELD>DEICE_Switch_Windshield</ANIM_NAME_WINDSHIELD> <NODE_ID_PUMP>DEICE_Switch_Pump</NODE_ID_PUMP> <ANIM_NAME_PUMP>DEICE_Switch_Pump</ANIM_NAME_PUMP> <NODE_ID_ALTERNATE>DEICE_switch_alternate</NODE_ID_ALTERNATE> <ANIM_NAME_ALTERNATE>DEICE_switch_alternate</ANIM_NAME_ALTERNATE> <NODE_ID_ALTERNATE_COVER>DEICE_Cover_switch_alternate</NODE_ID_ALTERNATE_COVER> <ANIM_NAME_ALTERNATE_COVER>DEICE_Cover_switch_alternate</ANIM_NAME_ALTERNATE_COVER> <NODE_ID_MAX>DEICE_Push_max_momentary</NODE_ID_MAX> <ANIM_NAME_MAX>DEICE_Push_max_momentary</ANIM_NAME_MAX> <NODE_ID_WINGLIGHT_ANNUN_TEST>DEICE_Switch_WingLight_AnnunTest</NODE_ID_WINGLIGHT_ANNUN_TEST> <ANIM_NAME_WINGLIGHT_ANNUN_TEST>DEICE_Switch_WingLight_AnnunTest</ANIM_NAME_WINGLIGHT_ANNUN_TEST> <NODE_ID_LIGHT_NORM>light_deice_03</NODE_ID_LIGHT_NORM> <NODE_ID_LIGHT_HIGH>light_deice_02</NODE_ID_LIGHT_HIGH> <NODE_ID_LIGHT_MAX>light_deice_01</NODE_ID_LIGHT_MAX> <INPUT_EVENT_ID_SOURCE>DEICE_Panel</INPUT_EVENT_ID_SOURCE> <USE_INPUT_EVENT_ID>DEICE</USE_INPUT_EVENT_ID> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="DA62"> <BTN_ID_WINGS_ICELIGHT>Wings_Ice_Light</BTN_ID_WINGS_ICELIGHT> <BTN_ID_WINDSHIELD>Windshield</BTN_ID_WINDSHIELD> <BTN_ID_PUMP>Pump</BTN_ID_PUMP> <BTN_ID_ALTERNATE>Alternate</BTN_ID_ALTERNATE> <BTN_ID_MAX>Max</BTN_ID_MAX> <BTN_ID_WINGLIGHT_ANNUN_TEST>Wing_Light_Annun_Test</BTN_ID_WINGLIGHT_ANNUN_TEST> </Case> </Switch> </Parameters> <Switch Param="TYPE"> <Case Value="DA62"> <Component ID="#NODE_ID_WINGS_ICELIGHT#" Node="#NODE_ID_WINGS_ICELIGHT#"> <Parameters Type="Override"> <POS_HIGH>0</POS_HIGH> <POS_NORM>1</POS_NORM> <POS_OFF>2</POS_OFF> <NUM_STATES>3</NUM_STATES> <BTN_ID>#BTN_ID_WINGS_ICELIGHT#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.SWITCH_DEICE_MODE_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.SWITCH_DEICE_MODE_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <GET_STATE_EXTERNAL>(O:XMLVAR_IceLightState) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> <SET_STATE_#POS_HIGH#>(&gt;K:ANTI_ICE_ON) (&gt;K:WINDSHIELD_DEICE_ON) #POS_HIGH# (&gt;O:XMLVAR_IceLightState)</SET_STATE_#POS_HIGH#> <SET_STATE_#POS_NORM#>(&gt;K:ANTI_ICE_ON) (&gt;K:WINDSHIELD_DEICE_ON) #POS_NORM# (&gt;O:XMLVAR_IceLightState)</SET_STATE_#POS_NORM#> <SET_STATE_#POS_OFF#> (B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_ALTERNATE#, Bool) if{ (&gt;K:ANTI_ICE_OFF) } (B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_PUMP#, Bool) if{ (&gt;K:WINDSHIELD_DEICE_OFF) } #POS_OFF# (&gt;O:XMLVAR_IceLightState) </SET_STATE_#POS_OFF#> <STR_STATE_#POS_HIGH#>High</STR_STATE_#POS_HIGH#> <STR_STATE_#POS_NORM#>Norm</STR_STATE_#POS_NORM#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <TT_VALUE_#POS_HIGH#>@TT_Package.GT_STATE_HIGH</TT_VALUE_#POS_HIGH#> <TT_VALUE_#POS_NORM#>@TT_Package.GT_STATE_NORMAL</TT_VALUE_#POS_NORM#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <SIMVAR_TO_WATCH_0>ENG ANTI ICE:1</SIMVAR_TO_WATCH_0> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>(A:ENG ANTI ICE:1, Bool) if{ (&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Norm) } els{ (&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off) }</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_3States"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_WINGS_ICELIGHT#</ANIM_NAME> <CODE_POS_#POS_HIGH#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_High)</CODE_POS_#POS_HIGH#> <CODE_POS_#POS_NORM#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Norm)</CODE_POS_#POS_NORM#> <CODE_POS_#POS_OFF#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</CODE_POS_#POS_OFF#> <STATE#POS_HIGH#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_HIGH# ==</STATE#POS_HIGH#_TEST> <STATE#POS_NORM#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_NORM# ==</STATE#POS_NORM#_TEST> <STATE#POS_OFF#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_OFF# ==</STATE#POS_OFF#_TEST> </UseTemplate> </Component> <Component ID="#NODE_ID_WINDSHIELD#" Node="#NODE_ID_WINDSHIELD#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_WINDSHIELD#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_WINDSHIELD_DA62TITLE_DA62</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_WINDSHIELD_DA62ACTION_DA62</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <SET_STATE_ON>(A:WINDSHIELD DEICE SWITCH, Bool) ! if{ (&gt;K:WINDSHIELD_DEICE_ON) (E:ABSOLUTE TIME, second) 5 + (&gt;O:XMLVAR_Timer_Timeout) }</SET_STATE_ON> <SET_STATE_OFF>(A:WINDSHIELD DEICE SWITCH, Bool) if{ (&gt;K:WINDSHIELD_DEICE_OFF) 0 (&gt;O:XMLVAR_Timer_Timeout) }</SET_STATE_OFF> <GET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Bool) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>5</FREQUENCY> <UPDATE_CODE>(O:XMLVAR_Timer_Timeout) 0 &gt; if{ (E:ABSOLUTE TIME, second) (O:XMLVAR_Timer_Timeout) &gt; if{ (&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off) } }</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_Code"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_WINDSHIELD#</ANIM_NAME> <WWISE_EVENT_1>deice_windshield_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>deice_windshield_switch_off</WWISE_EVENT_2> <LEFT_SINGLE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(O:XMLVAR_Timer_Timeout) 0 &gt; 100 *</ANIM_CODE> </UseTemplate> </Component> <Component ID="#NODE_ID_PUMP#" Node="#NODE_ID_PUMP#"> <Parameters Type="Override"> <POS_PUMP_1>0</POS_PUMP_1> <POS_OFF>1</POS_OFF> <POS_PUMP_2>2</POS_PUMP_2> <NUM_STATES>3</NUM_STATES> <BTN_ID>#BTN_ID_PUMP#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_PUMP_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_PUMP_ACTION_SET</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <GET_STATE_EXTERNAL>(L:XMLVAR_DEICE_Pump) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL> l0 0 == if{ #POS_OFF# sp1 g2 } l0 1 == if{ #POS_PUMP_1# sp1 g2 } l0 2 == if{ #POS_PUMP_2# sp1 g2 } :2 l1 </ENUM_VAL_TO_POS_EXTERNAL> <SET_STATE_#POS_PUMP_1#>1 (&gt;L:XMLVAR_DEICE_Pump)</SET_STATE_#POS_PUMP_1#> <SET_STATE_#POS_OFF#>0 (&gt;L:XMLVAR_DEICE_Pump)</SET_STATE_#POS_OFF#> <SET_STATE_#POS_PUMP_2#>2 (&gt;L:XMLVAR_DEICE_Pump)</SET_STATE_#POS_PUMP_2#> <STR_STATE_#POS_PUMP_1#>Pump_1</STR_STATE_#POS_PUMP_1#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_PUMP_2#>Pump_2</STR_STATE_#POS_PUMP_2#> <TT_VALUE_#POS_PUMP_1#>1 (R:1:@TT_Package.GT_STATE_PUMP_ID) @sprintf</TT_VALUE_#POS_PUMP_1#> <TT_VALUE_#POS_PUMP_1#_IS_DYNAMIC>True</TT_VALUE_#POS_PUMP_1#_IS_DYNAMIC> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <TT_VALUE_#POS_PUMP_2#>2 (R:1:@TT_Package.GT_STATE_PUMP_ID) @sprintf</TT_VALUE_#POS_PUMP_2#> <TT_VALUE_#POS_PUMP_2#_IS_DYNAMIC>True</TT_VALUE_#POS_PUMP_2#_IS_DYNAMIC> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_3States"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_PUMP#</ANIM_NAME> <CODE_POS_#POS_PUMP_1#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Pump_1)</CODE_POS_#POS_PUMP_1#> <CODE_POS_#POS_OFF#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</CODE_POS_#POS_OFF#> <CODE_POS_#POS_PUMP_2#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Pump_2)</CODE_POS_#POS_PUMP_2#> <STATE#POS_PUMP_1#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_PUMP_1# ==</STATE#POS_PUMP_1#_TEST> <STATE#POS_OFF#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_OFF# ==</STATE#POS_OFF#_TEST> <STATE#POS_PUMP_2#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_PUMP_2# ==</STATE#POS_PUMP_2#_TEST> </UseTemplate> </Component> <Component ID="#NODE_ID_ALTERNATE#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_ALTERNATE#</BTN_ID> <POS_OFF>2</POS_OFF> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_ALTERNATOR_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_ALTERNATOR_ACTION_SET</TT_DESCRIPTION_ID> </Parameters> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_On)</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_Covered"> <SWITCH_NODE_ID>#NODE_ID_ALTERNATE#</SWITCH_NODE_ID> <SWITCH_ANIM_NAME>#ANIM_NAME_ALTERNATE#</SWITCH_ANIM_NAME> <COVER_NODE_ID>#NODE_ID_ALTERNATE_COVER#</COVER_NODE_ID> <COVER_ANIM_NAME>#ANIM_NAME_ALTERNATE_COVER#</COVER_ANIM_NAME> <COVER_IE_NAME>#BTN_ID#_Cover</COVER_IE_NAME> <COVER_VAR_NAME>XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Cover_Opened</COVER_VAR_NAME> <COVER_VAR_TYPE>O</COVER_VAR_TYPE> <INPUT_EVENT_ID>#USE_INPUT_EVENT_ID#</INPUT_EVENT_ID> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <COVER_IE_ID_SOURCE>#INPUT_EVENT_ID_SOURCE#</COVER_IE_ID_SOURCE> <TOGGLE_STATE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Toggle)</TOGGLE_STATE> <SWITCH_ANIM_CODE>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#, Bool) 100 *</SWITCH_ANIM_CODE> <SET_STATE_ON>1 (&gt;O:XMLVAR_DEICE_Alternate_Disabled) (B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_WINGS_ICELIGHT#) #POS_OFF# == if{ (&gt;K:ANTI_ICE_OFF) }</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;O:XMLVAR_DEICE_Alternate_Disabled) (&gt;K:ANTI_ICE_ON)</SET_STATE_OFF> <GET_STATE_EXTERNAL>(O:XMLVAR_DEICE_Alternate_Disabled) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseTemplate> </Component> <Component ID="#NODE_ID_MAX#" Node="#NODE_ID_MAX#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_MAX#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.DEICE_PUSH_MAX_MOMENTARY_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_PUSH_MAX_MOMENTARY_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <SET_STATE_ON>(O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) ! if{ 1 (&gt;O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) (E:ABSOLUTE TIME, second) 120 + (&gt;O:XMLVAR_Timer_Timeout) }</SET_STATE_ON> <SET_STATE_OFF>(O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) if{ 0 (&gt;O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) 0 (&gt;O:XMLVAR_Timer_Timeout) }</SET_STATE_OFF> <GET_STATE_EXTERNAL>(O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>5</FREQUENCY> <UPDATE_CODE>(O:XMLVAR_Timer_Timeout) 0 &gt; if{ (E:ABSOLUTE TIME, second) (O:XMLVAR_Timer_Timeout) &gt; if{ (&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off) } }</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_Code"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_MAX#</ANIM_NAME> <WWISE_EVENT_1>deice_max_momentary_push_off</WWISE_EVENT_1> <WWISE_EVENT_2>deice_max_momentary_push_on</WWISE_EVENT_2> <LEFT_SINGLE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(O:XMLVAR_Timer_Timeout) 0 &gt; 100 *</ANIM_CODE> </UseTemplate> </Component> <Component ID="#NODE_ID_WINGLIGHT_ANNUN_TEST#" Node="#NODE_ID_WINGLIGHT_ANNUN_TEST#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_WINGLIGHT_ANNUN_TEST#</BTN_ID> <POS_ON>0</POS_ON> <POS_OFF>1</POS_OFF> <POS_TEST>2</POS_TEST> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_WINGLIGHT_ANNUTEST_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_WINGLIGHT_ANNUTEST_ACTION_SET</TT_DESCRIPTION_ID> <NUM_STATES>3</NUM_STATES> </Parameters> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</UPDATE_CODE> </UseTemplate> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <GET_STATE_EXTERNAL>(A:LIGHT WING, bool) sp0 (L:XMLVAR_LTS_Test) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL> #POS_OFF# sp2 l0 ! if{ #POS_TEST# #POS_OFF# l1 ? sp2 g2 } els{ #POS_ON# sp2 g2 } :2 l2 </ENUM_VAL_TO_POS_EXTERNAL> <SET_STATE_#POS_ON#>(A:LIGHT WING, bool) ! if{ (&gt;K:TOGGLE_WING_LIGHTS) } 0 (&gt;L:XMLVAR_LTS_Test)</SET_STATE_#POS_ON#> <SET_STATE_#POS_OFF#>(A:LIGHT WING, bool) if{ (&gt;K:TOGGLE_WING_LIGHTS) } 0 (&gt;L:XMLVAR_LTS_Test)</SET_STATE_#POS_OFF#> <SET_STATE_#POS_TEST#>(A:LIGHT WING, bool) if{ (&gt;K:TOGGLE_WING_LIGHTS) } 1 (&gt;L:XMLVAR_LTS_Test)</SET_STATE_#POS_TEST#> <STR_STATE_#POS_ON#>On</STR_STATE_#POS_ON#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_TEST#>Test</STR_STATE_#POS_TEST#> <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_TEST#>@TT_Package.GT_STATE_TEST</TT_VALUE_#POS_TEST#> <SIMVAR_TO_WATCH_0>LIGHT WING</SIMVAR_TO_WATCH_0> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_3States"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_WINGLIGHT_ANNUN_TEST#</ANIM_NAME> <MOMENTARY_SWITCH/> <STATE_MAX_TIMER>0.1</STATE_MAX_TIMER> <STATE0_TIMER>0</STATE0_TIMER> <CODE_POS_#POS_ON#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_On)</CODE_POS_#POS_ON#> <CODE_POS_#POS_OFF#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</CODE_POS_#POS_OFF#> <CODE_POS_#POS_TEST#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Test)</CODE_POS_#POS_TEST#> <STATE#POS_ON#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_ON# ==</STATE#POS_ON#_TEST> <STATE#POS_TEST#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_TEST# ==</STATE#POS_TEST#_TEST> <STATE#POS_OFF#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_OFF# ==</STATE#POS_OFF#_TEST> </UseTemplate> </Component> <Component ID="DEICE_Panel_Lights"> <Parameters Type="Override"> <POS_HIGH>0</POS_HIGH> <POS_NORM>1</POS_NORM> <POS_OFF>2</POS_OFF> <ALT_CODE>(L:XMLVAR_LTS_Test)</ALT_CODE> </Parameters> <Component ID="#NODE_ID_LIGHT_NORM#" Node="#NODE_ID_LIGHT_NORM#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_WINGS_ICELIGHT#) #POS_OFF# !=</EMISSIVE_CODE> </UseTemplate> </Component> <Component ID="#NODE_ID_LIGHT_HIGH#" Node="#NODE_ID_LIGHT_HIGH#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_WINGS_ICELIGHT#) #POS_HIGH# ==</EMISSIVE_CODE> </UseTemplate> </Component> <Component ID="#NODE_ID_LIGHT_MAX#" Node="#NODE_ID_LIGHT_MAX#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_WINGS_ICELIGHT#) #POS_HIGH# == (B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_MAX#, Bool) and</EMISSIVE_CODE> </UseTemplate> </Component> </Component> </Case> </Switch> </Template> </ModelBehaviors>

Templates

Template list
  • ASOBO_DEICE_Engine_SubTemplate

    Definition from XML
    <Template Name="ASOBO_DEICE_Engine_SubTemplate"> <Parameters Type="Default"> <NODE_ID>DEICE_#INTERACTION_TYPE#_Engine_#ID#</NODE_ID> <ANIM_NAME>DEICE_#INTERACTION_TYPE#_Engine_#ID#</ANIM_NAME> <PART_ID>DEICE_Engine</PART_ID> <OTHER_PART_ID>DEICE_Engine_#ID#</OTHER_PART_ID> <WWISE_PREFIX>deice_engine</WWISE_PREFIX> <Switch Param="TYPE"> <Case Value="INERT_SEP"> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_INERTSEP_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_INERTSEP_ACTION</TT_DESCRIPTION_ID> </Case> <Default> <TOOLTIP_TITLE>@TT_Package.DEICE_ANTI_ICE_ENGINE_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_ANTI_ICE_ENGINE_ACTION_SET</TT_DESCRIPTION_ID> <TT_DESCRIPTION_INDEX>#ID#</TT_DESCRIPTION_INDEX> </Default> </Switch> </Parameters> <Parameters Type="Default"> <Switch param="INTERACTION_TYPE"> <Case Value="Push"> <IS_AIRLINER>True</IS_AIRLINER> <Switch param="DECALS_TYPE"> <Case Value="FAULT_ON"> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Engine_#ID#, Bool)</SEQ2_EMISSIVE_CODE> </Case> <Default> <SEQ1_EMISSIVE_CODE>(B:DEICE_Engine_#ID#, Bool)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Engine_#ID#, Bool) !</SEQ2_EMISSIVE_CODE> </Default> </Switch> </Case> <Case Value="Knob"> <KNOB_TYPE>X_STATES</KNOB_TYPE> <NUM_STATES>3</NUM_STATES> <Switch Param="TYPE"> <Case Value="AS04F"> <INTERACTION_AXIS>Y</INTERACTION_AXIS> <DEICE_ENGINE_TYPE>ON_OFF_TEST</DEICE_ENGINE_TYPE> </Case> <Default> <DEICE_ENGINE_TYPE>ON_AUTO_OFF</DEICE_ENGINE_TYPE> </Default> </Switch> </Case> <Case Value="Lever"> <AXIS>Y</AXIS> <DEICE_ENGINE_TYPE>GRADUAL_SET</DEICE_ENGINE_TYPE> <SCROLL_INCREMENT Process="Int">16384 20 /</SCROLL_INCREMENT> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="DEICE_ENGINE_TYPE"> <Case Value="ON_OFF_TEST"> <POS_ON>0</POS_ON> <POS_OFF>1</POS_OFF> <POS_TEST>2</POS_TEST> </Case> <Case Value="ON_AUTO_OFF"> <POS_ON>0</POS_ON> <POS_AUTO>1</POS_AUTO> <POS_OFF>2</POS_OFF> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="DEICE_ENGINE_TYPE"> <Case Value="ON_OFF_TEST"> <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_TEST#>Test</STR_STATE_#POS_TEST#> <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_TEST#>@TT_Package.GT_STATE_TEST</TT_VALUE_#POS_TEST#> <SET_STATE_#POS_ON#>0 (&gt;O:_IsTest) (A:ENG ANTI ICE:#ID#, Bool) ! if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_ON#> <SET_STATE_#POS_OFF#>0 (&gt;O:_IsTest) (A:ENG ANTI ICE:#ID#, Bool) if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_OFF#> <SET_STATE_#POS_TEST#>1 (&gt;O:_IsTest) (A:ENG ANTI ICE:#ID#, Bool) ! if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_TEST#> <GET_STATE_EXTERNAL>(A:ENG ANTI ICE:#ID#, Bool) sp0 (O:_IsTest) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0 if{ #POS_TEST# #POS_ON# l1 ? sp2 } els{ #POS_OFF# sp2 } l2</ENUM_VAL_TO_POS_EXTERNAL> <SIMVAR_TO_WATCH_0>ENG ANTI ICE:#ID#</SIMVAR_TO_WATCH_0> </Case> <Case Value="ON_AUTO_OFF"> <NUM_STATES>3</NUM_STATES> <STR_STATE_#POS_ON#>On</STR_STATE_#POS_ON#> <STR_STATE_#POS_AUTO#>Auto</STR_STATE_#POS_AUTO#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <TT_VALUE_#POS_ON#>@TT_Package.GT_STATE_ON</TT_VALUE_#POS_ON#> <TT_VALUE_#POS_AUTO#>@TT_Package.GT_STATE_AUTO</TT_VALUE_#POS_AUTO#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <SET_STATE_#POS_ON#>0 (&gt;O:_IsAuto) (A:ENG ANTI ICE:#ID#, Bool) ! if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_ON#> <SET_STATE_#POS_AUTO#>1 (&gt;O:_IsAuto) (A:ENG ANTI ICE:#ID#, Bool) ! if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_AUTO#> <SET_STATE_#POS_OFF#>0 (&gt;O:_IsAuto) (A:ENG ANTI ICE:#ID#, Bool) if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_#POS_OFF#> <GET_STATE_EXTERNAL>(A:ENG ANTI ICE:#ID#, Bool) sp0 (O:_IsAuto) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0 if{ #POS_AUTO# #POS_ON# l1 ? sp2 } els{ #POS_OFF# sp2 } l2</ENUM_VAL_TO_POS_EXTERNAL> <SIMVAR_TO_WATCH_0>ENG ANTI ICE:#ID#</SIMVAR_TO_WATCH_0> </Case> <Case Value="GRADUAL_SET"> <SET_STATE_EXTERNAL>(&gt;K:ANTI_ICE_GRADUAL_SET_ENG#ID#)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:GENERAL ENG ANTI ICE POSITION:#ID#, position 16k)</GET_STATE_EXTERNAL> <GET_TT_VALUE_STATE>(A:GENERAL ENG ANTI ICE 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> <SIMVAR_TO_WATCH_0>GENERAL ENG ANTI ICE POSITION:#ID#</SIMVAR_TO_WATCH_0> </Case> <Default> <Switch Param="TYPE"> <Case Value="INERT_SEP"> <SET_STATE_EXTERNAL>p0 (&gt;O:XMLVAR_InertSep_Switch_Position)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(O:XMLVAR_InertSep_Switch_Position) sp0</GET_STATE_EXTERNAL> </Case> <Default> <SET_STATE_EXTERNAL>p0 (A:ENG ANTI ICE:#ID#, Bool) != if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</SET_STATE_EXTERNAL> <Condition Valid="EXCLUDE_STRUCTURAL_DEICE"> <True> <GET_STATE_EXTERNAL>(A:STRUCTURAL DEICE SWITCH, Bool) ! (A:ENG ANTI ICE:#ID#, Bool) and sp0</GET_STATE_EXTERNAL> </True> <False> <GET_STATE_EXTERNAL>(A:ENG ANTI ICE:#ID#, Bool) sp0</GET_STATE_EXTERNAL> </False> </Condition> <SIMVAR_TO_WATCH_0>ENG ANTI ICE:#ID#</SIMVAR_TO_WATCH_0> </Default> </Switch> </Default> </Switch> </Parameters> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <IE_NAME>Engine_#ID#</IE_NAME> <Condition NotEmpty="INIT"> <COMP_INIT_CODE>#INIT#</COMP_INIT_CODE> </Condition> <Switch Param="TYPE"> <Case Value="INERT_SEP"> <COMP_UPDATE_CODE> (B:DEICE_Engine_#ID#, Bool) if{ (L:XMLVAR_InertSep#ID#_Deployment) 1 &lt; (&gt;L:XMLVAR_InertSep#ID#_Active) (L:XMLVAR_InertSep#ID#_Deployment) #DEPLOYMENT_PER_SECOND# + 1 min (&gt;L:XMLVAR_InertSep#ID#_Deployment) } els{ (L:XMLVAR_InertSep#ID#_Deployment) 0 &gt; (&gt;L:XMLVAR_InertSep#ID#_Active) (L:XMLVAR_InertSep#ID#_Deployment) #DEPLOYMENT_PER_SECOND# - 0 max (&gt;L:XMLVAR_InertSep#ID#_Deployment) } (L:XMLVAR_InertSep#ID#_Active) if{ (L:XMLVAR_InertSep#ID#_Deployment) 16384 * (&gt;K:ANTI_ICE_GRADUAL_SET_ENG#ID#) } </COMP_UPDATE_CODE> </Case> </Switch> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

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

      Condition: Switch(TYPE)

      • Case: INERT_SEP

        Parameters set:

        • TOOLTIP_TITLE
        • TT_DESCRIPTION_ID
      • Default case:

        Parameters set:

        • TOOLTIP_TITLE
        • TT_DESCRIPTION_ID
        • TT_DESCRIPTION_INDEX (using ID)
    • Default

      Condition: Switch(INTERACTION_TYPE)

      • Case: Push

        Parameters set:

        • IS_AIRLINER

        Condition: Switch(DECALS_TYPE)

        • Case: FAULT_ON

          Parameters set:

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

          Parameters set:

          • SEQ1_EMISSIVE_CODE (using ID)
          • SEQ2_EMISSIVE_CODE (using ID)
      • Case: Knob

        Parameters set:

        • KNOB_TYPE
        • NUM_STATES

        Condition: Switch(TYPE)

        • Case: AS04F

          Parameters set:

          • INTERACTION_AXIS
          • DEICE_ENGINE_TYPE
        • Default case:

          Parameters set:

          • DEICE_ENGINE_TYPE
      • Case: Lever

        Parameters set:

        • AXIS
        • DEICE_ENGINE_TYPE
        • SCROLL_INCREMENT
    • Default

      Condition: Switch(DEICE_ENGINE_TYPE)

      • Case: ON_OFF_TEST

        Parameters set:

        • POS_ON
        • POS_OFF
        • POS_TEST
      • Case: ON_AUTO_OFF

        Parameters set:

        • POS_ON
        • POS_AUTO
        • POS_OFF
    • Override

      Condition: Switch(DEICE_ENGINE_TYPE)

      • Case: ON_OFF_TEST

        Parameters set:

        • NUM_STATES
        • STR_STATE_#POS_ON#
        • STR_STATE_#POS_OFF#
        • STR_STATE_#POS_TEST#
        • TT_VALUE_#POS_ON#
        • TT_VALUE_#POS_OFF#
        • TT_VALUE_#POS_TEST#
        • SET_STATE_#POS_ON# (using ID)
        • SET_STATE_#POS_OFF# (using ID)
        • SET_STATE_#POS_TEST# (using ID)
        • GET_STATE_EXTERNAL (using ID)
        • ENUM_VAL_TO_POS_EXTERNAL (using POS_TEST, POS_ON, POS_OFF)
        • SIMVAR_TO_WATCH_0 (using ID)
      • Case: ON_AUTO_OFF

        Parameters set:

        • NUM_STATES
        • STR_STATE_#POS_ON#
        • STR_STATE_#POS_AUTO#
        • STR_STATE_#POS_OFF#
        • TT_VALUE_#POS_ON#
        • TT_VALUE_#POS_AUTO#
        • TT_VALUE_#POS_OFF#
        • SET_STATE_#POS_ON# (using ID)
        • SET_STATE_#POS_AUTO# (using ID)
        • SET_STATE_#POS_OFF# (using ID)
        • GET_STATE_EXTERNAL (using ID)
        • ENUM_VAL_TO_POS_EXTERNAL (using POS_AUTO, POS_ON, POS_OFF)
        • SIMVAR_TO_WATCH_0 (using ID)
      • Case: GRADUAL_SET

        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
        • SIMVAR_TO_WATCH_0 (using ID)
      • Default case:

        Condition: Switch(TYPE)

        • Case: INERT_SEP

          Parameters set:

          • SET_STATE_EXTERNAL
          • GET_STATE_EXTERNAL
        • Default case:

          Parameters set:

          • SET_STATE_EXTERNAL (using ID)
          • SIMVAR_TO_WATCH_0 (using ID)

          Condition: Valid(EXCLUDE_STRUCTURAL_DEICE)

          • Case: True

            Parameters set:

            • GET_STATE_EXTERNAL (using ID)
          • Case: False

            Parameters set:

            • GET_STATE_EXTERNAL (using ID)

    Templates used:

    • ASOBO_DEICE_Base_Template

      Parameters set:

      • IE_NAME (using ID)

      Condition: NotEmpty(INIT)

      • Case: True

        Parameters set:

        • COMP_INIT_CODE (using INIT)

      Condition: Switch(TYPE)

      • Case: INERT_SEP

        Parameters set:

        • COMP_UPDATE_CODE (using ID, DEPLOYMENT_PER_SECOND)
  • ASOBO_DEICE_Switch_Light_SubTemplate

    Definition from XML
    <Template Name="ASOBO_DEICE_Switch_Light_SubTemplate"> <DefaultTemplateParameters> <NODE_ID>DEICE_Switch_Light_#TARGET_ID#_#ID#</NODE_ID> </DefaultTemplateParameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE> (L:XMLVAR_LTS_Test) #EMISSIVE_CODE# or </EMISSIVE_CODE> </UseTemplate> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using TARGET_ID, ID)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID# (Node: #NODE_ID#)

      Templates used:

  • ASOBO_DEICE_Airframe_SubTemplate

    Definition from XML
    <Template Name="ASOBO_DEICE_Airframe_SubTemplate"> <Parameters Type="Default"> <ANIM_NAME>DEICE_#INTERACTION_TYPE#_Airframe</ANIM_NAME> <NODE_ID>DEICE_#INTERACTION_TYPE#_Airframe</NODE_ID> <OTHER_PART_ID>DEICE_Switch_Airframe</OTHER_PART_ID> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <NUM_STATES>2</NUM_STATES> </Case> <Case Value="ON_NORM_OFF"> <NUM_STATES>3</NUM_STATES> <POS_ON>0</POS_ON> <POS_NORM>1</POS_NORM> <POS_OFF>2</POS_OFF> </Case> <Case Value="OFF_AUTO_ON"> <NUM_STATES>3</NUM_STATES> <POS_OFF>0</POS_OFF> <POS_AUTO>1</POS_AUTO> <POS_ON>2</POS_ON> <TT_POS_0>@TT_Off</TT_POS_0> <TT_POS_1>@TT_Auto</TT_POS_1> <TT_POS_2>@TT_On</TT_POS_2> </Case> <Case Value="SINGLE_OFF_MANUAL"> <NUM_STATES>3</NUM_STATES> <POS_ON>0</POS_ON> <POS_NORM>1</POS_NORM> <POS_OFF>2</POS_OFF> <TT_POS_0>(R:1:@TT_Package.GT_STATE_SINGLE)</TT_POS_0> <TT_POS_1>(R:1:@TT_Package.GT_STATE_OFF)</TT_POS_1> <TT_POS_2>(R:1:@TT_Package.GT_STATE_MANUAL)</TT_POS_2> </Case> </Switch> <Switch param="INTERACTION_TYPE"> <Case Value="PUSH"> <Switch param="DECALS_TYPE"> <Case Value="FaultOn"> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:STRUCTURAL DEICE SWITCH, Bool)</SEQ2_EMISSIVE_CODE> </Case> <Default> <SEQ1_EMISSIVE_CODE>(L:DEICE_Airframe_#ID#)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(L:DEICE_Airframe_#ID#) !</SEQ2_EMISSIVE_CODE> </Default> </Switch> </Case> <Case Value="SWITCH"> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>DEICE_Airframe_#ID#</SWITCH_POSITION_VAR> </Case> </Switch> <WWISE_EVENT>deice_airframe_switch</WWISE_EVENT> <WWISE_EVENT_1>deice_airframe_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>deice_airframe_switch_off</WWISE_EVENT_2> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <Condition Valid="SYNC_WITH_WINDSHIELD_STATE"> <SYNC_WINDSHIELD_STATE> (A:STRUCTURAL DEICE SWITCH, Bool) (A:WINDSHIELD DEICE SWITCH, Bool) != if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) } </SYNC_WINDSHIELD_STATE> </Condition> <ON_STATE_CHANGED_EXTERNAL_CODE/> <TOOLTIP_AIRFRAME_DEICE_TITLE>@TT_Package.DEICE_SWITCH_AIRFRAME_TITLE</TOOLTIP_AIRFRAME_DEICE_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_AIRFRAME_DEICE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>DEICE_Airframe_#ID#</TOOLTIP_ENTRY_0> <AIRFRAME_ID>#ID#</AIRFRAME_ID> <Condition Valid="SYNC_WITH_WINDSHIELD_STATE"> <True> <ON_STATE_CHANGED_EXTERNAL_CODE>#SYNC_WINDSHIELD_STATE#</ON_STATE_CHANGED_EXTERNAL_CODE> </True> </Condition> <Switch Param="NUM_STATES"> <Case Value="2"> <SWITCH_TEMPLATE>ASOBO_GT_Switch_Code</SWITCH_TEMPLATE> </Case> <Case Value="3"> <SWITCH_TEMPLATE>ASOBO_GT_Switch_3States</SWITCH_TEMPLATE> </Case> </Switch> <Switch Param="SWITCH_TYPE"> <Case Value="ON_OFF"> <ANIM_CODE> (A:STRUCTURAL DEICE SWITCH, Bool) 100 * </ANIM_CODE> <LEFT_SINGLE_CODE> (&gt;B:DEICE_Airframe_#ID#_Toggle) (A:STRUCTURAL DEICE SWITCH, Bool) (&gt;L:XMLVAR_IsDeiceAirFrame) </LEFT_SINGLE_CODE> </Case> <Case Value="ON_NORM_OFF"> <CODE_POS_#POS_ON#> (A:STRUCTURAL DEICE SWITCH, Bool) ! if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 1 (&gt;L:XMLVAR_IsDeiceAirFrame) 0 (&gt;O:XMLVAR_Norm) </CODE_POS_#POS_ON#> <CODE_POS_#POS_NORM#> 1 (&gt;O:XMLVAR_Norm) (A:STRUCTURAL DEICE SWITCH, Bool) ! if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) </CODE_POS_#POS_NORM#> <CODE_POS_#POS_OFF#> (A:STRUCTURAL DEICE SWITCH, Bool) if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) 0 (&gt;O:XMLVAR_Norm) </CODE_POS_#POS_OFF#> <STATE#POS_ON#_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) (O:XMLVAR_Norm) ! and </STATE#POS_ON#_TEST> <STATE#POS_NORM#_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) (O:XMLVAR_Norm) and </STATE#POS_NORM#_TEST> <STATE#POS_OFF#_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) ! </STATE#POS_OFF#_TEST> </Case> <Case Value="OFF_AUTO_ON"> <CODE_POS_#POS_OFF#> (A:STRUCTURAL DEICE SWITCH, Enum) 0 != if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_DeiceAirFrame_Auto) </CODE_POS_#POS_OFF#> <CODE_POS_#POS_AUTO#> (A:STRUCTURAL DEICE SWITCH, Enum) 0 == if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 1 (&gt;L:XMLVAR_DeiceAirFrame_Auto) </CODE_POS_#POS_AUTO#> <CODE_POS_#POS_ON#> (A:STRUCTURAL DEICE SWITCH, Enum) 0 == if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_DeiceAirFrame_Auto) </CODE_POS_#POS_ON#> <STATE#POS_OFF#_TEST> (A:STRUCTURAL DEICE SWITCH, Enum) 0 == </STATE#POS_OFF#_TEST> <STATE#POS_AUTO#_TEST> (A:STRUCTURAL DEICE SWITCH, Enum) 2 == (L:XMLVAR_DeiceAirFrame_Auto) or </STATE#POS_AUTO#_TEST> <STATE#POS_ON#_TEST> (A:STRUCTURAL DEICE SWITCH, Enum) 1 == (L:XMLVAR_DeiceAirFrame_Auto) ! and </STATE#POS_ON#_TEST> </Case> <Case Value="SINGLE_OFF_MANUAL"> <MOMENTARY_SWITCH/> <SWITCH_POSITION_TYPE_ISDOWN>L</SWITCH_POSITION_TYPE_ISDOWN> <SWITCH_POSITION_VAR_ISDOWN>XMLVAR_DEICE_Aircraft_IsHeld</SWITCH_POSITION_VAR_ISDOWN> <STATE_MAX_TIMER>0.1</STATE_MAX_TIMER> <STATE0_TIMER>0.1</STATE0_TIMER> <CODE_POS_RETURN> 0 (&gt;O:XMLVAR_MANUAL) (A:STRUCTURAL DEICE SWITCH, Bool) if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) </CODE_POS_RETURN> <CODE_POS_0> (A:STRUCTURAL DEICE SWITCH, Bool) ! if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 1 (&gt;L:XMLVAR_IsDeiceAirFrame) 0 (&gt;O:XMLVAR_MANUAL) </CODE_POS_0> <CODE_POS_1> 0 (&gt;O:XMLVAR_MANUAL) (A:STRUCTURAL DEICE SWITCH, Bool) if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) </CODE_POS_1> <CODE_POS_2> (A:STRUCTURAL DEICE SWITCH, Bool) ! if{ (&gt;K:TOGGLE_STRUCTURAL_DEICE) } 0 (&gt;L:XMLVAR_IsDeiceAirFrame) 1 (&gt;L:XMLVAR_IsDeiceAirFrame) 1 (&gt;O:XMLVAR_MANUAL) </CODE_POS_2> <STATE0_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) (O:XMLVAR_MANUAL) ! and </STATE0_TEST> <STATE1_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) ! (O:XMLVAR_MANUAL) ! and </STATE1_TEST> <STATE2_TEST> (A:STRUCTURAL DEICE SWITCH, Bool) (O:XMLVAR_MANUAL) and </STATE2_TEST> </Case> </Switch> <Condition Valid="SYNC_WITH_ENGINE_STATE"> <ON_AFTER_SET>p0 (A:ENG ANTI ICE:#ID#, Bool) != if{ (&gt;K:ANTI_ICE_TOGGLE_ENG#ID#) }</ON_AFTER_SET> </Condition> </Parameters> <Condition Valid="SYNC_WITH_WINDSHIELD_STATE"> <True> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_CODE>#SYNC_WINDSHIELD_STATE#</UPDATE_CODE> </UseTemplate> </True> </Condition> <Switch param="INTERACTION_TYPE"> <Case Value="PUSH"> <Component ID="#NODE_ID#_Container"> <UseInputEvent ID="DEICE"/> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"> <LEFT_SINGLE_CODE>(&gt;B:DEICE_Airframe_#ID#_Toggle)</LEFT_SINGLE_CODE> </UseTemplate> </Component> </Case> <Case Value="SWITCH"> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="DEICE"/> <Condition NotEmpty="INIT"> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#INIT#</UPDATE_CODE> </UseTemplate> </Condition> <UseTemplate Name="#SWITCH_TEMPLATE#"/> </Component> </Case> </Switch> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • ANIM_NAME (using INTERACTION_TYPE)
      • NODE_ID (using INTERACTION_TYPE)
      • OTHER_PART_ID
      • WWISE_EVENT
      • WWISE_EVENT_1
      • WWISE_EVENT_2
      • NORMALIZED_TIME_1
      • NORMALIZED_TIME_2
      • ON_STATE_CHANGED_EXTERNAL_CODE
      • TOOLTIP_AIRFRAME_DEICE_TITLE

      Condition: Switch(SWITCH_TYPE)

      • Case: ON_OFF

        Parameters set:

        • NUM_STATES
      • Case: ON_NORM_OFF

        Parameters set:

        • NUM_STATES
        • POS_ON
        • POS_NORM
        • POS_OFF
      • Case: OFF_AUTO_ON

        Parameters set:

        • NUM_STATES
        • POS_OFF
        • POS_AUTO
        • POS_ON
        • TT_POS_0
        • TT_POS_1
        • TT_POS_2
      • Case: SINGLE_OFF_MANUAL

        Parameters set:

        • NUM_STATES
        • POS_ON
        • POS_NORM
        • POS_OFF
        • TT_POS_0
        • TT_POS_1
        • TT_POS_2

      Condition: Switch(INTERACTION_TYPE)

      • Case: PUSH

        Condition: Switch(DECALS_TYPE)

        • Case: FaultOn

          Parameters set:

          • SEQ1_EMISSIVE_CODE
          • SEQ2_EMISSIVE_CODE
        • Default case:

          Parameters set:

          • SEQ1_EMISSIVE_CODE (using ID)
          • SEQ2_EMISSIVE_CODE (using ID)
      • Case: SWITCH

        Parameters set:

        • SWITCH_POSITION_TYPE
        • SWITCH_POSITION_VAR (using ID)

      Condition: Valid(SYNC_WITH_WINDSHIELD_STATE)

      • Case: True

        Parameters set:

        • SYNC_WINDSHIELD_STATE
    • Override

      Parameters set:

      • TOOLTIP_TITLE (using TOOLTIP_AIRFRAME_DEICE_TITLE)
      • TOOLTIP_ENTRY_0 (using ID)
      • AIRFRAME_ID (using ID)

      Condition: Valid(SYNC_WITH_WINDSHIELD_STATE)

      • Case: True

        Parameters set:

        • ON_STATE_CHANGED_EXTERNAL_CODE (using SYNC_WINDSHIELD_STATE)

      Condition: Switch(NUM_STATES)

      • Case: 2

        Parameters set:

        • SWITCH_TEMPLATE
      • Case: 3

        Parameters set:

        • SWITCH_TEMPLATE

      Condition: Switch(SWITCH_TYPE)

      • Case: ON_OFF

        Parameters set:

        • ANIM_CODE
        • LEFT_SINGLE_CODE (using ID)
      • Case: ON_NORM_OFF

        Parameters set:

        • CODE_POS_#POS_ON#
        • CODE_POS_#POS_NORM#
        • CODE_POS_#POS_OFF#
        • STATE#POS_ON#_TEST
        • STATE#POS_NORM#_TEST
        • STATE#POS_OFF#_TEST
      • Case: OFF_AUTO_ON

        Parameters set:

        • CODE_POS_#POS_OFF#
        • CODE_POS_#POS_AUTO#
        • CODE_POS_#POS_ON#
        • STATE#POS_OFF#_TEST
        • STATE#POS_AUTO#_TEST
        • STATE#POS_ON#_TEST
      • Case: SINGLE_OFF_MANUAL

        Parameters set:

        • MOMENTARY_SWITCH
        • SWITCH_POSITION_TYPE_ISDOWN
        • SWITCH_POSITION_VAR_ISDOWN
        • STATE_MAX_TIMER
        • STATE0_TIMER
        • CODE_POS_RETURN
        • CODE_POS_0
        • CODE_POS_1
        • CODE_POS_2
        • STATE0_TEST
        • STATE1_TEST
        • STATE2_TEST

      Condition: Valid(SYNC_WITH_ENGINE_STATE)

      • Case: True

        Parameters set:

        • ON_AFTER_SET (using ID)

    Condition: Valid(SYNC_WITH_WINDSHIELD_STATE)

    • Case: True

      Templates used:

      • ASOBO_GT_Update

        Parameters set:

        • UPDATE_CODE (using SYNC_WINDSHIELD_STATE)

    Condition: Switch(INTERACTION_TYPE)

    • Case: PUSH

      Parameters read:

      • NODE_ID

      Components:

    • Case: SWITCH

      Parameters read:

      • NODE_ID

      Components:

      • #NODE_ID# (Node: #NODE_ID#)

        Parameters read:

        • SWITCH_TEMPLATE

        Templates used:

        Condition: NotEmpty(INIT)

        • Case: True

          Templates used:

  • ASOBO_DEICE_Propeller_Template

    Definition from XML
    <Template Name="ASOBO_DEICE_Propeller_Template"> <Parameters Type="Default"> <NODE_ID>DEICE_#INTERACTION_TYPE#_Propeller_#ID#</NODE_ID> <ANIM_NAME>DEICE_#INTERACTION_TYPE#_Propeller_#ID#</ANIM_NAME> <PART_ID>DEICE_Switch_Propeller</PART_ID> <WWISE_EVENT_1>deice_propeller_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>deice_propeller_switch_off</WWISE_EVENT_2> <ON_TOOLTIP>COCKPIT.TOOLTIPS.PANEL_DEICE_PROP_DEICE_ON</ON_TOOLTIP> <OFF_TOOLTIP>COCKPIT.TOOLTIPS.PANEL_DEICE_PROP_DEICE_OFF</OFF_TOOLTIP> <PROPELLER_ID>#ID#</PROPELLER_ID> <TOOLTIP_PROPELLER_DEICE_TITLE>@TT_Package.DEICE_SWITCH_PROPELLER_TITLE</TOOLTIP_PROPELLER_DEICE_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_PROPELLER_DEICE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>DEICE_Propeller_#ID#</TOOLTIP_ENTRY_0> <ANIM_CODE>(B:DEICE_Propeller_#ID#) 100 *</ANIM_CODE> <LEFT_SINGLE_CODE>(&gt;B:DEICE_Propeller_#ID#_Toggle)</LEFT_SINGLE_CODE> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Propeller_#ID#)</SEQ2_EMISSIVE_CODE> </Parameters> <Component ID="#NODE_ID#_Container" Node="#NODE_ID#"> <UseInputEvent ID="DEICE"/> <Switch Param="INTERACTION_TYPE"> <Case Value="PUSH"> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"/> </Case> <Case Value="SWITCH"> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseTemplate Name="ASOBO_GT_Switch_Code"/> </Component> </Case> </Switch> </Component> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • NODE_ID (using INTERACTION_TYPE, ID)
      • ANIM_NAME (using INTERACTION_TYPE, ID)
      • PART_ID
      • WWISE_EVENT_1
      • WWISE_EVENT_2
      • ON_TOOLTIP
      • OFF_TOOLTIP
      • PROPELLER_ID (using ID)
      • TOOLTIP_PROPELLER_DEICE_TITLE
    • Override

      Parameters set:

      • TOOLTIP_TITLE (using TOOLTIP_PROPELLER_DEICE_TITLE)
      • TOOLTIP_ENTRY_0 (using ID)
      • ANIM_CODE (using ID)
      • LEFT_SINGLE_CODE (using ID)
      • SEQ1_EMISSIVE_CODE
      • SEQ2_EMISSIVE_CODE (using ID)

    Parameters read:

    • NODE_ID

    Components:

    • #NODE_ID#_Container (Node: #NODE_ID#)

      Condition: Switch(INTERACTION_TYPE)

  • ASOBO_DEICE_Windshield_SubTemplate

    Definition from XML
    <Template Name="ASOBO_DEICE_Windshield_SubTemplate"> <Parameters Type="Default"> <WINDSHIELD_ID>#ID#</WINDSHIELD_ID> <NODE_ID>DEICE_#INTERACTION_TYPE#_Windshield_#ID#</NODE_ID> <ANIM_NAME>DEICE_#INTERACTION_TYPE#_Windshield_#ID#</ANIM_NAME> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_WINDSHIELD_ACTION_SET</TT_DESCRIPTION_ID> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_WINDSHIELD_TITLE</TOOLTIP_TITLE> <WWISE_PREFIX>deice_windshield</WWISE_PREFIX> <Switch Param="INTERACTION_TYPE"> <Case Value="Push"> <VAR_NAME>XMLVAR_DeiceWindshield_#ID#</VAR_NAME> <VAR_SCOPE>L</VAR_SCOPE> <IS_AIRLINER>True</IS_AIRLINER> </Case> <Case Value="Switch"> <SWITCH_POSITION_TYPE>L</SWITCH_POSITION_TYPE> <SWITCH_POSITION_VAR>XMLVAR_DeiceWindshield_#ID#</SWITCH_POSITION_VAR> </Case> </Switch> <Switch Param="TYPE"> <Case Value="NORM_OFF_HIGH"> <POS_NORM>0</POS_NORM> <POS_OFF>1</POS_OFF> <POS_HIGH>2</POS_HIGH> </Case> <Case Value="AIRFRAME_REST_WINDSHIELD"> <POS_AIRFRAME>0</POS_AIRFRAME> <POS_REST>1</POS_REST> <POS_WINDSHIELD>2</POS_WINDSHIELD> </Case> <Case Value="AS04F"> <POS_ICE>0</POS_ICE> <POS_OFF>1</POS_OFF> <POS_RAIN>2</POS_RAIN> </Case> <Case Value="AIRBUS"> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Windshield_#ID#, Bool) !</SEQ2_EMISSIVE_CODE> <SEQ2_CODE_DRIVES_DOWN_STATE>True</SEQ2_CODE_DRIVES_DOWN_STATE> </Case> <Case Value="BOEING"> <SEQ1_EMISSIVE_CODE>(B:DEICE_Windshield_#ID#, Bool)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>0</SEQ2_EMISSIVE_CODE> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="AIRBUS"> <SIMVAR_TO_WATCH_0>WINDSHIELD DEICE SWITCH</SIMVAR_TO_WATCH_0> <SIMVAR_TO_WATCH_1>PITOT HEAT SWITCH</SIMVAR_TO_WATCH_1> <STR_STATE_OFF>On</STR_STATE_OFF> <STR_STATE_ON>Auto</STR_STATE_ON> <TT_VALUE_OFF>@TT_On</TT_VALUE_OFF> <TT_VALUE_ON>@TT_Auto</TT_VALUE_ON> <SET_STATE_EXTERNAL>2 1 p0 ? s0 (A:WINDSHIELD DEICE SWITCH, Enum) != if{ l0 (&gt;K:WINDSHIELD_DEICE_SET) l0 (&gt;K:PITOT_HEAT_SET) }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Enum) s0 0 == if{ 2 s0 (&gt;K:WINDSHIELD_DEICE_SET) } l0 (A:PITOT HEAT SWITCH, Enum) != if{ l0 (&gt;K:PITOT_HEAT_SET) } l0 2 == sp0</GET_STATE_EXTERNAL> </Case> <Case Value="AIRFRAME_REST_WINDSHIELD"> <NUM_STATES>3</NUM_STATES> <SET_STATE_#POS_AIRFRAME#> #POS_AIRFRAME# (&gt;O:DEICE_Windshield_State) </SET_STATE_#POS_AIRFRAME#> <SET_STATE_#POS_REST#> (O:DEICE_Windshield_State) #POS_WINDSHIELD# == if{ (E:SIMULATION TIME, seconds) 4 + (&gt;O:DEICE_Windshield_Disable_Time) } #POS_REST# (&gt;O:DEICE_Windshield_State) </SET_STATE_#POS_REST#> <SET_STATE_#POS_WINDSHIELD#> 1 (&gt;K:WINDSHIELD_DEICE_SET) #POS_WINDSHIELD# (&gt;O:DEICE_Windshield_State) </SET_STATE_#POS_WINDSHIELD#> <STR_STATE_#POS_AIRFRAME#>Airframe</STR_STATE_#POS_AIRFRAME#> <STR_STATE_#POS_REST#>Rest</STR_STATE_#POS_REST#> <STR_STATE_#POS_WINDSHIELD#>Windshield</STR_STATE_#POS_WINDSHIELD#> <TT_VALUE_#POS_AIRFRAME#>@TT_Package.GT_STATE_AIRFRAME</TT_VALUE_#POS_AIRFRAME#> <TT_VALUE_#POS_REST#>@TT_Package.GT_STATE_MODENORM</TT_VALUE_#POS_REST#> <TT_VALUE_#POS_WINDSHIELD#>@TT_Package.GT_STATE_WINDSHIELD</TT_VALUE_#POS_WINDSHIELD#> <GET_STATE_EXTERNAL>(O:DEICE_Windshield_State) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> <MOMENTARY_SWITCH>True</MOMENTARY_SWITCH> <STATE0_TIMER>120</STATE0_TIMER> <STATE_MAX_TIMER>1</STATE_MAX_TIMER> <TT_DESCRIPTION_ID>@TT_Package.SWITCH_DEICE_MODE_ACTION</TT_DESCRIPTION_ID> <TOOLTIP_TITLE>@TT_Package.SWITCH_DEICE_MODE_TITLE</TOOLTIP_TITLE> </Case> <Case Value="NORM_OFF_HIGH"> <NUM_STATES>3</NUM_STATES> <SET_STATE_#POS_NORM#>#POS_NORM# (&gt;O:DEICE_Windshield_#ID#_State)</SET_STATE_#POS_NORM#> <SET_STATE_#POS_OFF#>#POS_OFF# (&gt;O:DEICE_Windshield_#ID#_State)</SET_STATE_#POS_OFF#> <SET_STATE_#POS_HIGH#>#POS_HIGH# (&gt;O:DEICE_Windshield_#ID#_State)</SET_STATE_#POS_HIGH#> <STR_STATE_#POS_NORM#>Norm</STR_STATE_#POS_NORM#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_HIGH#>High</STR_STATE_#POS_HIGH#> <TT_VALUE_#POS_NORM#>@TT_Package.GT_STATE_NORMAL</TT_VALUE_#POS_NORM#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <TT_VALUE_#POS_HIGH#>@TT_Package.GT_STATE_HIGH</TT_VALUE_#POS_HIGH#> <GET_STATE_EXTERNAL>(O:DEICE_Windshield_#ID#_State) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> </Case> <Case Value="AS04F"> <SIMVAR_TO_WATCH_0>WINDSHIELD DEICE SWITCH</SIMVAR_TO_WATCH_0> <NUM_STATES>3</NUM_STATES> <SET_STATE_#POS_ICE#>(A:WINDSHIELD DEICE SWITCH, Bool) ! if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</SET_STATE_#POS_ICE#> <SET_STATE_#POS_OFF#>(A:WINDSHIELD DEICE SWITCH, Bool) if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</SET_STATE_#POS_OFF#> <SET_STATE_#POS_RAIN#>(A:WINDSHIELD DEICE SWITCH, Bool) if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</SET_STATE_#POS_RAIN#> <STR_STATE_#POS_ICE#>Ice</STR_STATE_#POS_ICE#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_RAIN#>Rain</STR_STATE_#POS_RAIN#> <TT_VALUE_#POS_ICE#>@TT_Package.GT_STATE_ON</TT_VALUE_#POS_ICE#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <TT_VALUE_#POS_RAIN#>@TT_Package.GT_STATE_RAIN</TT_VALUE_#POS_RAIN#> <GET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Bool) sp0 (O:DEICE_Windshield_#ID#_Position) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0 ! if{ #POS_RAIN# #POS_OFF# l1 #POS_RAIN# == ? sp2 } els{ #POS_ICE# sp2 } l2</ENUM_VAL_TO_POS_EXTERNAL> </Case> <Default> <SIMVAR_TO_WATCH_0>WINDSHIELD DEICE SWITCH</SIMVAR_TO_WATCH_0> <SET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Bool) p0 != if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Bool) sp0</GET_STATE_EXTERNAL> </Default> </Switch> </Parameters> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <IE_NAME>Windshield_#ID#</IE_NAME> <Switch Param="TYPE"> <Case Value="AIRBUS"> <COMP_UPDATE_CODE> (A:WINDSHIELD DEICE SWITCH, Enum) 0 == if{ (&gt;B:DEICE_Windshield_#WINDSHIELD_ID#_toggle) } (A:PITOT HEAT SWITCH, Enum) 0 == if{ (&gt;K:PITOT_HEAT_TOGGLE) } </COMP_UPDATE_CODE> </Case> <Case Value="NORM_OFF_HIGH"> <COMP_INIT_CODE>(A:WINDSHIELD DEICE SWITCH, Bool) if{ (&gt;B:DEICE_Windshield_#ID#_Norm) }</COMP_INIT_CODE> <Condition Check="ID" Match="1"> <COMP_UPDATE_CODE>(B:DEICE_Windshield_1, Enum) #POS_OFF# != (B:DEICE_Windshield_2, Enum) #POS_OFF# != or (A:WINDSHIELD DEICE SWITCH, Bool) != if{ (&gt;K:WINDSHIELD_DEICE_TOGGLE) }</COMP_UPDATE_CODE> </Condition> </Case> <Case Value="AIRFRAME_REST_WINDSHIELD"> <COMP_INIT_CODE>1 (&gt;B:DEICE_Windshield_#ID#_Set)</COMP_INIT_CODE> <COMP_UPDATE_CODE> (B:DEICE_Windshield_1, Enum) #POS_WINDSHIELD# != (O:DEICE_Windshield_Disable_Time) 0 != if{ (O:DEICE_Windshield_Disable_Time) (E:SIMULATION TIME, seconds) &lt; if{ 0 (&gt;K:WINDSHIELD_DEICE_SET) 0 (&gt;O:DEICE_Windshield_Disable_Time) } } </COMP_UPDATE_CODE> </Case> </Switch> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

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

      Condition: Switch(INTERACTION_TYPE)

      • Case: Push

        Parameters set:

        • VAR_NAME (using ID)
        • VAR_SCOPE
        • IS_AIRLINER
      • Case: Switch

        Parameters set:

        • SWITCH_POSITION_TYPE
        • SWITCH_POSITION_VAR (using ID)

      Condition: Switch(TYPE)

      • Case: NORM_OFF_HIGH

        Parameters set:

        • POS_NORM
        • POS_OFF
        • POS_HIGH
      • Case: AIRFRAME_REST_WINDSHIELD

        Parameters set:

        • POS_AIRFRAME
        • POS_REST
        • POS_WINDSHIELD
      • Case: AS04F

        Parameters set:

        • POS_ICE
        • POS_OFF
        • POS_RAIN
      • Case: AIRBUS

        Parameters set:

        • SEQ1_EMISSIVE_CODE
        • SEQ2_EMISSIVE_CODE (using ID)
        • SEQ2_CODE_DRIVES_DOWN_STATE
      • Case: BOEING

        Parameters set:

        • SEQ1_EMISSIVE_CODE (using ID)
        • SEQ2_EMISSIVE_CODE
    • Override

      Condition: Switch(TYPE)

      • Case: AIRBUS

        Parameters set:

        • SIMVAR_TO_WATCH_0
        • SIMVAR_TO_WATCH_1
        • STR_STATE_OFF
        • STR_STATE_ON
        • TT_VALUE_OFF
        • TT_VALUE_ON
        • SET_STATE_EXTERNAL
        • GET_STATE_EXTERNAL
      • Case: AIRFRAME_REST_WINDSHIELD

        Parameters set:

        • NUM_STATES
        • SET_STATE_#POS_AIRFRAME# (using POS_AIRFRAME)
        • SET_STATE_#POS_REST# (using POS_WINDSHIELD, POS_REST)
        • SET_STATE_#POS_WINDSHIELD# (using POS_WINDSHIELD)
        • STR_STATE_#POS_AIRFRAME#
        • STR_STATE_#POS_REST#
        • STR_STATE_#POS_WINDSHIELD#
        • TT_VALUE_#POS_AIRFRAME#
        • TT_VALUE_#POS_REST#
        • TT_VALUE_#POS_WINDSHIELD#
        • GET_STATE_EXTERNAL
        • ENUM_VAL_TO_POS_EXTERNAL
        • MOMENTARY_SWITCH
        • STATE0_TIMER
        • STATE_MAX_TIMER
        • TT_DESCRIPTION_ID
        • TOOLTIP_TITLE
      • Case: NORM_OFF_HIGH

        Parameters set:

        • NUM_STATES
        • SET_STATE_#POS_NORM# (using POS_NORM, ID)
        • SET_STATE_#POS_OFF# (using POS_OFF, ID)
        • SET_STATE_#POS_HIGH# (using POS_HIGH, ID)
        • STR_STATE_#POS_NORM#
        • STR_STATE_#POS_OFF#
        • STR_STATE_#POS_HIGH#
        • TT_VALUE_#POS_NORM#
        • TT_VALUE_#POS_OFF#
        • TT_VALUE_#POS_HIGH#
        • GET_STATE_EXTERNAL (using ID)
        • ENUM_VAL_TO_POS_EXTERNAL
      • Case: AS04F

        Parameters set:

        • SIMVAR_TO_WATCH_0
        • NUM_STATES
        • SET_STATE_#POS_ICE#
        • SET_STATE_#POS_OFF#
        • SET_STATE_#POS_RAIN#
        • STR_STATE_#POS_ICE#
        • STR_STATE_#POS_OFF#
        • STR_STATE_#POS_RAIN#
        • TT_VALUE_#POS_ICE#
        • TT_VALUE_#POS_OFF#
        • TT_VALUE_#POS_RAIN#
        • GET_STATE_EXTERNAL (using ID)
        • ENUM_VAL_TO_POS_EXTERNAL (using POS_RAIN, POS_OFF, POS_ICE)
      • Default case:

        Parameters set:

        • SIMVAR_TO_WATCH_0
        • SET_STATE_EXTERNAL
        • GET_STATE_EXTERNAL

    Templates used:

    • ASOBO_DEICE_Base_Template

      Parameters set:

      • IE_NAME (using ID)

      Condition: Switch(TYPE)

      • Case: AIRBUS

        Parameters set:

        • COMP_UPDATE_CODE (using WINDSHIELD_ID)
      • Case: NORM_OFF_HIGH

        Parameters set:

        • COMP_INIT_CODE (using ID)

        Condition: Check(ID)

        • Case: True

          Parameters set:

          • COMP_UPDATE_CODE (using POS_OFF)
      • Case: AIRFRAME_REST_WINDSHIELD

        Parameters set:

        • COMP_INIT_CODE (using ID)
        • COMP_UPDATE_CODE (using POS_WINDSHIELD)
  • ASOBO_DEICE_Pitot_Template

    Definition from XML
    <Template Name="ASOBO_DEICE_Pitot_Template"> <Parameters Type="Default"> <PART_ID>DEICE_Switch_PitotHeat</PART_ID> </Parameters> <Parameters Type="Default"> <Condition Check="NUM_PITOTS" Value="2"> <True> <NODE_ID_LEFT_PITOT>DEICE_#INTERACTION_TYPE#_Pitot_1</NODE_ID_LEFT_PITOT> <NODE_ID_RIGHT_PITOT>DEICE_#INTERACTION_TYPE#_Pitot_2</NODE_ID_RIGHT_PITOT> <PART_ID_LEFT_PITOT>#PART_ID#</PART_ID_LEFT_PITOT> <ANIM_NAME_LEFT_PITOT>DEICE_#INTERACTION_TYPE#_Pitot_1</ANIM_NAME_LEFT_PITOT> <ANIM_NAME_RIGHT_PITOT>DEICE_#INTERACTION_TYPE#_Pitot_2</ANIM_NAME_RIGHT_PITOT> <PART_ID_RIGHT_PITOT>#PART_ID#</PART_ID_RIGHT_PITOT> <WWISE_EVENT_1>deice_pitot_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>deice_pitot_switch_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="SEPARATED_PUSH_RELEASE"> <NODE_ID_LEFT_PITOT_RELEASE>DEICE_#INTERACTION_TYPE#_Pitot_Release_1</NODE_ID_LEFT_PITOT_RELEASE> <ANIM_NAME_LEFT_PITOT_RELEASE>DEICE_#INTERACTION_TYPE#_Pitot_Release_1</ANIM_NAME_LEFT_PITOT_RELEASE> <PART_ID_LEFT_PITOT_RELEASE>#PART_ID#</PART_ID_LEFT_PITOT_RELEASE> <NODE_ID_RIGHT_PITOT_RELEASE>DEICE_#INTERACTION_TYPE#_Pitot_Release_2</NODE_ID_RIGHT_PITOT_RELEASE> <ANIM_NAME_RIGHT_PITOT_RELEASE>DEICE_#INTERACTION_TYPE#_Pitot_Release_2</ANIM_NAME_RIGHT_PITOT_RELEASE> <PART_ID_RIGHT_PITOT_RELEASE>#PART_ID#</PART_ID_RIGHT_PITOT_RELEASE> <TT_INDEX_LEFT>(R:1:@TT_Package.GT_STATE_MAIN)</TT_INDEX_LEFT> <TT_INDEX_RIGHT>(R:1:@TT_Package.GT_STATE_STANDBY)</TT_INDEX_RIGHT> </Case> </Switch> </True> <False> <ID>1</ID> <Switch Param="INTERACTION_TYPE"> <Case Value="PUSH"> <ANIM_NAME>DEICE_Push_Pitot</ANIM_NAME> <NODE_ID>DEICE_Push_Pitot</NODE_ID> <Switch Param="TYPE"> <Case Value="AS02A"> <ANIM_NAME>DEICE_Switch_Pitot_#ID#</ANIM_NAME> <NODE_ID>DEICE_Switch_Pitot_#ID#</NODE_ID> <SEQ1_EMISSIVE_CODE>0</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:CIRCUIT PITOT HEAT ON:#ID#, Bool) !</SEQ2_EMISSIVE_CODE> </Case> <Default> <SEQ1_EMISSIVE_CODE>(A:PITOT HEAT, Bool)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(A:PITOT HEAT, Bool) !</SEQ2_EMISSIVE_CODE> </Default> </Switch> </Case> <Case Value="SWITCH"> <ANIM_NAME>DEICE_Switch_PitotHeat</ANIM_NAME> <NODE_ID>DEICE_Switch_PitotHeat</NODE_ID> </Case> </Switch> <WWISE_EVENT_1>pitot_heat_switch_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <WWISE_EVENT_2>pitot_heat_switch_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> </False> </Condition> </Parameters> <Condition Check="NUM_PITOTS" Value="2"> <True> <Component ID="DEICE_Switch_Pitots"> <UseTemplate Name="ASOBO_DEICE_Pitot_Template2"> <ID>1</ID> <NODE_ID>#NODE_ID_LEFT_PITOT#</NODE_ID> <ANIM_NAME>#ANIM_NAME_LEFT_PITOT#</ANIM_NAME> <PART_ID>#PART_ID_LEFT_PITOT#</PART_ID> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <NODE_ID_RELEASE>#NODE_ID_LEFT_PITOT_RELEASE#</NODE_ID_RELEASE> <ANIM_NAME_RELEASE>#ANIM_NAME_LEFT_PITOT_RELEASE#</ANIM_NAME_RELEASE> <PART_ID_RELEASE>#PART_ID_LEFT_PITOT_RELEASE#</PART_ID_RELEASE> <TT_INDEX>#TT_INDEX_LEFT#</TT_INDEX> </Case> </Switch> </UseTemplate> <UseTemplate Name="ASOBO_DEICE_Pitot_Template2"> <ID>2</ID> <NODE_ID>#NODE_ID_RIGHT_PITOT#</NODE_ID> <ANIM_NAME>#ANIM_NAME_RIGHT_PITOT#</ANIM_NAME> <PART_ID>#PART_ID_RIGHT_PITOT#</PART_ID> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <NODE_ID_RELEASE>#NODE_ID_RIGHT_PITOT_RELEASE#</NODE_ID_RELEASE> <ANIM_NAME_RELEASE>#ANIM_NAME_RIGHT_PITOT_RELEASE#</ANIM_NAME_RELEASE> <PART_ID_RELEASE>#PART_ID_RIGHT_PITOT_RELEASE#</PART_ID_RELEASE> <TT_INDEX>#TT_INDEX_RIGHT#</TT_INDEX> </Case> </Switch> </UseTemplate> </Component> </True> <False> <UseTemplate Name="ASOBO_DEICE_Pitot_Template2"/> </False> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • PART_ID
    • Default

      Condition: Check(NUM_PITOTS)

      • Case: True

        Parameters set:

        • NODE_ID_LEFT_PITOT (using INTERACTION_TYPE)
        • NODE_ID_RIGHT_PITOT (using INTERACTION_TYPE)
        • PART_ID_LEFT_PITOT (using PART_ID)
        • ANIM_NAME_LEFT_PITOT (using INTERACTION_TYPE)
        • ANIM_NAME_RIGHT_PITOT (using INTERACTION_TYPE)
        • PART_ID_RIGHT_PITOT (using PART_ID)
        • WWISE_EVENT_1
        • WWISE_EVENT_2
        • NORMALIZED_TIME_1
        • NORMALIZED_TIME_2

        Condition: Switch(TYPE)

        • Case: SEPARATED_PUSH_RELEASE

          Parameters set:

          • NODE_ID_LEFT_PITOT_RELEASE (using INTERACTION_TYPE)
          • ANIM_NAME_LEFT_PITOT_RELEASE (using INTERACTION_TYPE)
          • PART_ID_LEFT_PITOT_RELEASE (using PART_ID)
          • NODE_ID_RIGHT_PITOT_RELEASE (using INTERACTION_TYPE)
          • ANIM_NAME_RIGHT_PITOT_RELEASE (using INTERACTION_TYPE)
          • PART_ID_RIGHT_PITOT_RELEASE (using PART_ID)
          • TT_INDEX_LEFT
          • TT_INDEX_RIGHT
      • Case: False

        Parameters set:

        • ID
        • WWISE_EVENT_1
        • NORMALIZED_TIME_1
        • WWISE_EVENT_2
        • NORMALIZED_TIME_2

        Condition: Switch(INTERACTION_TYPE)

        • Case: PUSH

          Parameters set:

          • ANIM_NAME
          • NODE_ID

          Condition: Switch(TYPE)

          • Case: AS02A

            Parameters set:

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

            Parameters set:

            • SEQ1_EMISSIVE_CODE
            • SEQ2_EMISSIVE_CODE
        • Case: SWITCH

          Parameters set:

          • ANIM_NAME
          • NODE_ID

    Condition: Check(NUM_PITOTS)

    • Case: True

      Components:

      • DEICE_Switch_Pitots

        Templates used:

        • ASOBO_DEICE_Pitot_Template2

          Parameters set:

          • ID
          • NODE_ID (using NODE_ID_LEFT_PITOT)
          • ANIM_NAME (using ANIM_NAME_LEFT_PITOT)
          • PART_ID (using PART_ID_LEFT_PITOT)

          Condition: Switch(TYPE)

          • Case: SEPARATED_PUSH_RELEASE

            Parameters set:

            • NODE_ID_RELEASE (using NODE_ID_LEFT_PITOT_RELEASE)
            • ANIM_NAME_RELEASE (using ANIM_NAME_LEFT_PITOT_RELEASE)
            • PART_ID_RELEASE (using PART_ID_LEFT_PITOT_RELEASE)
            • TT_INDEX (using TT_INDEX_LEFT)
        • ASOBO_DEICE_Pitot_Template2

          Parameters set:

          • ID
          • NODE_ID (using NODE_ID_RIGHT_PITOT)
          • ANIM_NAME (using ANIM_NAME_RIGHT_PITOT)
          • PART_ID (using PART_ID_RIGHT_PITOT)

          Condition: Switch(TYPE)

          • Case: SEPARATED_PUSH_RELEASE

            Parameters set:

            • NODE_ID_RELEASE (using NODE_ID_RIGHT_PITOT_RELEASE)
            • ANIM_NAME_RELEASE (using ANIM_NAME_RIGHT_PITOT_RELEASE)
            • PART_ID_RELEASE (using PART_ID_RIGHT_PITOT_RELEASE)
            • TT_INDEX (using TT_INDEX_RIGHT)
    • Case: False

      Templates used:

  • ASOBO_DEICE_Pitot_Template2

    Definition from XML
    <Template Name="ASOBO_DEICE_Pitot_Template2"> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <USE_GIE>True</USE_GIE> <NODE_ID_RELEASE>#NODE_ID_RIGHT_PITOT_RELEASE#</NODE_ID_RELEASE> <ANIM_NAME_RELEASE>#ANIM_NAME_RIGHT_PITOT_RELEASE#</ANIM_NAME_RELEASE> <CHECK_STATE_HAS_CHANGED>True</CHECK_STATE_HAS_CHANGED> <TT_INDEX>(R:1:@TT_Package.GT_STATE_MAIN)</TT_INDEX> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_PITOTHEAT_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_INDEX_PUSH>#TT_INDEX#</TT_DESCRIPTION_INDEX_PUSH> <TT_DESCRIPTION_INDEX_RELEASE>#TT_INDEX#</TT_DESCRIPTION_INDEX_RELEASE> <TT_DESCRIPTION_ID_PUSH>@TT_Package.DEICE_PITOT_HEAT_ACTION_PUSH</TT_DESCRIPTION_ID_PUSH> <TT_DESCRIPTION_ID_RELEASE>@TT_Package.DEICE_PITOT_HEAT_ACTION_RELEASE</TT_DESCRIPTION_ID_RELEASE> </Case> <Default> <Switch param="INTERACTION_TYPE"> <Case Value="PUSH"> <SEQ1_EMISSIVE_CODE>(B:DEICE_Pitot_#ID#)</SEQ1_EMISSIVE_CODE> <SEQ2_EMISSIVE_CODE>(B:DEICE_Pitot_#ID#) !</SEQ2_EMISSIVE_CODE> </Case> <Case Value="SWITCH"> <ANIM_CODE>(B:DEICE_Pitot_#ID#) 100 *</ANIM_CODE> </Case> </Switch> <LEFT_SINGLE_CODE>(&gt;B:DEICE_Pitot_#ID#_Toggle)</LEFT_SINGLE_CODE> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_PITOTHEAT_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>DEICE_Pitot_#ID#</TOOLTIP_ENTRY_0> <PITOT_ID>#ID#</PITOT_ID> </Default> </Switch> </Parameters> <Parameters Type="Override"> <Condition Valid="USE_GIE"> <False> <Switch Param="TYPE"> <Case Value="AS04F"> <AS04F_UPDATE_CODE> (O:XMLVAR_PitotHeat_#ID#_State) if{ (A:PITOT HEAT SWITCH, Bool) ! if{ #ID# (&gt;K:PITOT_HEAT_TOGGLE) } } els{ (A:SIM ON GROUND, Bool) (A:PITOT HEAT SWITCH, Bool) ! != if{ #ID# (&gt;K:PITOT_HEAT_TOGGLE) } } </AS04F_UPDATE_CODE> </Case> </Switch> </False> </Condition> </Parameters> <Condition Valid="USE_GIE"> <True> <Switch Param="TYPE"> <Case Value="SEPARATED_PUSH_RELEASE"> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <IE_NAME>Pitot_#ID#</IE_NAME> <SET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) ! if{ #ID# 1 (&gt;K:2:PITOT_HEAT_SET) }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>PITOT HEAT SWITCH:#ID#</SIMVAR_TO_WATCH_0> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_PUSH#</TT_DESCRIPTION_ID> <Condition NotEmpty="TT_DESCRIPTION_INDEX_PUSH"> <TT_DESCRIPTION_INDEX>#TT_DESCRIPTION_INDEX_PUSH#</TT_DESCRIPTION_INDEX> </Condition> </UseTemplate> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <IE_NAME>Pitot_#ID#_Release_Button</IE_NAME> <NODE_ID>#NODE_ID_RELEASE#</NODE_ID> <ANIM_NAME>#ANIM_NAME_RELEASE#</ANIM_NAME> <PART_ID>#PART_ID_RELEASE#</PART_ID> <INTERACTION_TYPE>Push</INTERACTION_TYPE> <SET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) if{ #ID# 0 (&gt;K:2:PITOT_HEAT_SET) }</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>PITOT HEAT SWITCH:#ID#</SIMVAR_TO_WATCH_0> <TT_DESCRIPTION_ID>#TT_DESCRIPTION_ID_RELEASE#</TT_DESCRIPTION_ID> <Condition NotEmpty="TT_DESCRIPTION_INDEX_RELEASE"> <TT_DESCRIPTION_INDEX>#TT_DESCRIPTION_INDEX_RELEASE#</TT_DESCRIPTION_INDEX> </Condition> </UseTemplate> </Case> <Default> <UseTemplate Name="ASOBO_DEICE_Base_Template"> <SET_STATE_EXTERNAL>#ID# p0 (&gt;K:2:PITOT_HEAT_SET)</SET_STATE_EXTERNAL> <GET_STATE_EXTERNAL>(A:PITOT HEAT SWITCH:#ID#, Bool) sp0</GET_STATE_EXTERNAL> <SIMVAR_TO_WATCH_0>PITOT HEAT SWITCH:#ID#</SIMVAR_TO_WATCH_0> </UseTemplate> </Default> </Switch> </True> <False> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#PITOT_ID# (A:PITOT HEAT SWITCH:1, Bool) (&gt;K:2:PITOT_HEAT_SET)</UPDATE_CODE> </UseTemplate> <Switch param="INTERACTION_TYPE"> <Case Value="PUSH"> <UseTemplate Name="ASOBO_GT_Push_Button_Airliner"> <INPUT_EVENT_ID>DEICE</INPUT_EVENT_ID> </UseTemplate> </Case> <Case Value="SWITCH"> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <UseInputEvent ID="DEICE"/> <Switch Param="TYPE"> <Case Value="AS04F"> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>1</FREQUENCY> <UPDATE_CODE>#AS04F_UPDATE_CODE#</UPDATE_CODE> </UseTemplate> </Case> </Switch> <UseTemplate Name="ASOBO_GT_Switch_Code"/> </Component> </Case> </Switch> </False> </Condition> </Template>

    Parameters initialization:

    • Default

      Condition: Switch(TYPE)

      • Case: SEPARATED_PUSH_RELEASE

        Parameters set:

        • USE_GIE
        • NODE_ID_RELEASE (using NODE_ID_RIGHT_PITOT_RELEASE)
        • ANIM_NAME_RELEASE (using ANIM_NAME_RIGHT_PITOT_RELEASE)
        • CHECK_STATE_HAS_CHANGED
        • TT_INDEX
    • Default

      Condition: Switch(TYPE)

      • Case: SEPARATED_PUSH_RELEASE

        Parameters set:

        • TOOLTIP_TITLE
        • TT_DESCRIPTION_INDEX_PUSH (using TT_INDEX)
        • TT_DESCRIPTION_INDEX_RELEASE (using TT_INDEX)
        • TT_DESCRIPTION_ID_PUSH
        • TT_DESCRIPTION_ID_RELEASE
      • Default case:

        Parameters set:

        • LEFT_SINGLE_CODE (using ID)
        • TOOLTIP_TITLE
        • TOOLTIP_ENTRY_0 (using ID)
        • PITOT_ID (using ID)

        Condition: Switch(INTERACTION_TYPE)

        • Case: PUSH

          Parameters set:

          • SEQ1_EMISSIVE_CODE (using ID)
          • SEQ2_EMISSIVE_CODE (using ID)
        • Case: SWITCH

          Parameters set:

          • ANIM_CODE (using ID)
    • Override

      Condition: Valid(USE_GIE)

      • Case: False

        Condition: Switch(TYPE)

        • Case: AS04F

          Parameters set:

          • AS04F_UPDATE_CODE (using ID)

    Condition: Valid(USE_GIE)

    • Case: True

      Condition: Switch(TYPE)

      • Case: SEPARATED_PUSH_RELEASE

        Templates used:

        • ASOBO_DEICE_Base_Template

          Parameters set:

          • IE_NAME (using ID)
          • SET_STATE_EXTERNAL (using ID)
          • GET_STATE_EXTERNAL (using ID)
          • SIMVAR_TO_WATCH_0 (using ID)
          • TT_DESCRIPTION_ID (using TT_DESCRIPTION_ID_PUSH)

          Condition: NotEmpty(TT_DESCRIPTION_INDEX_PUSH)

          • Case: True

            Parameters set:

            • TT_DESCRIPTION_INDEX (using TT_DESCRIPTION_INDEX_PUSH)
        • ASOBO_DEICE_Base_Template

          Parameters set:

          • IE_NAME (using ID)
          • NODE_ID (using NODE_ID_RELEASE)
          • ANIM_NAME (using ANIM_NAME_RELEASE)
          • PART_ID (using PART_ID_RELEASE)
          • INTERACTION_TYPE
          • SET_STATE_EXTERNAL (using ID)
          • GET_STATE_EXTERNAL (using ID)
          • SIMVAR_TO_WATCH_0 (using ID)
          • TT_DESCRIPTION_ID (using TT_DESCRIPTION_ID_RELEASE)

          Condition: NotEmpty(TT_DESCRIPTION_INDEX_RELEASE)

          • Case: True

            Parameters set:

            • TT_DESCRIPTION_INDEX (using TT_DESCRIPTION_INDEX_RELEASE)
      • Default case:

        Templates used:

        • ASOBO_DEICE_Base_Template

          Parameters set:

          • SET_STATE_EXTERNAL (using ID)
          • GET_STATE_EXTERNAL (using ID)
          • SIMVAR_TO_WATCH_0 (using ID)
    • Case: False

      Templates used:

      Condition: Switch(INTERACTION_TYPE)

      • Case: PUSH

        Templates used:

      • Case: SWITCH

        Parameters read:

        • NODE_ID

        Components:

        • #NODE_ID# (Node: #NODE_ID#)

          Templates used:

          Condition: Switch(TYPE)

          • Case: AS04F

            Templates used:

            • ASOBO_GT_Update

              Parameters set:

              • FREQUENCY
              • UPDATE_CODE (using AS04F_UPDATE_CODE)
  • ASOBO_DEICE_Panel_SubTemplate

    Definition from XML
    <Template Name="ASOBO_DEICE_Panel_SubTemplate"> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="DA62"> <NODE_ID_WINGS_ICELIGHT>DEICE_Switch_Airframe</NODE_ID_WINGS_ICELIGHT> <ANIM_NAME_WINGS_ICELIGHT>DEICE_Switch_Airframe</ANIM_NAME_WINGS_ICELIGHT> <NODE_ID_WINDSHIELD>DEICE_Switch_Windshield</NODE_ID_WINDSHIELD> <ANIM_NAME_WINDSHIELD>DEICE_Switch_Windshield</ANIM_NAME_WINDSHIELD> <NODE_ID_PUMP>DEICE_Switch_Pump</NODE_ID_PUMP> <ANIM_NAME_PUMP>DEICE_Switch_Pump</ANIM_NAME_PUMP> <NODE_ID_ALTERNATE>DEICE_switch_alternate</NODE_ID_ALTERNATE> <ANIM_NAME_ALTERNATE>DEICE_switch_alternate</ANIM_NAME_ALTERNATE> <NODE_ID_ALTERNATE_COVER>DEICE_Cover_switch_alternate</NODE_ID_ALTERNATE_COVER> <ANIM_NAME_ALTERNATE_COVER>DEICE_Cover_switch_alternate</ANIM_NAME_ALTERNATE_COVER> <NODE_ID_MAX>DEICE_Push_max_momentary</NODE_ID_MAX> <ANIM_NAME_MAX>DEICE_Push_max_momentary</ANIM_NAME_MAX> <NODE_ID_WINGLIGHT_ANNUN_TEST>DEICE_Switch_WingLight_AnnunTest</NODE_ID_WINGLIGHT_ANNUN_TEST> <ANIM_NAME_WINGLIGHT_ANNUN_TEST>DEICE_Switch_WingLight_AnnunTest</ANIM_NAME_WINGLIGHT_ANNUN_TEST> <NODE_ID_LIGHT_NORM>light_deice_03</NODE_ID_LIGHT_NORM> <NODE_ID_LIGHT_HIGH>light_deice_02</NODE_ID_LIGHT_HIGH> <NODE_ID_LIGHT_MAX>light_deice_01</NODE_ID_LIGHT_MAX> <INPUT_EVENT_ID_SOURCE>DEICE_Panel</INPUT_EVENT_ID_SOURCE> <USE_INPUT_EVENT_ID>DEICE</USE_INPUT_EVENT_ID> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="DA62"> <BTN_ID_WINGS_ICELIGHT>Wings_Ice_Light</BTN_ID_WINGS_ICELIGHT> <BTN_ID_WINDSHIELD>Windshield</BTN_ID_WINDSHIELD> <BTN_ID_PUMP>Pump</BTN_ID_PUMP> <BTN_ID_ALTERNATE>Alternate</BTN_ID_ALTERNATE> <BTN_ID_MAX>Max</BTN_ID_MAX> <BTN_ID_WINGLIGHT_ANNUN_TEST>Wing_Light_Annun_Test</BTN_ID_WINGLIGHT_ANNUN_TEST> </Case> </Switch> </Parameters> <Switch Param="TYPE"> <Case Value="DA62"> <Component ID="#NODE_ID_WINGS_ICELIGHT#" Node="#NODE_ID_WINGS_ICELIGHT#"> <Parameters Type="Override"> <POS_HIGH>0</POS_HIGH> <POS_NORM>1</POS_NORM> <POS_OFF>2</POS_OFF> <NUM_STATES>3</NUM_STATES> <BTN_ID>#BTN_ID_WINGS_ICELIGHT#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.SWITCH_DEICE_MODE_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.SWITCH_DEICE_MODE_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <GET_STATE_EXTERNAL>(O:XMLVAR_IceLightState) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> <SET_STATE_#POS_HIGH#>(&gt;K:ANTI_ICE_ON) (&gt;K:WINDSHIELD_DEICE_ON) #POS_HIGH# (&gt;O:XMLVAR_IceLightState)</SET_STATE_#POS_HIGH#> <SET_STATE_#POS_NORM#>(&gt;K:ANTI_ICE_ON) (&gt;K:WINDSHIELD_DEICE_ON) #POS_NORM# (&gt;O:XMLVAR_IceLightState)</SET_STATE_#POS_NORM#> <SET_STATE_#POS_OFF#> (B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_ALTERNATE#, Bool) if{ (&gt;K:ANTI_ICE_OFF) } (B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_PUMP#, Bool) if{ (&gt;K:WINDSHIELD_DEICE_OFF) } #POS_OFF# (&gt;O:XMLVAR_IceLightState) </SET_STATE_#POS_OFF#> <STR_STATE_#POS_HIGH#>High</STR_STATE_#POS_HIGH#> <STR_STATE_#POS_NORM#>Norm</STR_STATE_#POS_NORM#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <TT_VALUE_#POS_HIGH#>@TT_Package.GT_STATE_HIGH</TT_VALUE_#POS_HIGH#> <TT_VALUE_#POS_NORM#>@TT_Package.GT_STATE_NORMAL</TT_VALUE_#POS_NORM#> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <SIMVAR_TO_WATCH_0>ENG ANTI ICE:1</SIMVAR_TO_WATCH_0> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>(A:ENG ANTI ICE:1, Bool) if{ (&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Norm) } els{ (&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off) }</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_3States"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_WINGS_ICELIGHT#</ANIM_NAME> <CODE_POS_#POS_HIGH#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_High)</CODE_POS_#POS_HIGH#> <CODE_POS_#POS_NORM#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Norm)</CODE_POS_#POS_NORM#> <CODE_POS_#POS_OFF#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</CODE_POS_#POS_OFF#> <STATE#POS_HIGH#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_HIGH# ==</STATE#POS_HIGH#_TEST> <STATE#POS_NORM#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_NORM# ==</STATE#POS_NORM#_TEST> <STATE#POS_OFF#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_OFF# ==</STATE#POS_OFF#_TEST> </UseTemplate> </Component> <Component ID="#NODE_ID_WINDSHIELD#" Node="#NODE_ID_WINDSHIELD#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_WINDSHIELD#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_WINDSHIELD_DA62TITLE_DA62</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_WINDSHIELD_DA62ACTION_DA62</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <SET_STATE_ON>(A:WINDSHIELD DEICE SWITCH, Bool) ! if{ (&gt;K:WINDSHIELD_DEICE_ON) (E:ABSOLUTE TIME, second) 5 + (&gt;O:XMLVAR_Timer_Timeout) }</SET_STATE_ON> <SET_STATE_OFF>(A:WINDSHIELD DEICE SWITCH, Bool) if{ (&gt;K:WINDSHIELD_DEICE_OFF) 0 (&gt;O:XMLVAR_Timer_Timeout) }</SET_STATE_OFF> <GET_STATE_EXTERNAL>(A:WINDSHIELD DEICE SWITCH, Bool) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>5</FREQUENCY> <UPDATE_CODE>(O:XMLVAR_Timer_Timeout) 0 &gt; if{ (E:ABSOLUTE TIME, second) (O:XMLVAR_Timer_Timeout) &gt; if{ (&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off) } }</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_Code"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_WINDSHIELD#</ANIM_NAME> <WWISE_EVENT_1>deice_windshield_switch_on</WWISE_EVENT_1> <WWISE_EVENT_2>deice_windshield_switch_off</WWISE_EVENT_2> <LEFT_SINGLE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(O:XMLVAR_Timer_Timeout) 0 &gt; 100 *</ANIM_CODE> </UseTemplate> </Component> <Component ID="#NODE_ID_PUMP#" Node="#NODE_ID_PUMP#"> <Parameters Type="Override"> <POS_PUMP_1>0</POS_PUMP_1> <POS_OFF>1</POS_OFF> <POS_PUMP_2>2</POS_PUMP_2> <NUM_STATES>3</NUM_STATES> <BTN_ID>#BTN_ID_PUMP#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_PUMP_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_PUMP_ACTION_SET</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <GET_STATE_EXTERNAL>(L:XMLVAR_DEICE_Pump) sp0</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL> l0 0 == if{ #POS_OFF# sp1 g2 } l0 1 == if{ #POS_PUMP_1# sp1 g2 } l0 2 == if{ #POS_PUMP_2# sp1 g2 } :2 l1 </ENUM_VAL_TO_POS_EXTERNAL> <SET_STATE_#POS_PUMP_1#>1 (&gt;L:XMLVAR_DEICE_Pump)</SET_STATE_#POS_PUMP_1#> <SET_STATE_#POS_OFF#>0 (&gt;L:XMLVAR_DEICE_Pump)</SET_STATE_#POS_OFF#> <SET_STATE_#POS_PUMP_2#>2 (&gt;L:XMLVAR_DEICE_Pump)</SET_STATE_#POS_PUMP_2#> <STR_STATE_#POS_PUMP_1#>Pump_1</STR_STATE_#POS_PUMP_1#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_PUMP_2#>Pump_2</STR_STATE_#POS_PUMP_2#> <TT_VALUE_#POS_PUMP_1#>1 (R:1:@TT_Package.GT_STATE_PUMP_ID) @sprintf</TT_VALUE_#POS_PUMP_1#> <TT_VALUE_#POS_PUMP_1#_IS_DYNAMIC>True</TT_VALUE_#POS_PUMP_1#_IS_DYNAMIC> <TT_VALUE_#POS_OFF#>@TT_Package.GT_STATE_OFF</TT_VALUE_#POS_OFF#> <TT_VALUE_#POS_PUMP_2#>2 (R:1:@TT_Package.GT_STATE_PUMP_ID) @sprintf</TT_VALUE_#POS_PUMP_2#> <TT_VALUE_#POS_PUMP_2#_IS_DYNAMIC>True</TT_VALUE_#POS_PUMP_2#_IS_DYNAMIC> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_3States"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_PUMP#</ANIM_NAME> <CODE_POS_#POS_PUMP_1#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Pump_1)</CODE_POS_#POS_PUMP_1#> <CODE_POS_#POS_OFF#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</CODE_POS_#POS_OFF#> <CODE_POS_#POS_PUMP_2#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Pump_2)</CODE_POS_#POS_PUMP_2#> <STATE#POS_PUMP_1#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_PUMP_1# ==</STATE#POS_PUMP_1#_TEST> <STATE#POS_OFF#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_OFF# ==</STATE#POS_OFF#_TEST> <STATE#POS_PUMP_2#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_PUMP_2# ==</STATE#POS_PUMP_2#_TEST> </UseTemplate> </Component> <Component ID="#NODE_ID_ALTERNATE#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_ALTERNATE#</BTN_ID> <POS_OFF>2</POS_OFF> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_ALTERNATOR_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_ALTERNATOR_ACTION_SET</TT_DESCRIPTION_ID> </Parameters> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_On)</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_Covered"> <SWITCH_NODE_ID>#NODE_ID_ALTERNATE#</SWITCH_NODE_ID> <SWITCH_ANIM_NAME>#ANIM_NAME_ALTERNATE#</SWITCH_ANIM_NAME> <COVER_NODE_ID>#NODE_ID_ALTERNATE_COVER#</COVER_NODE_ID> <COVER_ANIM_NAME>#ANIM_NAME_ALTERNATE_COVER#</COVER_ANIM_NAME> <COVER_IE_NAME>#BTN_ID#_Cover</COVER_IE_NAME> <COVER_VAR_NAME>XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Cover_Opened</COVER_VAR_NAME> <COVER_VAR_TYPE>O</COVER_VAR_TYPE> <INPUT_EVENT_ID>#USE_INPUT_EVENT_ID#</INPUT_EVENT_ID> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <COVER_IE_ID_SOURCE>#INPUT_EVENT_ID_SOURCE#</COVER_IE_ID_SOURCE> <TOGGLE_STATE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Toggle)</TOGGLE_STATE> <SWITCH_ANIM_CODE>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#, Bool) 100 *</SWITCH_ANIM_CODE> <SET_STATE_ON>1 (&gt;O:XMLVAR_DEICE_Alternate_Disabled) (B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_WINGS_ICELIGHT#) #POS_OFF# == if{ (&gt;K:ANTI_ICE_OFF) }</SET_STATE_ON> <SET_STATE_OFF>0 (&gt;O:XMLVAR_DEICE_Alternate_Disabled) (&gt;K:ANTI_ICE_ON)</SET_STATE_OFF> <GET_STATE_EXTERNAL>(O:XMLVAR_DEICE_Alternate_Disabled) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> </UseTemplate> </Component> <Component ID="#NODE_ID_MAX#" Node="#NODE_ID_MAX#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_MAX#</BTN_ID> <TOOLTIP_TITLE>@TT_Package.DEICE_PUSH_MAX_MOMENTARY_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_PUSH_MAX_MOMENTARY_ACTION</TT_DESCRIPTION_ID> </Parameters> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <SET_STATE_ON>(O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) ! if{ 1 (&gt;O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) (E:ABSOLUTE TIME, second) 120 + (&gt;O:XMLVAR_Timer_Timeout) }</SET_STATE_ON> <SET_STATE_OFF>(O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) if{ 0 (&gt;O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) 0 (&gt;O:XMLVAR_Timer_Timeout) }</SET_STATE_OFF> <GET_STATE_EXTERNAL>(O:XMLVAR_#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Active) sp0</GET_STATE_EXTERNAL> <SIM_STATE_IS_ON_EXTERNAL>l0</SIM_STATE_IS_ON_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Update"> <FREQUENCY>5</FREQUENCY> <UPDATE_CODE>(O:XMLVAR_Timer_Timeout) 0 &gt; if{ (E:ABSOLUTE TIME, second) (O:XMLVAR_Timer_Timeout) &gt; if{ (&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off) } }</UPDATE_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Switch_Code"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_MAX#</ANIM_NAME> <WWISE_EVENT_1>deice_max_momentary_push_off</WWISE_EVENT_1> <WWISE_EVENT_2>deice_max_momentary_push_on</WWISE_EVENT_2> <LEFT_SINGLE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Toggle)</LEFT_SINGLE_CODE> <ANIM_CODE>(O:XMLVAR_Timer_Timeout) 0 &gt; 100 *</ANIM_CODE> </UseTemplate> </Component> <Component ID="#NODE_ID_WINGLIGHT_ANNUN_TEST#" Node="#NODE_ID_WINGLIGHT_ANNUN_TEST#"> <Parameters Type="Override"> <BTN_ID>#BTN_ID_WINGLIGHT_ANNUN_TEST#</BTN_ID> <POS_ON>0</POS_ON> <POS_OFF>1</POS_OFF> <POS_TEST>2</POS_TEST> <TOOLTIP_TITLE>@TT_Package.DEICE_SWITCH_WINGLIGHT_ANNUTEST_TITLE</TOOLTIP_TITLE> <TT_DESCRIPTION_ID>@TT_Package.DEICE_SWITCH_WINGLIGHT_ANNUTEST_ACTION_SET</TT_DESCRIPTION_ID> <NUM_STATES>3</NUM_STATES> </Parameters> <UseTemplate Name="ASOBO_GT_Update"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</UPDATE_CODE> </UseTemplate> <UseInputEvent ID="#USE_INPUT_EVENT_ID#"> <GET_STATE_EXTERNAL>(A:LIGHT WING, bool) sp0 (L:XMLVAR_LTS_Test) sp1</GET_STATE_EXTERNAL> <ENUM_VAL_TO_POS_EXTERNAL> #POS_OFF# sp2 l0 ! if{ #POS_TEST# #POS_OFF# l1 ? sp2 g2 } els{ #POS_ON# sp2 g2 } :2 l2 </ENUM_VAL_TO_POS_EXTERNAL> <SET_STATE_#POS_ON#>(A:LIGHT WING, bool) ! if{ (&gt;K:TOGGLE_WING_LIGHTS) } 0 (&gt;L:XMLVAR_LTS_Test)</SET_STATE_#POS_ON#> <SET_STATE_#POS_OFF#>(A:LIGHT WING, bool) if{ (&gt;K:TOGGLE_WING_LIGHTS) } 0 (&gt;L:XMLVAR_LTS_Test)</SET_STATE_#POS_OFF#> <SET_STATE_#POS_TEST#>(A:LIGHT WING, bool) if{ (&gt;K:TOGGLE_WING_LIGHTS) } 1 (&gt;L:XMLVAR_LTS_Test)</SET_STATE_#POS_TEST#> <STR_STATE_#POS_ON#>On</STR_STATE_#POS_ON#> <STR_STATE_#POS_OFF#>Off</STR_STATE_#POS_OFF#> <STR_STATE_#POS_TEST#>Test</STR_STATE_#POS_TEST#> <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_TEST#>@TT_Package.GT_STATE_TEST</TT_VALUE_#POS_TEST#> <SIMVAR_TO_WATCH_0>LIGHT WING</SIMVAR_TO_WATCH_0> </UseInputEvent> <UseTemplate Name="ASOBO_GT_Switch_3States"> <TOOLTIP_ENTRY_0>#INPUT_EVENT_ID_SOURCE#_#BTN_ID#</TOOLTIP_ENTRY_0> <ANIM_NAME>#ANIM_NAME_WINGLIGHT_ANNUN_TEST#</ANIM_NAME> <MOMENTARY_SWITCH/> <STATE_MAX_TIMER>0.1</STATE_MAX_TIMER> <STATE0_TIMER>0</STATE0_TIMER> <CODE_POS_#POS_ON#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_On)</CODE_POS_#POS_ON#> <CODE_POS_#POS_OFF#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Off)</CODE_POS_#POS_OFF#> <CODE_POS_#POS_TEST#>(&gt;B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#_Test)</CODE_POS_#POS_TEST#> <STATE#POS_ON#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_ON# ==</STATE#POS_ON#_TEST> <STATE#POS_TEST#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_TEST# ==</STATE#POS_TEST#_TEST> <STATE#POS_OFF#_TEST>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID#) #POS_OFF# ==</STATE#POS_OFF#_TEST> </UseTemplate> </Component> <Component ID="DEICE_Panel_Lights"> <Parameters Type="Override"> <POS_HIGH>0</POS_HIGH> <POS_NORM>1</POS_NORM> <POS_OFF>2</POS_OFF> <ALT_CODE>(L:XMLVAR_LTS_Test)</ALT_CODE> </Parameters> <Component ID="#NODE_ID_LIGHT_NORM#" Node="#NODE_ID_LIGHT_NORM#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_WINGS_ICELIGHT#) #POS_OFF# !=</EMISSIVE_CODE> </UseTemplate> </Component> <Component ID="#NODE_ID_LIGHT_HIGH#" Node="#NODE_ID_LIGHT_HIGH#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_WINGS_ICELIGHT#) #POS_HIGH# ==</EMISSIVE_CODE> </UseTemplate> </Component> <Component ID="#NODE_ID_LIGHT_MAX#" Node="#NODE_ID_LIGHT_MAX#"> <UseTemplate Name="ASOBO_GT_Emissive_Gauge"> <EMISSIVE_CODE>(B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_WINGS_ICELIGHT#) #POS_HIGH# == (B:#INPUT_EVENT_ID_SOURCE#_#BTN_ID_MAX#, Bool) and</EMISSIVE_CODE> </UseTemplate> </Component> </Component> </Case> </Switch> </Template>

    Parameters initialization:

    • Default

      Condition: Switch(TYPE)

      • Case: DA62

        Parameters set:

        • NODE_ID_WINGS_ICELIGHT
        • ANIM_NAME_WINGS_ICELIGHT
        • NODE_ID_WINDSHIELD
        • ANIM_NAME_WINDSHIELD
        • NODE_ID_PUMP
        • ANIM_NAME_PUMP
        • NODE_ID_ALTERNATE
        • ANIM_NAME_ALTERNATE
        • NODE_ID_ALTERNATE_COVER
        • ANIM_NAME_ALTERNATE_COVER
        • NODE_ID_MAX
        • ANIM_NAME_MAX
        • NODE_ID_WINGLIGHT_ANNUN_TEST
        • ANIM_NAME_WINGLIGHT_ANNUN_TEST
        • NODE_ID_LIGHT_NORM
        • NODE_ID_LIGHT_HIGH
        • NODE_ID_LIGHT_MAX
        • INPUT_EVENT_ID_SOURCE
        • USE_INPUT_EVENT_ID
    • Override

      Condition: Switch(TYPE)

      • Case: DA62

        Parameters set:

        • BTN_ID_WINGS_ICELIGHT
        • BTN_ID_WINDSHIELD
        • BTN_ID_PUMP
        • BTN_ID_ALTERNATE
        • BTN_ID_MAX
        • BTN_ID_WINGLIGHT_ANNUN_TEST

    Condition: Switch(TYPE)

    • Case: DA62

      Parameters read:

      • NODE_ID_WINGS_ICELIGHT
      • NODE_ID_WINDSHIELD
      • NODE_ID_PUMP
      • NODE_ID_ALTERNATE
      • NODE_ID_MAX
      • NODE_ID_WINGLIGHT_ANNUN_TEST

      Components:

      • #NODE_ID_WINGS_ICELIGHT# (Node: #NODE_ID_WINGS_ICELIGHT#)

        Parameters read:

        • USE_INPUT_EVENT_ID

        Parameters set:

        • POS_HIGH
        • POS_NORM
        • POS_OFF
        • NUM_STATES
        • BTN_ID (using BTN_ID_WINGS_ICELIGHT)
        • TOOLTIP_TITLE
        • TT_DESCRIPTION_ID
        • GET_STATE_EXTERNAL
        • ENUM_VAL_TO_POS_EXTERNAL
        • SET_STATE_#POS_HIGH# (using POS_HIGH)
        • SET_STATE_#POS_NORM# (using POS_NORM)
        • SET_STATE_#POS_OFF# (using INPUT_EVENT_ID_SOURCE, BTN_ID_ALTERNATE, BTN_ID_PUMP, POS_OFF)
        • STR_STATE_#POS_HIGH#
        • STR_STATE_#POS_NORM#
        • STR_STATE_#POS_OFF#
        • TT_VALUE_#POS_HIGH#
        • TT_VALUE_#POS_NORM#
        • TT_VALUE_#POS_OFF#
        • SIMVAR_TO_WATCH_0

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • UPDATE_ONCE
          • UPDATE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • ASOBO_GT_Switch_3States

          Parameters set:

          • TOOLTIP_ENTRY_0 (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • ANIM_NAME (using ANIM_NAME_WINGS_ICELIGHT)
          • CODE_POS_#POS_HIGH# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • CODE_POS_#POS_NORM# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • CODE_POS_#POS_OFF# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • STATE#POS_HIGH#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_HIGH)
          • STATE#POS_NORM#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_NORM)
          • STATE#POS_OFF#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_OFF)
      • #NODE_ID_WINDSHIELD# (Node: #NODE_ID_WINDSHIELD#)

        Parameters read:

        • USE_INPUT_EVENT_ID

        Parameters set:

        • BTN_ID (using BTN_ID_WINDSHIELD)
        • TOOLTIP_TITLE
        • TT_DESCRIPTION_ID
        • SET_STATE_ON
        • SET_STATE_OFF
        • GET_STATE_EXTERNAL
        • SIM_STATE_IS_ON_EXTERNAL
        • ANIM

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • FREQUENCY
          • UPDATE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • ASOBO_GT_Switch_Code

          Parameters set:

          • TOOLTIP_ENTRY_0 (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • ANIM_NAME (using ANIM_NAME_WINDSHIELD)
          • WWISE_EVENT_1
          • WWISE_EVENT_2
          • LEFT_SINGLE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • ANIM_CODE
      • #NODE_ID_PUMP# (Node: #NODE_ID_PUMP#)

        Parameters read:

        • USE_INPUT_EVENT_ID

        Parameters set:

        • POS_PUMP_1
        • POS_OFF
        • POS_PUMP_2
        • NUM_STATES
        • BTN_ID (using BTN_ID_PUMP)
        • TOOLTIP_TITLE
        • TT_DESCRIPTION_ID
        • GET_STATE_EXTERNAL
        • ENUM_VAL_TO_POS_EXTERNAL (using POS_OFF, POS_PUMP_1, POS_PUMP_2)
        • SET_STATE_#POS_PUMP_1#
        • SET_STATE_#POS_OFF#
        • SET_STATE_#POS_PUMP_2#
        • STR_STATE_#POS_PUMP_1#
        • STR_STATE_#POS_OFF#
        • STR_STATE_#POS_PUMP_2#
        • TT_VALUE_#POS_PUMP_1#
        • TT_VALUE_#POS_PUMP_1#_IS_DYNAMIC
        • TT_VALUE_#POS_OFF#
        • TT_VALUE_#POS_PUMP_2#
        • TT_VALUE_#POS_PUMP_2#_IS_DYNAMIC

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • UPDATE_ONCE
          • UPDATE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • ASOBO_GT_Switch_3States

          Parameters set:

          • TOOLTIP_ENTRY_0 (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • ANIM_NAME (using ANIM_NAME_PUMP)
          • CODE_POS_#POS_PUMP_1# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • CODE_POS_#POS_OFF# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • CODE_POS_#POS_PUMP_2# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • STATE#POS_PUMP_1#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_PUMP_1)
          • STATE#POS_OFF#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_OFF)
          • STATE#POS_PUMP_2#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_PUMP_2)
      • #NODE_ID_ALTERNATE#

        Parameters set:

        • BTN_ID (using BTN_ID_ALTERNATE)
        • POS_OFF
        • TOOLTIP_TITLE
        • TT_DESCRIPTION_ID

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • UPDATE_ONCE
          • UPDATE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • ASOBO_GT_Switch_Covered

          Parameters set:

          • SWITCH_NODE_ID (using NODE_ID_ALTERNATE)
          • SWITCH_ANIM_NAME (using ANIM_NAME_ALTERNATE)
          • COVER_NODE_ID (using NODE_ID_ALTERNATE_COVER)
          • COVER_ANIM_NAME (using ANIM_NAME_ALTERNATE_COVER)
          • COVER_IE_NAME (using BTN_ID)
          • COVER_VAR_NAME (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • COVER_VAR_TYPE
          • INPUT_EVENT_ID (using USE_INPUT_EVENT_ID)
          • TOOLTIP_ENTRY_0 (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • COVER_IE_ID_SOURCE (using INPUT_EVENT_ID_SOURCE)
          • TOGGLE_STATE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • SWITCH_ANIM_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • SET_STATE_ON (using INPUT_EVENT_ID_SOURCE, BTN_ID_WINGS_ICELIGHT, POS_OFF)
          • SET_STATE_OFF
          • GET_STATE_EXTERNAL
          • SIM_STATE_IS_ON_EXTERNAL
      • #NODE_ID_MAX# (Node: #NODE_ID_MAX#)

        Parameters read:

        • USE_INPUT_EVENT_ID

        Parameters set:

        • BTN_ID (using BTN_ID_MAX)
        • TOOLTIP_TITLE
        • TT_DESCRIPTION_ID
        • SET_STATE_ON (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • SET_STATE_OFF (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • GET_STATE_EXTERNAL (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • SIM_STATE_IS_ON_EXTERNAL
        • ANIM

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • FREQUENCY
          • UPDATE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • ASOBO_GT_Switch_Code

          Parameters set:

          • TOOLTIP_ENTRY_0 (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • ANIM_NAME (using ANIM_NAME_MAX)
          • WWISE_EVENT_1
          • WWISE_EVENT_2
          • LEFT_SINGLE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • ANIM_CODE
      • #NODE_ID_WINGLIGHT_ANNUN_TEST# (Node: #NODE_ID_WINGLIGHT_ANNUN_TEST#)

        Parameters read:

        • USE_INPUT_EVENT_ID

        Parameters set:

        • BTN_ID (using BTN_ID_WINGLIGHT_ANNUN_TEST)
        • POS_ON
        • POS_OFF
        • POS_TEST
        • TOOLTIP_TITLE
        • TT_DESCRIPTION_ID
        • NUM_STATES
        • GET_STATE_EXTERNAL
        • ENUM_VAL_TO_POS_EXTERNAL (using POS_OFF, POS_TEST, POS_ON)
        • SET_STATE_#POS_ON#
        • SET_STATE_#POS_OFF#
        • SET_STATE_#POS_TEST#
        • STR_STATE_#POS_ON#
        • STR_STATE_#POS_OFF#
        • STR_STATE_#POS_TEST#
        • TT_VALUE_#POS_ON#
        • TT_VALUE_#POS_OFF#
        • TT_VALUE_#POS_TEST#
        • SIMVAR_TO_WATCH_0

        Templates used:

        • ASOBO_GT_Update

          Parameters set:

          • UPDATE_ONCE
          • UPDATE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID)
        • ASOBO_GT_Switch_3States

          Parameters set:

          • TOOLTIP_ENTRY_0 (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • ANIM_NAME (using ANIM_NAME_WINGLIGHT_ANNUN_TEST)
          • MOMENTARY_SWITCH
          • STATE_MAX_TIMER
          • STATE0_TIMER
          • CODE_POS_#POS_ON# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • CODE_POS_#POS_OFF# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • CODE_POS_#POS_TEST# (using INPUT_EVENT_ID_SOURCE, BTN_ID)
          • STATE#POS_ON#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_ON)
          • STATE#POS_TEST#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_TEST)
          • STATE#POS_OFF#_TEST (using INPUT_EVENT_ID_SOURCE, BTN_ID, POS_OFF)
      • DEICE_Panel_Lights

        Parameters read:

        • NODE_ID_LIGHT_NORM
        • NODE_ID_LIGHT_HIGH
        • NODE_ID_LIGHT_MAX

        Parameters set:

        • POS_HIGH
        • POS_NORM
        • POS_OFF
        • ALT_CODE

        Components:

        • #NODE_ID_LIGHT_NORM# (Node: #NODE_ID_LIGHT_NORM#)

          Templates used:

          • ASOBO_GT_Emissive_Gauge

            Parameters set:

            • EMISSIVE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID_WINGS_ICELIGHT, POS_OFF)
        • #NODE_ID_LIGHT_HIGH# (Node: #NODE_ID_LIGHT_HIGH#)

          Templates used:

          • ASOBO_GT_Emissive_Gauge

            Parameters set:

            • EMISSIVE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID_WINGS_ICELIGHT, POS_HIGH)
        • #NODE_ID_LIGHT_MAX# (Node: #NODE_ID_LIGHT_MAX#)

          Templates used:

          • ASOBO_GT_Emissive_Gauge

            Parameters set:

            • EMISSIVE_CODE (using INPUT_EVENT_ID_SOURCE, BTN_ID_WINGS_ICELIGHT, POS_HIGH, BTN_ID_MAX)