# Handling_Subtemplates.xml [[Go back to index]](..\..\..\Template_Explorer.html) Asobo\(Common\)Subtemplates\\Handling\_Subtemplates.xml ------------------------------------------------------- Source XML <ModelBehaviors> <!-- Do not call directly unless facing a specific case, prefer using HANDLING\_Yoke\_Hideable\_Template instead --> <Template Name="ASOBO\_HANDLING\_Yoke\_Hider\_Template"> <Parameters Type="Default"> <ID>1</ID> <MOUSERECT\_DISABLED\_WITH\_MOTION\_CONTROLLERS>True</MOUSERECT\_DISABLED\_WITH\_MOTION\_CONTROLLERS> </Parameters> <Parameters Type="Default"> <NODE\_ID>HANDLING\_YOKE\_Hider\_\#ID\#</NODE\_ID> </Parameters> <Parameters Type="Default"> <TOOLTIP\_TITLE>@TT\_Package.YOKE\_VISIBILITY\_TITLE</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_Yoke\_Hider\_\#ID\#</TOOLTIP\_ENTRY\_0> </Parameters> <!-- <Parameters Type="Override"> --> <!-- <TOOLTIP\_TITLE>\#TOOLTIP\_YOKE\_VISIBILITY\_TITLE\#</TOOLTIP\_TITLE> --> <!-- <TOOLTIP\_ENTRY\_0>HANDLING\_Yoke\_Hider\_\#ID\#</TOOLTIP\_ENTRY\_0> --> <!-- </Parameters> --> <Component ID="\#NODE\_ID\#\_Hider" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <HIDER\_ID>\#ID\#</HIDER\_ID> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Interaction\_LeftSingle\_Code"> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_Yoke\_Hider\_\#ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> <!-- Yoke that cannot be hidden --> <!-- NODE\_ID: Node that should be highlighted during checklist optional: CREATE\_TWO\_NODES: create both yoke nodes and there respective highlight NODE\_ID2: other Node that should be highlighted during checklist (ex: copilot yoke) --> <Template Name="ASOBO\_HANDLING\_Yoke\_SubTemplate"> <DefaultTemplateParameters> <Condition Check="CREATE\_TWO\_NODES"> <True> <NODE\_ID>HANDLING\_Yoke\_1</NODE\_ID> <NODE\_ID2>HANDLING\_Yoke\_2</NODE\_ID2> </True> <False> <NODE\_ID>HANDLING\_Yoke\_\#ID\#</NODE\_ID> </False> </Condition> <Condition Valid="AP\_CAN\_DRIVE\_ANIMATION"> <True> <ANIM\_SIMVAR\_X>YOKE X POSITION WITH AP</ANIM\_SIMVAR\_X> <ANIM\_SIMVAR\_X\_LINEAR>YOKE X POSITION WITH AP LINEAR</ANIM\_SIMVAR\_X\_LINEAR> <ANIM\_SIMVAR\_Y>YOKE Y POSITION WITH AP</ANIM\_SIMVAR\_Y> </True> <False> <ANIM\_SIMVAR\_X>YOKE X POSITION</ANIM\_SIMVAR\_X> <ANIM\_SIMVAR\_X\_LINEAR>YOKE X POSITION LINEAR</ANIM\_SIMVAR\_X\_LINEAR> <ANIM\_SIMVAR\_Y>YOKE Y POSITION</ANIM\_SIMVAR\_Y> </False> </Condition> <ANIM\_NAME\_YOKE\_X>HANDLING\_YOKE\_Lever\_StickLR</ANIM\_NAME\_YOKE\_X> <ANIM\_NAME\_YOKE\_Y>HANDLING\_YOKE\_Lever\_StickForeAft</ANIM\_NAME\_YOKE\_Y> <PART\_ID>HANDLING\_Yoke</PART\_ID> <ANIM\_LENGTH>200</ANIM\_LENGTH> <!-- \[-100, 100\] --> <ANIM\_SIMVAR\_BIAS>100</ANIM\_SIMVAR\_BIAS> <!-- \[-100, 100\] + 100 => \[0, 200\] --> </DefaultTemplateParameters> <Component ID="\#NODE\_ID\#\_\#ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Anim\_Code"> <ANIM\_NAME>\#ANIM\_NAME\_YOKE\_X\#</ANIM\_NAME> <ANIM\_CODE>(E:IS IN VR, Bool) if{ (A:\#ANIM\_SIMVAR\_X\_LINEAR\#, percent over 100) } els{ (A:\#ANIM\_SIMVAR\_X\#, percent over 100) } \#ANIM\_LENGTH\# 0.5 \* \* \#ANIM\_SIMVAR\_BIAS\# +</ANIM\_CODE> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Anim\_Sim"> <ANIM\_NAME>\#ANIM\_NAME\_YOKE\_Y\#</ANIM\_NAME> <ANIM\_SIMVAR>\#ANIM\_SIMVAR\_Y\#</ANIM\_SIMVAR> <ANIM\_SIMVAR\_UNITS>percent</ANIM\_SIMVAR\_UNITS> </UseTemplate> </Component> <Condition Check="CREATE\_TWO\_NODES"> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <NODE\_ID>\#NODE\_ID2\#</NODE\_ID> </UseTemplate> </Condition> </Template> <Template Name="ASOBO\_HANDLING\_Yoke\_Hideable\_SubTemplate"> <DefaultTemplateParameters> <NODE\_ID>HANDLING\_YOKE\_Hideable\_\#ID\#</NODE\_ID> <YOKE\_HIDER\_NODE\_ID>HANDLING\_YOKE\_Hider\_\#ID\#</YOKE\_HIDER\_NODE\_ID> <YOKE\_NODE\_ID>HANDLING\_Yoke\_\#ID\#</YOKE\_NODE\_ID> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.YOKE\_VISIBILITY</TOOLTIPID> </DefaultTemplateParameters> <Component ID="\#NODE\_ID\#\_VisibilityNode" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Visibility\_Code"> <VISIBILITY\_CODE>(L:XMLVAR\_YokeHidden\#ID\#) !</VISIBILITY\_CODE> </UseTemplate> </Component> <Condition Check="ONLY\_DECORATIVE"> <False> <UseTemplate Name="ASOBO\_HANDLING\_Yoke\_Hider\_Template"> <NODE\_ID>\#YOKE\_HIDER\_NODE\_ID\#</NODE\_ID> </UseTemplate> <Condition Check="ONLY\_HIDEABLE"> <True> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <NODE\_ID>\#YOKE\_NODE\_ID\#</NODE\_ID> <PART\_ID>HANDLING\_YOKE</PART\_ID> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_HANDLING\_Yoke\_Template"> <NODE\_ID>\#YOKE\_NODE\_ID\#</NODE\_ID> </UseTemplate> </False> </Condition> </False> </Condition> </Template> <Template Name="ASOBO\_HANDLING\_Joystick\_YawPitch\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_Joystick\_YawPitch\_\#ID\#</NODE\_ID> <ANIM\_NAME\_L\_R>HANDLING\_Joystick\_YawPitch\_L\_R\_\#ID\#</ANIM\_NAME\_L\_R> <ANIM\_NAME\_DN\_UP>HANDLING\_Joystick\_YawPitch\_DN\_UP\_\#ID\#</ANIM\_NAME\_DN\_UP> <INPUT\_EVENT\_ID\_SOURCE>HANDLING</INPUT\_EVENT\_ID\_SOURCE> </Parameters> <Parameters Type="Default"> <VAR\_NAME>\#INPUT\_EVENT\_ID\_SOURCE\#\_Joystick\_\#ID\#\_Interacting</VAR\_NAME> <TT\_DESCRIPTION\_ID\_PAN\_X>@TT\_Package.YOKE\_PUSH\_NOSE\_ACTION</TT\_DESCRIPTION\_ID\_PAN\_X> <TT\_DESCRIPTION\_ID\_PAN\_Y>@TT\_Package.YOKE\_PUSH\_NOSE\_ACTION</TT\_DESCRIPTION\_ID\_PAN\_Y> <TT\_DESCRIPTION\_ID\_DISENGAGE>@TT\_Package.GT\_STATE\_DISENGAGE</TT\_DESCRIPTION\_ID\_DISENGAGE> <TOOLTIP\_TITLE\_EXTERNAL>@TT\_Package.YOKE\_PUSH\_NOSE\_TITLE</TOOLTIP\_TITLE\_EXTERNAL> </Parameters> <Parameters Type="Override"> <KNOB\_X\_ID>Yaw\_Pitch\_X</KNOB\_X\_ID> <KNOB\_Y\_ID>Yaw\_Pitch\_Y</KNOB\_Y\_ID> <BTN\_DISENGAGE\_ID>Yaw\_Pitch\_AP\_Disengage</BTN\_DISENGAGE\_ID> </Parameters> <Parameters Type="Override"> <JOYSTICK\_X\_CODE\_LEFT>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_X\_ID\#\_Left)</JOYSTICK\_X\_CODE\_LEFT> <JOYSTICK\_X\_CODE\_RIGHT>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_X\_ID\#\_Right)</JOYSTICK\_X\_CODE\_RIGHT> <JOYSTICK\_Y\_CODE\_DOWN>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_Y\_ID\#\_Up)</JOYSTICK\_Y\_CODE\_DOWN> <JOYSTICK\_Y\_CODE\_UP>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_Y\_ID\#\_Down)</JOYSTICK\_Y\_CODE\_UP> <LEFT\_SINGLE\_CODE\_DEFAULT\_IM>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_DISENGAGE\_ID\#\_Set)</LEFT\_SINGLE\_CODE\_DEFAULT\_IM> <LEFT\_RELEASE\_CODE\_DEFAULT\_IM>0 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_DISENGAGE\_ID\#\_Set)</LEFT\_RELEASE\_CODE\_DEFAULT\_IM> <LEFT\_SINGLE\_CODE\_DRAG\_IM>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_DISENGAGE\_ID\#\_Set)</LEFT\_SINGLE\_CODE\_DRAG\_IM> <LEFT\_RELEASE\_CODE\_DRAG\_IM>0 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_DISENGAGE\_ID\#\_Set)</LEFT\_RELEASE\_CODE\_DRAG\_IM> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_TITLE\_EXTERNAL\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_X\_ID\#</TOOLTIP\_ENTRY\_0> <TOOLTIP\_ENTRY\_1>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_Y\_ID\#</TOOLTIP\_ENTRY\_1> </Parameters> <UseInputEvent ID="HANDLING"> <BTN\_ID>\#BTN\_DISENGAGE\_ID\#</BTN\_ID> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_DISENGAGE\#</TT\_DESCRIPTION\_ID> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> <BINDING\_DEC\_0>Release</BINDING\_DEC\_0> <BINDING\_DEC\_0\_PARAM\_0>0</BINDING\_DEC\_0\_PARAM\_0> <SET\_STATE\_EXTERNAL>(A:AUTOPILOT DISENGAGED, Bool) != if{ p0 (>K:AUTOPILOT\_DISENGAGE\_SET) }</SET\_STATE\_EXTERNAL> <ANIM\_EXTERNAL>True</ANIM\_EXTERNAL> </UseInputEvent> <UseInputEvent ID="HANDLING"> <KNOB\_ID>\#KNOB\_X\_ID\#</KNOB\_ID> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_PAN\_X\#</TT\_DESCRIPTION\_ID> <TT\_ICON>MOVE\_AXIS</TT\_ICON> <SET\_STATE\_EXTERNAL>0 > if{ (>K:RUDDER\_TRIM\_RIGHT) } els{ (>K:RUDDER\_TRIM\_LEFT) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Right</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> <BINDING\_DEC\_0>Left</BINDING\_DEC\_0> <BINDING\_DEC\_0\_PARAM\_0>1</BINDING\_DEC\_0\_PARAM\_0> <NO\_ANIM\_VAR\_UPDATE>True</NO\_ANIM\_VAR\_UPDATE> <GET\_TT\_VALUE\_STATE>(A:RUDDER TRIM, degrees)</GET\_TT\_VALUE\_STATE> <FORMAT\_VALUE>'%.1f°' @sprintf</FORMAT\_VALUE> </UseInputEvent> <UseInputEvent ID="HANDLING"> <KNOB\_ID>\#KNOB\_Y\_ID\#</KNOB\_ID> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_PAN\_X\#</TT\_DESCRIPTION\_ID> <TT\_ICON>MOVE\_AXIS</TT\_ICON> <TT\_INTERACTION>PRIMARY\_DOWN+Y\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>Y\_AXIS</TT\_INTERACTION\_LOCKABLE> <SET\_STATE\_EXTERNAL>0 > if{ (>K:ELEV\_TRIM\_UP) } els{ (>K:ELEV\_TRIM\_DN) } (A:AUTOPILOT DISENGAGED, Bool) ! if{ 1 (>K:AUTOPILOT\_DISENGAGE\_SET) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Up</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> <BINDING\_DEC\_0>Down</BINDING\_DEC\_0> <BINDING\_DEC\_0\_PARAM\_0>1</BINDING\_DEC\_0\_PARAM\_0> <NO\_ANIM\_VAR\_UPDATE>True</NO\_ANIM\_VAR\_UPDATE> <GET\_TT\_VALUE\_STATE>(A:ELEVATOR TRIM POSITION, degrees)</GET\_TT\_VALUE\_STATE> <FORMAT\_VALUE>'%.1f°' @sprintf</FORMAT\_VALUE> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Joystick\_Interaction\_Knob"> <!-- Spacial case for DRAG\_IM to condense inputs to only one node --> <JOYSTICK\_INTERACTION>PAN\_ONLY</JOYSTICK\_INTERACTION> <UPDATE\_FREQUENCY>20</UPDATE\_FREQUENCY> <COUNT>36</COUNT> <THRESHOLD\_X\_INPUT>0.1</THRESHOLD\_X\_INPUT> <THRESHOLD\_X\_MOUSE>0.01</THRESHOLD\_X\_MOUSE> <THRESHOLD\_Y\_INPUT>0.1</THRESHOLD\_Y\_INPUT> <THRESHOLD\_Y\_MOUSE>0.01</THRESHOLD\_Y\_MOUSE> <TIMEOUT\_DELAY\_RESET\_AXIS>0.25</TIMEOUT\_DELAY\_RESET\_AXIS> <IM\_DRAG\_ADDITIONAL\_EVENT\_HANDLING/> <WWISE\_JOYSTICK\_EVENT\_L>handling\_yawpitch\_joystick</WWISE\_JOYSTICK\_EVENT\_L> <WWISE\_JOYSTICK\_EVENT\_R>handling\_yawpitch\_joystick</WWISE\_JOYSTICK\_EVENT\_R > <WWISE\_JOYSTICK\_EVENT\_UP>handling\_yawpitch\_joystick</WWISE\_JOYSTICK\_EVENT\_UP> <WWISE\_JOYSTICK\_EVENT\_DN>handling\_yawpitch\_joystick</WWISE\_JOYSTICK\_EVENT\_DN> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_Timer\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Timer</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Timer</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> <TOOLTIP\_TITLE>@TT\_Package.YOKE\_PUSH\_TIMER\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.YOKE\_PUSH\_TIMER\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>Timer\_Button</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL>if{ (>H:AS1000\_PFD\_1\_TIMER) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Push\_Button"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Push)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_StormClear\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_StormClear</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_StormClear</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Push\_Button"> <LEFT\_SINGLE\_CODE/> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.INOP</TOOLTIPID> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_CWS\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_CWS</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_CWS</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Push\_Button"> <LEFT\_SINGLE\_CODE/> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.INOP</TOOLTIPID> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_Ident\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Ident</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Ident</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> <TOOLTIP\_TITLE>@TT\_Package.YOKE\_PUSH\_IDENT\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.YOKE\_PUSH\_IDENT\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>Radio\_NAV\#ID\#\_Swap</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL>if{ (>K:RADIO\_VOR\#ID\#\_IDENT\_TOGGLE) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Held"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Push)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_Swap\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Swap</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Swap</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> <TOOLTIP\_TITLE>@TT\_Package.AIRLINER\_COM\_PUSH\_SWAP\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.AIRLINER\_COM\_PUSH\_SWAP\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>Radio\_COM\#ID\#\_Swap</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL>if{ (>K:COM\#ID\#\_RADIO\_SWAP) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Held"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Push)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_AntiSkid\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_AntiSkid</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_AntiSkid</ANIM\_NAME> <WWISE\_EVENT\_1>antiskid\_switch\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>antiskid\_switch\_off</WWISE\_EVENT\_2> <ON\_ANTI\_SKID\_STATE\_CHANGED>(A:ANTISKID BRAKES ACTIVE, Bool) ! if{ 0 (>L:HANDLING\_Autobrakes\_Position) }</ON\_ANTI\_SKID\_STATE\_CHANGED> <TOOLTIP\_TITLE>@TT\_Package.LANDING\_GEAR\_SWITCH\_AUTOBKR\_ASKID\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_SWITCH\_AUTOBKR\_ASKID\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>Anti\_Skid</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL>p0 (A:ANTISKID BRAKES ACTIVE, Bool) != if{ (>K:ANTISKID\_BRAKES\_TOGGLE) } \#ON\_ANTI\_SKID\_STATE\_CHANGED\#</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:ANTISKID BRAKES ACTIVE, Bool) sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> <ANIM\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) 100 \*</ANIM\_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_GLimiter\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_GLimiter</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_GLimiter</ANIM\_NAME> <TOOLTIP\_TITLE>@TT\_Package.GLIMITER\_SWITCH\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.GLIMITER\_SWITCH\_ACTION</TT\_DESCRIPTION\_ID> <OVERRIDE\_CONDITIONS>p0 1 ==</OVERRIDE\_CONDITIONS> <ADDITIONAL\_EFFECTS/> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="AS04F"> <OVERRIDE\_CONDITIONS>\#OVERRIDE\_CONDITIONS\# (A:YOKE Y POSITION, Percent over 100) 0.8 > and</OVERRIDE\_CONDITIONS> <ADDITIONAL\_EFFECTS>p0 (>K:AUTOPILOT\_DISENGAGE\_SET) 0 (>K:NOSE\_WHEEL\_STEERING\_LIMIT\_SET)</ADDITIONAL\_EFFECTS> </Case> </Switch> </Parameters> <Parameters Type="Override"> <BTN\_ID>GLimiter</BTN\_ID> <Switch Param="TYPE"> <Case Value="AS04F"> <SET\_STATE\_EXTERNAL>\#OVERRIDE\_CONDITIONS\# if{ 2 } els{ 1 } (>K:G\_LIMITER\_SET) \#ADDITIONAL\_EFFECTS\#</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:G LIMITER SETTING, Enum) 2 == sp0</GET\_STATE\_EXTERNAL> </Case> </Switch> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Switch Param="TYPE"> <Case Value="AS04F"> <UseTemplate Name="ASOBO\_GT\_Update"> <FREQUENCY>2</FREQUENCY> <UPDATE\_CODE> (B:HANDLING\_\#BTN\_ID\#) (A:YOKE Y POSITION, Percent over 100) abs 0.1 < and if{ 1 (>K:G\_LIMITER\_SET) 0 (>K:AUTOPILOT\_DISENGAGE\_SET) 0 (>B:HANDLING\_\#BTN\_ID\#) } </UPDATE\_CODE> </UseTemplate> </Case> </Switch> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>\#BTN\_ID\#</IE\_NAME> <CREATE\_COMPONENT>False</CREATE\_COMPONENT> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <BINDING\_SET\_0>Toggle\_KeyEvent</BINDING\_SET\_0> <BINDING\_SET\_0\_PARAM\_0>(B:HANDLING\_\#BTN\_ID\#) !</BINDING\_SET\_0\_PARAM\_0> <BINDING\_SET\_0\_PARAM\_0\_IS\_DYNAMIC>True</BINDING\_SET\_0\_PARAM\_0\_IS\_DYNAMIC> <BINDING\_SET\_0\_EVENT\_ID>G\_LIMITER\_TOGGLE</BINDING\_SET\_0\_EVENT\_ID> <BINDING\_SET\_1>KeySet</BINDING\_SET\_1> <BINDING\_SET\_1\_PARAM\_0>p0 0 !=</BINDING\_SET\_1\_PARAM\_0> <BINDING\_SET\_1\_PARAM\_0\_IS\_DYNAMIC>True</BINDING\_SET\_1\_PARAM\_0\_IS\_DYNAMIC> <BINDING\_SET\_1\_EVENT\_ID>G\_LIMITER\_SET</BINDING\_SET\_1\_EVENT\_ID> <BINDING\_SET\_2>On\_KeyEvent</BINDING\_SET\_2> <BINDING\_SET\_2\_PARAM\_0>1</BINDING\_SET\_2\_PARAM\_0> <BINDING\_SET\_2\_EVENT\_ID>G\_LIMITER\_ON</BINDING\_SET\_2\_EVENT\_ID> <BINDING\_SET\_3>Off\_KeyEvent</BINDING\_SET\_3> <BINDING\_SET\_3\_PARAM\_0>0</BINDING\_SET\_3\_PARAM\_0> <BINDING\_SET\_3\_EVENT\_ID>G\_LIMITER\_OFF</BINDING\_SET\_3\_EVENT\_ID> <SIMVAR\_TO\_WATCH\_0>G LIMITER SETTING</SIMVAR\_TO\_WATCH\_0> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_Steering\_Tiller\_SubTemplate"> <DefaultTemplateParameters> <NODE\_ID>HANDLING\_Steering\_Tiller\_\#ID\#</NODE\_ID> <ANIM\_NAME>HANDLING\_Steering\_Tiller\_\#ID\#</ANIM\_NAME> </DefaultTemplateParameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Anim\_Code"> <ANIM\_CODE> (A:SIM ON GROUND, Bool) if{ (A:GEAR STEER ANGLE PCT, Percent) 100 + } els{ (A:STEER INPUT CONTROL, Percent) 100 + } </ANIM\_CODE> <ANIM\_LENGTH>200</ANIM\_LENGTH> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_RudderPedals\_SubTemplate"> <DefaultTemplateParameters> <ANIM\_NAME>HANDLING\_RudderPedals</ANIM\_NAME> <ANIM\_LAG>400</ANIM\_LAG> <Switch Param="RUDDERPEDALS\_TYPE"> <Case Value="SPLITTED"> <!-- Separate rudders L & R for pilot & copilot --> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <NODE\_ID>HANDLING\_RudderPedals\_Left\_1\_1</NODE\_ID> <!-- Any valid node --> <PREFIX\_LEFT\_PEDALS>HANDLING\_RudderPedals\_Left\_</PREFIX\_LEFT\_PEDALS> <SUFFIX\_LEFT\_PEDALS>\_1</SUFFIX\_LEFT\_PEDALS> <PREFIX\_RIGHT\_PEDALS>HANDLING\_RudderPedals\_Right\_</PREFIX\_RIGHT\_PEDALS> <SUFFIX\_RIGHT\_PEDALS>\_2</SUFFIX\_RIGHT\_PEDALS> </True> <False> <NODE\_ID>HANDLING\_RudderPedals\_\#ID\#\_1</NODE\_ID> <PART\_ID>HANDLING\_RudderPedals</PART\_ID> <NODE\_ID2>HANDLING\_RudderPedals\_\#ID\#\_2</NODE\_ID2> </False> </Condition> </Case> <Case Value="MERGED"> <!-- Each rudder pedal node is shared for pilot & copilot (L & R) --> <NODE\_ID>HANDLING\_RudderPedals\_1</NODE\_ID> <!-- any valid node --> <NODE\_ID\_L\_BRAKE>HANDLING\_RudderPedals\_1\_Brake</NODE\_ID\_L\_BRAKE> <NODE\_ID\_L\_RUDDER>HANDLING\_RudderPedals\_1\_Rudder</NODE\_ID\_L\_RUDDER> <NODE\_ID\_R\_BRAKE>HANDLING\_RudderPedals\_2\_Brake</NODE\_ID\_R\_BRAKE> <NODE\_ID\_R\_RUDDER>HANDLING\_RudderPedals\_2\_Rudder</NODE\_ID\_R\_RUDDER> <PART\_ID\_BRAKES>HANDLING\_RudderPedals\_Brake</PART\_ID\_BRAKES> <PART\_ID\_RUDDERS>HANDLING\_RudderPedals\_Rudder</PART\_ID\_RUDDERS> <USE\_BRAKE>True</USE\_BRAKE> </Case> <Case Value="MIXED"> <!-- Each rudder pedal root node is shared for pilot & copilot (L & R) but brakes are splitted --> <NODE\_ID>HANDLING\_RudderPedals\_1</NODE\_ID> <!-- any valid node --> <NODE\_ID\_L\_BRAKE\_1>HANDLING\_RudderPedals\_1\_1\_Brake</NODE\_ID\_L\_BRAKE\_1> <NODE\_ID\_L\_BRAKE\_2>HANDLING\_RudderPedals\_2\_1\_Brake</NODE\_ID\_L\_BRAKE\_2> <NODE\_ID\_R\_BRAKE\_1>HANDLING\_RudderPedals\_1\_2\_Brake</NODE\_ID\_R\_BRAKE\_1> <NODE\_ID\_R\_BRAKE\_2>HANDLING\_RudderPedals\_2\_2\_Brake</NODE\_ID\_R\_BRAKE\_2> <NODE\_ID\_L\_RUDDER>HANDLING\_RudderPedals\_1</NODE\_ID\_L\_RUDDER> <NODE\_ID\_R\_RUDDER>HANDLING\_RudderPedals\_2</NODE\_ID\_R\_RUDDER> <PART\_ID\_BRAKES>HANDLING\_RudderPedals</PART\_ID\_BRAKES> <PART\_ID\_RUDDERS>HANDLING\_RudderPedals</PART\_ID\_RUDDERS> <DIFFERENTIATE\_BRAKE\_ANIM\_L\_R>True</DIFFERENTIATE\_BRAKE\_ANIM\_L\_R> <USE\_BRAKE>True</USE\_BRAKE> </Case> <Default> <PART\_ID>HANDLING\_RudderPedals</PART\_ID> <NODE\_ID>HANDLING\_RudderPedals\_\#ID\#</NODE\_ID> </Default> </Switch> </DefaultTemplateParameters> <OverrideTemplateParameters> <Switch Param="RUDDERPEDALS\_TYPE"> <Case Value="SPLITTED"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <PART\_ID>HANDLING\_RudderPedals</PART\_ID> <EXIT\_TEMPLATE>ASOBO\_GT\_Highlight\_Template</EXIT\_TEMPLATE> <MAX\_ID>2</MAX\_ID> <PARAM1>HIGHLIGHT\_NODE\_ID</PARAM1> </True> </Condition> </Case> </Switch> </OverrideTemplateParameters> <Switch Param="RUDDERPEDALS\_TYPE"> <Case Value="SPLITTED"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <Component ID="HANDLING\_RudderPedals\_Highlights"> <!-- highlights all four pedals --> <UseTemplate Name="ASOBO\_GT\_Helper\_Recursive\_ID"> <ID>1</ID> <!-- VV Recursive parameters VV --> <PARAM1\_PREFIX>\#PREFIX\_LEFT\_PEDALS\#</PARAM1\_PREFIX> <PARAM1\_SUFFIX>\#SUFFIX\_LEFT\_PEDALS\#</PARAM1\_SUFFIX> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Helper\_Recursive\_ID"> <ID>2</ID> <!-- VV Recursive parameters VV --> <PARAM1\_PREFIX>\#PREFIX\_RIGHT\_PEDALS\#</PARAM1\_PREFIX> <PARAM1\_SUFFIX>\#SUFFIX\_RIGHT\_PEDALS\#</PARAM1\_SUFFIX> </UseTemplate> </Component> </True> <False> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <NODE\_ID>\#NODE\_ID2\#</NODE\_ID> <ID>2</ID> </UseTemplate> </False> </Condition> </Case> <Case Value="MERGED"> <!-- Each rudder pedal node is shared for pilot & copilot (L & R) --> <Condition Valid="NO\_BRAKES\_HIGHLIGHT"> <False> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_BRAKE\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_BRAKE\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_RUDDER\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_RUDDERS\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_RUDDER\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_RUDDERS\#</PART\_ID> </UseTemplate> </Case> <Case Value="MIXED"> <Condition Valid="NO\_BRAKES\_HIGHLIGHT"> <False> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_BRAKE\_1\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_BRAKE\_2\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_BRAKE\_1\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_BRAKE\_2\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_RUDDER\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_RUDDERS\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_RUDDER\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_RUDDERS\#</PART\_ID> </UseTemplate> </Case> </Switch> <Condition Check="DONT\_CREATE\_ANIMATION"> <True> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <ID>1</ID> </UseTemplate> </True> <False> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <DefaultTemplateParameters> <ANIM\_SIMVAR>RUDDER PEDAL POSITION</ANIM\_SIMVAR> <Condition Valid="USE\_BRAKE"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <BRAKE\_ANIM\_NAME\_L>HANDLING\_RudderPedals\_Brake\_L</BRAKE\_ANIM\_NAME\_L> <BRAKE\_ANIM\_NAME\_R>HANDLING\_RudderPedals\_Brake\_R</BRAKE\_ANIM\_NAME\_R> </True> <False> <BRAKE\_ANIM\_NAME>HANDLING\_RudderPedals\_Brake</BRAKE\_ANIM\_NAME> </False> </Condition> </Condition> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition Valid="NO\_PART\_ID\_ON\_ANIM\_NODE"> <PART\_ID></PART\_ID> </Condition> </OverrideTemplateParameters> <UseTemplate Name="ASOBO\_GT\_Anim\_Sim"> <ID>1</ID> <ANIM\_LENGTH>200</ANIM\_LENGTH> <ANIM\_SIMVAR\_UNITS>percent</ANIM\_SIMVAR\_UNITS> <!-- \[-100, 100\] --> <ANIM\_SIMVAR\_BIAS>100</ANIM\_SIMVAR\_BIAS> <!-- \[-100, 100\] + 100 => \[0, 200\] --> </UseTemplate> <Condition Valid="USE\_BRAKE"> <UseTemplate Name="ASOBO\_HANDLING\_RudderPedals\_Brake\_Template"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <ANIM\_NAME\_L>\#BRAKE\_ANIM\_NAME\_L\#</ANIM\_NAME\_L> <ANIM\_NAME\_R>\#BRAKE\_ANIM\_NAME\_R\#</ANIM\_NAME\_R> </True> <False> <ANIM\_NAME>\#BRAKE\_ANIM\_NAME\#</ANIM\_NAME> </False> </Condition> </UseTemplate> </Condition> </Component> </False> </Condition> </Template> <!-- With default use case, you can set TARGET\_ANGLE\_DEGREE: will light up when flaps reach this degree (default 0) VALUE\_RANGE: increase degree range for degree lighting (default 0.1) --> <Template Name="ASOBO\_HANDLING\_Light\_Flaps\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_Light\_Flaps\_\#ID\#</NODE\_ID> <Switch Param="TYPE"> <Case Value="ALWAYS\_ONE\_LIT"> <ADJUSTED\_ID\_FLAP Process="Int">\#ID\# 0 max \#MAX\_FLAPS\_INDEX\# min</ADJUSTED\_ID\_FLAP> <FLAPS\_INDEX\_COUNT Process="Int">\#MAX\_FLAPS\_INDEX\# 1 +</FLAPS\_INDEX\_COUNT> <ANGLE\_DEGREE\_1>0</ANGLE\_DEGREE\_1> <ANGLE\_DEGREE\_2>15</ANGLE\_DEGREE\_2> <ANGLE\_DEGREE\_3>30</ANGLE\_DEGREE\_3> <ANGLE\_DEGREE\_4>35</ANGLE\_DEGREE\_4> <ANGLE\_DEGREE\_5>42</ANGLE\_DEGREE\_5> </Case> <Default> <TARGET\_ANGLE\_DEGREE>0</TARGET\_ANGLE\_DEGREE> <VALUE\_RANGE>0.1</VALUE\_RANGE> </Default> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="ALWAYS\_ONE\_LIT"> <TARGET\_ANGLE Process="Float"> \#ANGLE\_DEGREE\_5\# \#ANGLE\_DEGREE\_4\# \#ANGLE\_DEGREE\_3\# \#ANGLE\_DEGREE\_2\# \#ANGLE\_DEGREE\_1\# \#FLAPS\_INDEX\_COUNT\# \#ADJUSTED\_ID\_FLAP\# case </TARGET\_ANGLE> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="ALWAYS\_ONE\_LIT"> <TARGET\_ANGLE\_LIMIT\_MIN Process="Float"> \#ADJUSTED\_ID\_FLAP\# 1 - 0 max sp0 \#ANGLE\_DEGREE\_5\# \#ANGLE\_DEGREE\_4\# \#ANGLE\_DEGREE\_3\# \#ANGLE\_DEGREE\_2\# \#ANGLE\_DEGREE\_1\# \#FLAPS\_INDEX\_COUNT\# l0 case sp1 \#TARGET\_ANGLE\# l1 - 2 / l1 + </TARGET\_ANGLE\_LIMIT\_MIN> <TARGET\_ANGLE\_LIMIT\_MAX Process="Float"> \#ADJUSTED\_ID\_FLAP\# 1 + \#MAX\_FLAPS\_INDEX\# min sp0 \#ANGLE\_DEGREE\_5\# \#ANGLE\_DEGREE\_4\# \#ANGLE\_DEGREE\_3\# \#ANGLE\_DEGREE\_2\# \#ANGLE\_DEGREE\_1\# \#FLAPS\_INDEX\_COUNT\# l0 case sp1 l1 \#TARGET\_ANGLE\# - 2 / \#TARGET\_ANGLE\# + </TARGET\_ANGLE\_LIMIT\_MAX> </Case> </Switch> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Emissive\_Gauge"> <Switch Param="TYPE"> <Case Value="ALWAYS\_ONE\_LIT"> <EMISSIVE\_CODE>\#TARGET\_ANGLE\_LIMIT\_MIN\# \#TARGET\_ANGLE\_LIMIT\_MAX\# (A:TRAILING EDGE FLAPS LEFT ANGLE, degrees) rng</EMISSIVE\_CODE> </Case> <Default> <EMISSIVE\_CODE>(A:TRAILING EDGE FLAPS LEFT ANGLE, degrees) \#TARGET\_ANGLE\_DEGREE\# - abs \#VALUE\_RANGE\# <</EMISSIVE\_CODE> </Default> </Switch> </UseTemplate> </Component> </Template> <!-- Light up when the trim is at TARGET\_VALUE (0) +- RANGE\_DELTA (0.02, that is 2%) Can use a FAILURE condition (but no failure code, unless there is no more TODO in the Emissive template) --> <Template Name="ASOBO\_HANDLING\_Light\_Trim\_Subtemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_Light\_Trim</NODE\_ID> <Switch Param="TRIM\_TYPE"> <Case Value="AILERON"> <TRIM\_SIMVAR>AILERON TRIM</TRIM\_SIMVAR> </Case> <Case Value="ELEVATOR"> <TRIM\_SIMVAR>ELEVATOR TRIM POSITION</TRIM\_SIMVAR> </Case> <Case Value="RUDDER"> <TRIM\_SIMVAR>RUDDER TRIM</TRIM\_SIMVAR> </Case> <Default> <TRIM\_SIMVAR>ELEVATOR TRIM POSITION</TRIM\_SIMVAR> </Default> </Switch> <RANGE\_DELTA>0.3</RANGE\_DELTA> </Parameters> <Parameters Type="Default"> <Switch Param="TRIM\_TYPE"> <Case Value="ELEVATOR"> <TARGET\_VALUE>(A:ELEVATOR TRIM NEUTRAL, degree)</TARGET\_VALUE> </Case> <Default> <TARGET\_VALUE>0</TARGET\_VALUE> </Default> </Switch> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Emissive\_Gauge"> <EMISSIVE\_CODE>(A:\#TRIM\_SIMVAR\#, degree) \#TARGET\_VALUE\# - abs \#RANGE\_DELTA\# <</EMISSIVE\_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_AileronTrim\_Template"> <Parameters Type="Default"> <ID>1</ID> </Parameters> <Parameters Type="Default"> <Condition Check="SECONDARY"> <True> <IE\_AILERONS\_TRIM>\#ID\#\_Secondary</IE\_AILERONS\_TRIM> </True> <False> <IE\_AILERONS\_TRIM>\#ID\#</IE\_AILERONS\_TRIM> </False> </Condition> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="KNOB"> <NODE\_ID>HANDLING\_Knob\_AileronTrim</NODE\_ID> <ANIM\_NAME>HANDLING\_Knob\_AileronTrim</ANIM\_NAME> <PART\_ID>HANDLING\_Knob\_AileronTrim</PART\_ID> <WWISE\_EVENT\_1>aileron\_trim\_knob\_01</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>aileron\_trim\_knob\_02</WWISE\_EVENT\_2> <INCREMENT>15</INCREMENT> </Case> <Case Value="SWITCH"> <NODE\_ID>HANDLING\_Switch\_AileronTrim</NODE\_ID> <ANIM\_NAME>HANDLING\_Switch\_AileronTrim</ANIM\_NAME> <PART\_ID>HANDLING\_Switch\_AileronTrim\_LR</PART\_ID> <OTHER\_PART\_ID>HANDLING\_Switch\_AileronTrim</OTHER\_PART\_ID> <WWISE\_EVENT>aileron\_trim\_switch</WWISE\_EVENT> <ID>1</ID> <INCREMENT>5</INCREMENT> <SWITCH\_DIRECTION>Horizontal</SWITCH\_DIRECTION> </Case> </Switch> <DRAG\_INCREMENT>1</DRAG\_INCREMENT> <Condition Check="NEEDLE\_NODE\_ID"> <NEEDLE\_ANIM\_NAME>HANDLING\_Knob\_AileronTrim\_Needle</NEEDLE\_ANIM\_NAME> </Condition> <ANIM\_SIMVAR\_MIN>-100</ANIM\_SIMVAR\_MIN> <ANIM\_SIMVAR\_MAX>100</ANIM\_SIMVAR\_MAX> <ANIM\_SIMVAR\_SCALE>-0.5</ANIM\_SIMVAR\_SCALE> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.AILERON\_TRIM</TOOLTIPID> <THRESHOLD\_INPUT>0.00025</THRESHOLD\_INPUT> <THRESHOLD\_MOUSE>0.005</THRESHOLD\_MOUSE> </Parameters> <Parameters Type="Default"> <TOOLTIP\_AILERONS\_TRIM\_TITLE>@TT\_Package.HANDLING\_KNOB\_AILERON\_TITLE</TOOLTIP\_AILERONS\_TRIM\_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_AILERONS\_TRIM\_TITLE\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#</TOOLTIP\_ENTRY\_0> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <UseTemplate Name="ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template"> <TRIM\_NAME>AileronsTrim</TRIM\_NAME> <TRIM\_TYPE>Ailerons</TRIM\_TYPE> <SWITCH\_POSITION\_TYPE>L</SWITCH\_POSITION\_TYPE> <SWITCH\_POSITION\_VAR>XMLVAR\_AileronTrim\_Switch\_\#IE\_AILERONS\_TRIM\#</SWITCH\_POSITION\_VAR> <SWITCH\_POSITION\_TYPE\_TIMER>L</SWITCH\_POSITION\_TYPE\_TIMER> <SWITCH\_POSITION\_VAR\_TIMER>XMLVAR\_AileronTrim\_\#IE\_AILERONS\_TRIM\#\_SwitchStateTimer</SWITCH\_POSITION\_VAR\_TIMER> </UseTemplate> </Case> <Case Value="KNOB"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <AILERONS\_TRIM\_ID>1</AILERONS\_TRIM\_ID> </UseInputEvent> <UseTemplate Name = "ASOBO\_GT\_Knob\_Finite\_Code"> <CURSOR>Hand</CURSOR> <CLOCKWISE\_CODE> \#INCREMENT\# (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Inc) </CLOCKWISE\_CODE> <ANTICLOCKWISE\_CODE> \#INCREMENT\# (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Dec) </ANTICLOCKWISE\_CODE> <ANIM\_CODE>(A:AILERON TRIM PCT, percent) 0.5 \* 50 +</ANIM\_CODE> <Condition Check="INVERT\_KNOB\_ANIM"> <INVERT\_ANIM>\#INVERT\_KNOB\_ANIM\#</INVERT\_ANIM> </Condition> <Condition Valid="KNOB\_HIGHLIGHT\_NODE\_ID"> <HIGHLIGHT\_NODE\_ID>\#KNOB\_HIGHLIGHT\_NODE\_ID\#</HIGHLIGHT\_NODE\_ID> </Condition> </UseTemplate> </Component> <Condition Check="NEEDLE\_NODE\_ID"> <Component ID="\#NEEDLE\_NODE\_ID\#" Node="\#NEEDLE\_NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Anim\_Sim"> <ANIM\_NAME>\#NEEDLE\_ANIM\_NAME\#</ANIM\_NAME> <ANIM\_SIMVAR>AILERON TRIM PCT</ANIM\_SIMVAR> <ANIM\_SIMVAR\_UNITS>percent</ANIM\_SIMVAR\_UNITS> <ANIM\_SIMVAR\_SCALE>-0.5</ANIM\_SIMVAR\_SCALE> <ANIM\_SIMVAR\_BIAS>50</ANIM\_SIMVAR\_BIAS> <Condition Check="INVERT\_NEEDLE\_ANIM"> <INVERT\_ANIM>\#INVERT\_NEEDLE\_ANIM\#</INVERT\_ANIM> </Condition> </UseTemplate> </Component> </Condition> </Case> </Switch> </Template> <!-- On a KNOB interaction, you can set INVERT\_EFFECT to True if you want to invert IE key (inc/dec) --> <Template Name="ASOBO\_HANDLING\_RudderTrim\_Template"> <Parameters Type="Default"> <ID>1</ID> </Parameters> <Parameters Type="Default"> <Condition Check="SECONDARY"> <True> <IE\_RUDDER\_TRIM>\#ID\#\_Secondary</IE\_RUDDER\_TRIM> </True> <False> <IE\_RUDDER\_TRIM>\#ID\#</IE\_RUDDER\_TRIM> </False> </Condition> </Parameters> <Parameters Type="Default"> <MOUSE\_WHEEL\_INCREMENT>20</MOUSE\_WHEEL\_INCREMENT> <NODE\_ID>HANDLING\_Knob\_RudderTrim</NODE\_ID> <ANIM\_NAME>HANDLING\_Knob\_RudderTrim</ANIM\_NAME> <RESET\_PUSH\_NODE\_ID>HANDLING\_Push\_RudderTrim\_Reset</RESET\_PUSH\_NODE\_ID> <RESET\_PUSH\_ANIM\_NAME>HANDLING\_Push\_RudderTrim\_Reset</RESET\_PUSH\_ANIM\_NAME> <PART\_ID>HANDLING\_Knob\_RudderTrim</PART\_ID> <Condition Check="NEEDLE\_NODE\_ID"> <NEEDLE\_ANIM\_NAME>HANDLING\_Knob\_RudderTrim\_Needle</NEEDLE\_ANIM\_NAME> </Condition> <WWISE\_EVENT>rudder\_trim\_knob</WWISE\_EVENT> <WWISE\_EVENT\_1>rudder\_trim\_knob\_01</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>rudder\_trim\_knob\_02</WWISE\_EVENT\_2> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <INCREMENT>25</INCREMENT> <Condition Valid="NOT\_DISABLED\_BY\_AP"> <False> <ADDITIONAL\_TESTS>(A:AUTOPILOT MASTER, Bool) ! and</ADDITIONAL\_TESTS> </False> </Condition> </Case> <Case Value="WHEEL"> <CURSOR>Grab</CURSOR> <INCREMENT>25</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>-16384</LOWER\_LIMIT> </Case> <Case Value="KNOB"> <INCREMENT>10</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>-16384</LOWER\_LIMIT> </Case> </Switch> <TOOLTIP\_RUDDER\_TRIM\_TITLE>@TT\_Package.HANDLING\_KNOB\_RUDDER\_TRIM\_TITLE</TOOLTIP\_RUDDER\_TRIM\_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_RUDDER\_TRIM\_TITLE\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#</TOOLTIP\_ENTRY\_0> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <UseTemplate Name="ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template"> <!-- Trim\_Base configuration --> <ARROW\_TYPE>Curved</ARROW\_TYPE> <TRIM\_NAME>RudderTrim</TRIM\_NAME> <TRIM\_TYPE>Rudder</TRIM\_TYPE> <SWITCH\_POSITION\_TYPE>L</SWITCH\_POSITION\_TYPE> <SWITCH\_POSITION\_VAR>XMLVAR\_RudderTrim\_Switch\_\#IE\_RUDDER\_TRIM\#</SWITCH\_POSITION\_VAR> <SWITCH\_POSITION\_TYPE\_TIMER>L</SWITCH\_POSITION\_TYPE\_TIMER> <SWITCH\_POSITION\_VAR\_TIMER>XMLVAR\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_SwitchStateTimer</SWITCH\_POSITION\_VAR\_TIMER> </UseTemplate> <Condition Check="NO\_RESET\_PUSH"> <False> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <INTERACTION\_TYPE>Push</INTERACTION\_TYPE> <TT\_ICON>Push</TT\_ICON> <IE\_NAME>RudderTrim\_Reset</IE\_NAME> <SET\_CODE>0 (>K:RUDDER\_TRIM\_SET) 1 (>O:\_ButtonAnimVar)</SET\_CODE> <WWISE\_EVENT\_1>rudder\_trim\_rest\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>rudder\_trim\_rest\_push\_button\_on</WWISE\_EVENT\_2> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_PUSH\_RUDDERRESET\_ACTION</TT\_DESCRIPTION\_ID> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_PUSH\_RUDDERRESET\_TITLE</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_RudderTrim\_Reset</TOOLTIP\_ENTRY\_0> <NODE\_ID>\#RESET\_PUSH\_NODE\_ID\#</NODE\_ID> <ANIM\_NAME>\#RESET\_PUSH\_ANIM\_NAME\#</ANIM\_NAME> <BINDING\_INC\_0\_EVENT\_ID>RUDDER\_TRIM\_RESET</BINDING\_INC\_0\_EVENT\_ID> </UseTemplate> </False> </Condition> </Case> <Case Value="WHEEL"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <RUDDER\_TRIM\_ID>1</RUDDER\_TRIM\_ID> </UseInputEvent> <Condition Check="INFINITE"> <True> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingYAxis\_Code"> <UP\_CODE>(>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Inc)</UP\_CODE> <DOWN\_CODE>(>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Dec)</DOWN\_CODE> <IS\_LOOPING/> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis"> <NO\_ARROWS>True</NO\_ARROWS> <CURSOR>Grab</CURSOR> <ANIM\_LENGTH>100</ANIM\_LENGTH> <ANIM\_CODE>(B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#)</ANIM\_CODE> <Condition Valid="USE\_TRAJECTORY\_DRAG\_MODE"> <True> <DRAG\_CODE> (M:DragPercent) 2 \* 1 - 16384 \* \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set) </DRAG\_CODE> </True> <False> <DRAG\_CODE> (A:RUDDER TRIM PCT, position 16k) \#INCREMENT\# (O:DragScale) \* -1 \* + \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set) </DRAG\_CODE> </False> </Condition> <POSITIVE\_AXIS\_CODE>\#MOUSE\_WHEEL\_INCREMENT\# (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Dec)</POSITIVE\_AXIS\_CODE> <NEGATIVE\_AXIS\_CODE>\#MOUSE\_WHEEL\_INCREMENT\# (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Inc)</NEGATIVE\_AXIS\_CODE> </UseTemplate> </False> </Condition> </Component> </Case> <Case Value="KNOB"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <RUDDER\_TRIM\_ID>1</RUDDER\_TRIM\_ID> </UseInputEvent> <Parameters Type="Override"> <Condition Valid="INVERT\_EFFECT"> <False> <INC>Inc</INC> <DEC>Dec</DEC> </False> <True> <INC>Dec</INC> <DEC>Inc</DEC> </True> </Condition> </Parameters> <UseTemplate Name = "ASOBO\_GT\_Knob\_Finite\_Code"> <CURSOR>Hand</CURSOR> <CLOCKWISE\_CODE> \#INCREMENT\# (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_\#INC\#) </CLOCKWISE\_CODE> <ANTICLOCKWISE\_CODE> \#INCREMENT\# (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_\#DEC\#) </ANTICLOCKWISE\_CODE> <ANIM\_CODE>(B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#)</ANIM\_CODE> <Condition Valid="INVERT\_KNOB\_ANIM"> <INVERT\_ANIM>\#INVERT\_KNOB\_ANIM\#</INVERT\_ANIM> </Condition> <Condition Valid="KNOB\_HIGHLIGHT\_NODE\_ID"> <HIGHLIGHT\_NODE\_ID>\#KNOB\_HIGHLIGHT\_NODE\_ID\#</HIGHLIGHT\_NODE\_ID> </Condition> </UseTemplate> </Component> </Case> </Switch> <Condition Check="NEEDLE\_NODE\_ID"> <Component ID="\#NEEDLE\_NODE\_ID\#" Node="\#NEEDLE\_NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Anim\_Sim"> <ANIM\_NAME>\#NEEDLE\_ANIM\_NAME\#</ANIM\_NAME> <ANIM\_SIMVAR>RUDDER TRIM PCT</ANIM\_SIMVAR> <ANIM\_SIMVAR\_UNITS>percent</ANIM\_SIMVAR\_UNITS> <ANIM\_SIMVAR\_SCALE>0.5</ANIM\_SIMVAR\_SCALE> <ANIM\_SIMVAR\_BIAS>50</ANIM\_SIMVAR\_BIAS> </UseTemplate> </Component> </Condition> </Template> <Template Name="ASOBO\_HANDLING\_ElevatorTrim\_Template"> <Parameters Type="Default"> <ID>1</ID> </Parameters> <Parameters Type="Default"> <Condition Check="SECONDARY"> <True> <IE\_ELEVATOR\_TRIM>\#ID\#\_Secondary</IE\_ELEVATOR\_TRIM> </True> <False> <IE\_ELEVATOR\_TRIM>\#ID\#</IE\_ELEVATOR\_TRIM> </False> </Condition> <LIMIT\_RATIO Process="Float">(A:ELEVATOR TRIM LIMIT RATIO, number)</LIMIT\_RATIO> <LOWER\_RATIO>1</LOWER\_RATIO> </Parameters> <Parameters Type="Override"> <Condition Valid="RESCALE\_LIMITS"> <LOWER\_RATIO Process="Float">\#LIMIT\_RATIO\# 1 >= if{ 1 \#LIMIT\_RATIO\# / } els{ 1 }</LOWER\_RATIO> </Condition> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <ANIM\_NAME>HANDLING\_Wheel\_ElevatorTrim</ANIM\_NAME> <NODE\_ID>HANDLING\_Wheel\_ElevatorTrim</NODE\_ID> <PART\_ID>HANDLING\_Wheel\_ElevatorTrim</PART\_ID> <Condition Check="INFINITE"> <True> <DRAG\_SPEED>8</DRAG\_SPEED> </True> </Condition> <INCREMENT>30</INCREMENT> <MOUSE\_WHEEL\_INCREMENT>16</MOUSE\_WHEEL\_INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT Process="Float">-16384 \#LOWER\_RATIO\# \*</LOWER\_LIMIT> <AXIS>Y</AXIS> <Condition Check="DOUBLE\_WHEEL"> <NODE\_ID2>HANDLING\_Wheel\_ElevatorTrim\_Pitch\_2</NODE\_ID2> </Condition> <DRAG\_AXIS\_SCALE>100</DRAG\_AXIS\_SCALE> <WWISE\_EVENT\_1>elevator\_trim\_lock\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>elevator\_trim\_lock\_off</WWISE\_EVENT\_2> <DRAG\_SCALAR>0.001</DRAG\_SCALAR> <INPUTEVENT\_VAR\_TYPE>L</INPUTEVENT\_VAR\_TYPE> <INPUTEVENT\_VAR\_NAME>HANDLING\_ElevatorTrim</INPUTEVENT\_VAR\_NAME> </Case> <Case Value="SWITCH"> <NODE\_ID>HANDLING\_Switch\_ElevatorTrim\_\#ID\#</NODE\_ID> <ANIM\_NAME>HANDLING\_Switch\_ElevatorTrim\_\#ID\#</ANIM\_NAME> <PART\_ID>HANDLING\_Switch\_Elevator\_Trim</PART\_ID> <OTHER\_PART\_ID>HANDLING\_Switch\_ElevatorTrim</OTHER\_PART\_ID> <WWISE\_EVENT>elevator\_switch</WWISE\_EVENT> <COUNT>2</COUNT> <ANIMREF\_ID>-1</ANIMREF\_ID> <ANIMTIP\_0\_ON\_CURSOR>UpArrow</ANIMTIP\_0\_ON\_CURSOR> <ANIMTIP\_1\_ON\_CURSOR>DownArrow</ANIMTIP\_1\_ON\_CURSOR> <ANIMTIP\_0>TT:COCKPIT.TOOLTIPS.MET\_PITCH\_TRIM\_DN</ANIMTIP\_0> <ANIMTIP\_1>TT:COCKPIT.TOOLTIPS.MET\_PITCH\_TRIM\_UP</ANIMTIP\_1> <TRIM\_LIMIT>20</TRIM\_LIMIT> <!-- elevator\_trim\_limit in flight\_model.cfg --> <SWITCH\_POSITION\_TYPE>L</SWITCH\_POSITION\_TYPE> <SWITCH\_POSITION\_VAR>XMLVAR\_ElevatorTrim\_Switch\_\#IE\_ELEVATOR\_TRIM\#</SWITCH\_POSITION\_VAR> <SWITCH\_POSITION\_TYPE\_TIMER>L</SWITCH\_POSITION\_TYPE\_TIMER> <SWITCH\_POSITION\_VAR\_TIMER>XMLVAR\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_SwitchStateTimer</SWITCH\_POSITION\_VAR\_TIMER> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TOOLTIP\_ELEVATOR\_TRIM\_TITLE>@TT\_Package.HANDLING\_SWITCH\_YOKE\_ELEVATORTRIM\_TITLE</TOOLTIP\_ELEVATOR\_TRIM\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_PackageV3.ACTION.POSITION\_ADJUST</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_ELEVATOR\_TRIM\_TITLE\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#</TOOLTIP\_ENTRY\_0> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <Condition Check="INFINITE"> <True> <UP\_CODE>(>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Inc)</UP\_CODE> <DOWN\_CODE>(>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Dec)</DOWN\_CODE> </True> <False> <Condition Valid="USE\_TRAJECTORY\_DRAG\_MODE"> <True> <DRAG\_CODE> (M:DragPercent) 2 \* 1 - 16384 \* \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set) </DRAG\_CODE> </True> <False> <Condition Valid="SLOW\_DRAG"> <True> <DRAG\_CODE> -1 1 (I:\_comparePos) (O:\_LastPos) < ? sp0 (\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) \#INCREMENT\# (O:DragScale) \* l0 \* + \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set) </DRAG\_CODE> </True> <False> <DRAG\_CODE> (\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) \#INCREMENT\# (O:DragScale) \* -1 \* + \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set) </DRAG\_CODE> </False> </Condition> </False> </Condition> <POSITIVE\_AXIS\_CODE>\#MOUSE\_WHEEL\_INCREMENT\# (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Dec)</POSITIVE\_AXIS\_CODE> <NEGATIVE\_AXIS\_CODE>\#MOUSE\_WHEEL\_INCREMENT\# (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Inc)</NEGATIVE\_AXIS\_CODE> </False> </Condition> </Case> </Switch> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Condition Valid="SLOW\_DRAG"> <True> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_ONCE>True</UPDATE\_ONCE> <UPDATE\_CODE>\#DRAG\_AXIS\_SCALE\# (>O:DragScale)</UPDATE\_CODE> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Update"> <FREQUENCY>3</FREQUENCY> <UPDATE\_CODE>(O:\_LastPos) (>I:\_comparePos)</UPDATE\_CODE> </UseTemplate> </True> </Condition> <UseInputEvent ID="HANDLING"> <ELEVATOR\_TRIM\_ID>1</ELEVATOR\_TRIM\_ID> </UseInputEvent> <DefaultTemplateParameters> <Condition Valid="HIGHLIGHT\_NODE\_ID\_1"> <HIGHLIGHT\_NODE\_ID>\#HIGHLIGHT\_NODE\_ID\_1\#</HIGHLIGHT\_NODE\_ID> </Condition> </DefaultTemplateParameters> <Condition Check="INFINITE"> <True> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingYAxis\_Code"> <IS\_LOOPING/> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis"> <NO\_ARROWS>True</NO\_ARROWS> <CURSOR>Grab</CURSOR> <ANIM\_LENGTH>100</ANIM\_LENGTH> <ANIM\_CODE>(B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#)</ANIM\_CODE> </UseTemplate> </False> </Condition> </Component> <Condition Check="HIGHLIGHT\_NODE\_ID"> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <NODE\_ID>\#HIGHLIGHT\_NODE\_ID\#</NODE\_ID> </UseTemplate> </Condition> <Condition Check="DOUBLE\_WHEEL"> <Component ID="\#NODE\_ID2\#" Node="\#NODE\_ID2\#"> <DefaultTemplateParameters> <Condition Valid="HIGHLIGHT\_NODE\_ID\_2"> <HIGHLIGHT\_NODE\_ID>\#HIGHLIGHT\_NODE\_ID\_2\#</HIGHLIGHT\_NODE\_ID> </Condition> </DefaultTemplateParameters> <Condition Check="INFINITE"> <True> <UseTemplate Name="ASOBO\_GT\_Interaction\_DraggingYAxis\_Code"> <HELPID>HELPID\_GAUGE\_PITCH\_TRIM</HELPID> <IS\_LOOPING/> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Interaction\_WheelLeftDrag\_Axis"> <NO\_ARROWS>True</NO\_ARROWS> <CURSOR>Grab</CURSOR> </UseTemplate> </False> </Condition> </Component> </Condition> </Case> <Case Value="SWITCH"> <UseTemplate Name="ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template"> <SWITCH\_DIRECTION>Vertical</SWITCH\_DIRECTION> <!-- Trim\_Base configuration --> <TRIM\_NAME>ElevatorTrim</TRIM\_NAME> <TRIM\_TYPE>Elevator</TRIM\_TYPE> </UseTemplate> </Case> </Switch> </Template> <!-- req: UP\_DN\_TRIM\_TYPE & L\_R\_TRIM\_TYPE (ELEVATOR, AILERON, RUDDER) --> <Template Name="ASOBO\_HANDLING\_Combined\_Trim\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Combined\_Trim</NODE\_ID> <ANIM\_NAME\_L\_R>HANDLING\_\#INTERACTION\_TYPE\#\_Combined\_Trim\_L\_R</ANIM\_NAME\_L\_R> <ANIM\_NAME\_DN\_UP>HANDLING\_\#INTERACTION\_TYPE\#\_Combined\_Trim\_L\_R</ANIM\_NAME\_DN\_UP> <TRIM\_UPDATE\_FREQUENCY>20</TRIM\_UPDATE\_FREQUENCY> <WWISE\_PREFIX>trim</WWISE\_PREFIX> </Parameters> <Parameters Type="Override"> <TRIM\_TYPE\_0>\#L\_R\_TRIM\_TYPE\#</TRIM\_TYPE\_0> <TRIM\_TYPE\_1>\#UP\_DN\_TRIM\_TYPE\#</TRIM\_TYPE\_1> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <To>1</To> </Setup> <Do> <Parameters Type="Override"> <TRIM\_TYPE Process="Param">TRIM\_TYPE\_\#CUR\_ID\#</TRIM\_TYPE> </Parameters> <Switch Param="TRIM\_TYPE"> <Case Value="RUDDER"> <INC\_TRIM\_\#CUR\_ID\#>(>K:RUDDER\_TRIM\_RIGHT)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:RUDDER\_TRIM\_LEFT)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:RUDDER TRIM, degrees)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_KNOB\_RUDDER\_TRIM\_ACTION</TT\_TRIM\_\#CUR\_ID\#> </Case> <Case Value="AILERON"> <INC\_TRIM\_\#CUR\_ID\#>(>K:AILERON\_TRIM\_RIGHT)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:AILERON\_TRIM\_LEFT)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:AILERON TRIM, degrees)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_KNOB\_AILERON\_ACTION</TT\_TRIM\_\#CUR\_ID\#> </Case> <Case Value="ELEVATOR"> <INC\_TRIM\_\#CUR\_ID\#>(>K:ELEV\_TRIM\_DN)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:ELEV\_TRIM\_UP)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:ELEVATOR TRIM POSITION, degrees)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_SWITCH\_YOKE\_ELEVATORTRIM\_ACTION</TT\_TRIM\_\#CUR\_ID\#> <TT\_VALUE\_3>@TT\_Package.HANDLING\_WHEEL\_ELEVATOR\_STATE\_NOSEDOWN</TT\_VALUE\_3> <TT\_VALUE\_2>@TT\_Package.HANDLING\_WHEEL\_ELEVATOR\_STATE\_NOSEUP</TT\_VALUE\_2> </Case> <Case Value="LONGITUDINAL"> <INC\_TRIM\_\#CUR\_ID\#>(>K:ROTOR\_LONGITUDINAL\_TRIM\_DEC)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:ROTOR\_LONGITUDINAL\_TRIM\_INC)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:ROTOR LONGITUDINAL TRIM PCT, percent)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_JOYSTICK\_LONGITUDINAL\_TRIM\_ACTION</TT\_TRIM\_\#CUR\_ID\#> <FORMAT\_VALUE>'%.1f %%' @sprintf</FORMAT\_VALUE> </Case> <Case Value="LATERAL"> <INC\_TRIM\_\#CUR\_ID\#>(>K:ROTOR\_LATERAL\_TRIM\_INC)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:ROTOR\_LATERAL\_TRIM\_DEC)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:ROTOR LATERAL TRIM PCT, percent)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_JOYSTICK\_LATERAL\_TRIM\_ACTION</TT\_TRIM\_\#CUR\_ID\#> <FORMAT\_VALUE>'%.1f %%' @sprintf</FORMAT\_VALUE> </Case> </Switch> </Do> </Loop> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Parameters Type="Default"> <THRESHOLD\_X\_INPUT>0.01</THRESHOLD\_X\_INPUT> <THRESHOLD\_X\_MOUSE>0.001</THRESHOLD\_X\_MOUSE> <THRESHOLD\_Y\_INPUT>0.01</THRESHOLD\_Y\_INPUT> <THRESHOLD\_Y\_MOUSE>0.001</THRESHOLD\_Y\_MOUSE> <TOOLTIP\_TITLE>@TT\_Package.YOKE\_PUSH\_NOSE\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.YOKE\_PUSH\_NOSE\_ACTION</TT\_DESCRIPTION\_ID> <FORMAT\_VALUE>'%.1f°' @sprintf</FORMAT\_VALUE> <TT\_VALUE\_IS\_DYNAMIC>True</TT\_VALUE\_IS\_DYNAMIC> <STATE\_VAR>HANDLING\_\#TRIM\_TYPE\_0\#\_\#TRIM\_TYPE\_1\#\_Trim\_Position</STATE\_VAR> </Parameters> <UseTemplate Name="ASOBO\_HANDLING\_Axis\_Event\_Base\_Template"> <IE\_NAME>\#TRIM\_TYPE\_0\#\_Trim</IE\_NAME> <AXIS>X</AXIS> <LEFT\_CODE\_EXTERNAL>0 (>L:1:\#STATE\_VAR\#)</LEFT\_CODE\_EXTERNAL> <IE\_STANDBY\_CODE>4 (>L:1:\#STATE\_VAR\#)</IE\_STANDBY\_CODE> <RIGHT\_CODE\_EXTERNAL>1 (>L:1:\#STATE\_VAR\#)</RIGHT\_CODE\_EXTERNAL> <TT\_VALUE>\#GET\_TRIM\_0\# \#FORMAT\_VALUE\#</TT\_VALUE> <TT\_DESCRIPTION\_ID>\#TT\_TRIM\_0\#</TT\_DESCRIPTION\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_HANDLING\_Axis\_Event\_Base\_Template"> <IE\_NAME>\#TRIM\_TYPE\_1\#\_Trim</IE\_NAME> <AXIS>Y</AXIS> <LEFT\_CODE\_EXTERNAL>2 (>L:1:\#STATE\_VAR\#)</LEFT\_CODE\_EXTERNAL> <IE\_STANDBY\_CODE>4 (>L:1:\#STATE\_VAR\#)</IE\_STANDBY\_CODE> <RIGHT\_CODE\_EXTERNAL>3 (>L:1:\#STATE\_VAR\#)</RIGHT\_CODE\_EXTERNAL> <TT\_VALUE>\#GET\_TRIM\_1\# \#FORMAT\_VALUE\#</TT\_VALUE> <TT\_DESCRIPTION\_ID>\#TT\_TRIM\_1\#</TT\_DESCRIPTION\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>\#TRIM\_TYPE\_0\#\_\#TRIM\_TYPE\_1\#\_Trim</IE\_NAME> <JOYSTICK\_TYPE>5\_STATES</JOYSTICK\_TYPE> <JOYSTICK\_INTERACTION\_TYPE>POSITIONAL</JOYSTICK\_INTERACTION\_TYPE> <CREATE\_COMPONENT>False</CREATE\_COMPONENT> <IE\_ID\_EXTERNAL\_0>\#TRIM\_TYPE\_0\#\_Trim</IE\_ID\_EXTERNAL\_0> <IE\_ID\_EXTERNAL\_1>\#TRIM\_TYPE\_1\#\_Trim</IE\_ID\_EXTERNAL\_1> <ON\_POS\_LEFT>\#DEC\_TRIM\_0\#</ON\_POS\_LEFT> <ON\_POS\_RIGHT>\#INC\_TRIM\_0\#</ON\_POS\_RIGHT> <ON\_POS\_DOWN>\#DEC\_TRIM\_1\#</ON\_POS\_DOWN> <ON\_POS\_UP>\#INC\_TRIM\_1\#</ON\_POS\_UP> <GET\_STATE\_EXTERNAL>(L:1:\#STATE\_VAR\#) sp0</GET\_STATE\_EXTERNAL> <VAR\_TO\_WATCH\_0>\#STATE\_VAR\#</VAR\_TO\_WATCH\_0> <VAR\_TO\_WATCH\_0\_SCOPE>L</VAR\_TO\_WATCH\_0\_SCOPE> <FREQUENCY>\#TRIM\_UPDATE\_FREQUENCY\#</FREQUENCY> </UseTemplate> </Component> </Template> <!-- Choose what trim you want to disable with variable TYPE Aileron , RudderAileron (both) , Elevator , Electrical (if you want to disable any electrical interaction of a switch type trim) If you need more, add a case that override the SET\_TRIM\_X variables you need --> <Template Name="ASOBO\_HANDLING\_AP\_Trim\_Disc\_SubTemplate"> <Parameters Type="Default"> <TYPE>RudderAileron</TYPE> <SET\_TRIM\_ELEVATOR/> <SET\_TRIM\_RUDDER/> <SET\_TRIM\_AILERON/> <SET\_TRIM\_ELECTRICAL/> <GET\_TRIM/> <ELECTRICAL\_POWER\_VAR\_NAME>XMLVAR\_Electrical\_Trim\_Disabled</ELECTRICAL\_POWER\_VAR\_NAME> <ELECTRICAL\_POWER\_VAR\_TYPE>L</ELECTRICAL\_POWER\_VAR\_TYPE> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="RudderAileron"> <SET\_TRIM\_RUDDER>l0 (>K:RUDDER\_TRIM\_DISABLED\_SET)</SET\_TRIM\_RUDDER> <SET\_TRIM\_AILERON>l0 (>K:AILERON\_TRIM\_DISABLED\_SET)</SET\_TRIM\_AILERON> <GET\_TRIM>(A:RUDDER TRIM DISABLED, Bool) (A:ELEVATOR TRIM DISABLED, Bool) and</GET\_TRIM> </Case> <Case Value="Elevator"> <SET\_TRIM\_ELEVATOR>l0 (>K:ELEVATOR\_TRIM\_DISABLED\_SET)</SET\_TRIM\_ELEVATOR> <GET\_TRIM>(A:ELEVATOR TRIM DISABLED, Bool)</GET\_TRIM> </Case> <Case Value="Aileron"> <SET\_TRIM\_ELEVATOR>l0 (>K:AILERON\_TRIM\_DISABLED\_SET)</SET\_TRIM\_ELEVATOR> <GET\_TRIM>(A:AILERON TRIM DISABLED, Bool)</GET\_TRIM> </Case> <Case Value="Electrical"> <SET\_TRIM\_ELECTRICAL>l0 (>\#ELECTRICAL\_POWER\_VAR\_TYPE\#:\#ELECTRICAL\_POWER\_VAR\_NAME\#)</SET\_TRIM\_ELECTRICAL> <GET\_TRIM>(\#ELECTRICAL\_POWER\_VAR\_TYPE\#:\#ELECTRICAL\_POWER\_VAR\_NAME\#)</GET\_TRIM> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Condition Valid="USE\_AP\_STATE\_FOR\_TT\_VALUE\_STATE"> <True> <TT\_VALUE\_STATE>(A:AUTOPILOT MASTER, bool) !</TT\_VALUE\_STATE> </True> <False> <TT\_VALUE\_STATE>\#GET\_TRIM\#</TT\_VALUE\_STATE> </False> </Condition> </Parameters> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_AP\_Trim\_Disc\_\#ID\#</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_AP\_Trim\_Disc\_\#ID\#</ANIM\_NAME> <SET\_TRIM>sp0 \#SET\_TRIM\_ELEVATOR\# \#SET\_TRIM\_RUDDER\# \#SET\_TRIM\_AILERON\# \#SET\_TRIM\_ELECTRICAL\#</SET\_TRIM> <Switch Param="INTERACTION\_TYPE"> <Case Value="PUSH"> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> <TT\_VALUE>\#TT\_VALUE\_STATE\# if{ (R:1:@TT\_Package.GT\_STATE\_DISCONNECTED) } els{ (R:1:@TT\_Package.GT\_STATE\_CONNECTED) }</TT\_VALUE> <TT\_VALUE\_IS\_DYNAMIC>True</TT\_VALUE\_IS\_DYNAMIC> </Case> <Case Value="SWITCH"> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> </Case> </Switch> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Parameters Type="Default"> <ANIM\_VAR>\_ButtonDown</ANIM\_VAR> <ANIM\_VAR\_TYPE>O</ANIM\_VAR\_TYPE> <TT\_DESCRIPTION\_ID\_PUSH>@TT\_Package.YOKE\_PUSH\_AP\_TRIM\_DISC\_ACTION</TT\_DESCRIPTION\_ID\_PUSH> <TOOLTIP\_TITLE\_PUSH>@TT\_Package.YOKE\_PUSH\_AP\_TRIM\_DISC\_TITLE</TOOLTIP\_TITLE\_PUSH> <TRIM\_DISC\_IE\_NAME>Trim\_Disconnect</TRIM\_DISC\_IE\_NAME> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="PUSH"> <Switch Param="VARIATION"> <Case Value="TOGGLE\_ON\_PUSH"> <PUSH\_EVENT> \#GET\_TRIM\# if{ 0 \#SET\_TRIM\# } els{ 1 \#SET\_TRIM\# 1 (>K:AUTOPILOT\_OFF) (>H:Generic\_Autopilot\_Disc) } 100 (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#) </PUSH\_EVENT> <RELEASE\_EVENT>0 (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</RELEASE\_EVENT> </Case> <Default> <PUSH\_EVENT>1 \#SET\_TRIM\# 1 (>K:AUTOPILOT\_OFF) (>H:Generic\_Autopilot\_Disc) 100 (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</PUSH\_EVENT> <RELEASE\_EVENT>0 \#SET\_TRIM\# 0 (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</RELEASE\_EVENT> </Default> </Switch> </Case> </Switch> <BTN\_ID>\#TRIM\_DISC\_IE\_NAME\#</BTN\_ID> <TOOLTIP\_TITLE>\#TOOLTIP\_TITLE\_PUSH\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_\#TRIM\_DISC\_IE\_NAME\#</TOOLTIP\_ENTRY\_0> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_PUSH\#</TT\_DESCRIPTION\_ID> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="PUSH"> <UseInputEvent ID="HANDLING"> <BINDING\_DEC\_0>Release</BINDING\_DEC\_0> <BINDING\_DEC\_0\_PARAM\_0>0</BINDING\_DEC\_0\_PARAM\_0> <SET\_STATE\_EXTERNAL>if{ \#PUSH\_EVENT\# } els{ \#RELEASE\_EVENT\# }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Held"> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Push)</LEFT\_SINGLE\_CODE> <LEFT\_LEAVE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Release)</LEFT\_LEAVE\_CODE> <OVERRIDE\_ANIM\_CODE>(\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</OVERRIDE\_ANIM\_CODE> </UseTemplate> </Case> <Case Value="SWITCH"> <UseInputEvent ID="HANDLING"> <GET\_STATE\_EXTERNAL>\#GET\_TRIM\# sp0</GET\_STATE\_EXTERNAL> <SET\_STATE\_ON>1 \#SET\_TRIM\#</SET\_STATE\_ON> <SET\_STATE\_OFF>0 \#SET\_TRIM\#</SET\_STATE\_OFF> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> <ANIM\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) 100 \*</ANIM\_CODE> </UseTemplate> </Case> </Switch> </Component> </Template> <!-- REQ: NODE\_ID, ANIM\_NAME, TRIM\_LIMIT, TRIM\_NAME, TRIM\_TYPE --> <Template Name="ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template"> <Parameters Type="Default"> <Switch Param="TRIM\_TYPE"> <Case Value="Elevator"> <GET\_TRIM>(A:ELEVATOR TRIM PCT, percent)</GET\_TRIM> <SET\_TRIM>(>K:ELEVATOR\_TRIM\_SET)</SET\_TRIM> <ELEVATOR\_TRIM\_ID>1</ELEVATOR\_TRIM\_ID> </Case> <Case Value="Rudder"> <GET\_TRIM>(A:RUDDER TRIM PCT, Percent)</GET\_TRIM> <SET\_TRIM>(>K:RUDDER\_TRIM\_SET\_EX1)</SET\_TRIM> <RUDDER\_TRIM\_ID>1</RUDDER\_TRIM\_ID> </Case> <Case Value="Ailerons"> <GET\_TRIM>(A:AILERON TRIM PCT, percent)</GET\_TRIM> <SET\_TRIM>(>K:AILERON\_TRIM\_SET\_EX1)</SET\_TRIM> <TRIM\_LIMIT>10</TRIM\_LIMIT> <!-- hardcoded in cpp --> <AILERONS\_TRIM\_ID>1</AILERONS\_TRIM\_ID> </Case> </Switch> <UPDATE\_FREQ>10</UPDATE\_FREQ> <!-- How many updates per second --> <UPDATE\_COUNT\_BEFORE\_FAST\_MODE>40</UPDATE\_COUNT\_BEFORE\_FAST\_MODE> <UPDATE\_COUNT\_BEFORE\_REPEAT>5</UPDATE\_COUNT\_BEFORE\_REPEAT> <MOMENTARY\_MIN\_DURATION>0.1</MOMENTARY\_MIN\_DURATION> <TRIM\_LIMIT>10</TRIM\_LIMIT> <!-- DEGREES --> <NORMAL\_INC\_DEGREES>0.1</NORMAL\_INC\_DEGREES> <!-- How many degrees per update --> <FAST\_MODE\_SCALE>3</FAST\_MODE\_SCALE> <!-- How many time faster the increment is when in fast mode --> <SCALE\_INCREMENT>163.83 \* 16383 min -16383 max</SCALE\_INCREMENT> <!-- Used for elevator trim since you don't set a percentage but a value scaled by 163.83 --> <Condition Valid="LOCK\_NODE\_ID"> <VAR\_NAME\_TRIM\_LOCK\_UNLOCKED>XMLVAR\_\#TRIM\_NAME\#\#ID\#\_Unlocked</VAR\_NAME\_TRIM\_LOCK\_UNLOCKED> <VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED>I</VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED> </Condition> <Condition Check="SECONDARY"> <True> <ADDITIONAL\_TESTS>(B:HANDLING\_Secondary\_\#TRIM\_NAME\#\_Available, Bool) and</ADDITIONAL\_TESTS> </True> <False> <ADDITIONAL\_TESTS/> </False> </Condition> <SWITCH\_DIRECTION>Horizontal</SWITCH\_DIRECTION> <COUNT>2</COUNT> <ELECTRICAL\_POWER>False</ELECTRICAL\_POWER> <ELECTRICAL\_POWER\_VAR\_NAME>XMLVAR\_Electrical\_Trim\_Disabled</ELECTRICAL\_POWER\_VAR\_NAME> <ELECTRICAL\_POWER\_VAR\_TYPE>L</ELECTRICAL\_POWER\_VAR\_TYPE> </Parameters> <Parameters Type="Override"> <Condition Valid="ELECTRICAL\_POWER"> <True> <ADDITIONAL\_TESTS>\#ADDITIONAL\_TESTS\# (\#ELECTRICAL\_POWER\_VAR\_TYPE\#:\#ELECTRICAL\_POWER\_VAR\_NAME\#) ! and</ADDITIONAL\_TESTS> </True> </Condition> </Parameters> <Parameters Type="Override"> <NORMAL\_MODE\_PERCENT\_PER\_UPDATE process="Float">\#NORMAL\_INC\_DEGREES\# \#TRIM\_LIMIT\# / 100 \*</NORMAL\_MODE\_PERCENT\_PER\_UPDATE> <FAST\_MODE\_PERCENT\_PER\_UPDATE process="Float">\#NORMAL\_INC\_DEGREES\# \#TRIM\_LIMIT\# / \#FAST\_MODE\_SCALE\# \* 100 \*</FAST\_MODE\_PERCENT\_PER\_UPDATE> <STATE0\_TEST>(O:\_TrimDelta) 0 ></STATE0\_TEST> <STATE1\_TEST>(O:\_TrimDelta) 0 ==</STATE1\_TEST> <STATE2\_TEST>(O:\_TrimDelta) 0 <</STATE2\_TEST> <Condition Valid="LOCK\_NODE\_ID"> <True> <CODE\_POS\_0\_VERIF>(\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#)</CODE\_POS\_0\_VERIF> <CODE\_POS\_2\_VERIF>(\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#)</CODE\_POS\_2\_VERIF> </True> </Condition> </Parameters> <Condition Valid="LOCK\_NODE\_ID"> <True> <Component ID="\#LOCK\_NODE\_ID\#" Node="\#LOCK\_NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <ANIM\_NAME>\#LOCK\_ANIM\_NAME\#</ANIM\_NAME> <LEFT\_SINGLE\_CODE> (\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#) ! (>\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#) </LEFT\_SINGLE\_CODE> <ANIM\_CODE> (\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#) 100 \* </ANIM\_CODE> </UseTemplate> </Component> </True> </Condition> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Parameters Type="Override"> <INC\_STATE>0</INC\_STATE> <DEC\_STATE>2</DEC\_STATE> <CODE\_POS\_0> 1 (>O:\_TrimDelta) 1 \#ADDITIONAL\_TESTS\# if{ \#GET\_TRIM\# \#NORMAL\_MODE\_PERCENT\_PER\_UPDATE\# - \#SCALE\_INCREMENT\# \#SET\_TRIM\# } </CODE\_POS\_0> <CODE\_POS\_1> 0 (>O:\_TrimDelta) 0 (>O:\_UPDATE\_Count) </CODE\_POS\_1> <CODE\_POS\_2> -1 (>O:\_TrimDelta) 1 \#ADDITIONAL\_TESTS\# if{ \#GET\_TRIM\# \#NORMAL\_MODE\_PERCENT\_PER\_UPDATE\# + \#SCALE\_INCREMENT\# \#SET\_TRIM\# } </CODE\_POS\_2> <STATE\_MAX\_TIMER>\#MOMENTARY\_MIN\_DURATION\#</STATE\_MAX\_TIMER> <STATE0\_TIMER>\#MOMENTARY\_MIN\_DURATION\#</STATE0\_TIMER> </Parameters> <UseInputEvent ID="HANDLING"/> <UseTemplate Name="ASOBO\_GT\_Update"> <FREQUENCY>\#UPDATE\_FREQ\#</FREQUENCY> <UPDATE\_CODE> (O:\_TrimDelta) 0 != \#ADDITIONAL\_TESTS\# if{ (O:\_UPDATE\_Count) \#UPDATE\_COUNT\_BEFORE\_FAST\_MODE\# >= if{ (O:\_TrimDelta) 0 > if{ \#GET\_TRIM\# \#FAST\_MODE\_PERCENT\_PER\_UPDATE\# - \#SCALE\_INCREMENT\# \#SET\_TRIM\# } els{ \#GET\_TRIM\# \#FAST\_MODE\_PERCENT\_PER\_UPDATE\# + \#SCALE\_INCREMENT\# \#SET\_TRIM\# } } els{ (O:\_UPDATE\_Count) \#UPDATE\_COUNT\_BEFORE\_REPEAT\# >= if{ (O:\_TrimDelta) 0 > if{ \#GET\_TRIM\# \#NORMAL\_MODE\_PERCENT\_PER\_UPDATE\# - \#SCALE\_INCREMENT\# \#SET\_TRIM\# } els{ \#GET\_TRIM\# \#NORMAL\_MODE\_PERCENT\_PER\_UPDATE\# + \#SCALE\_INCREMENT\# \#SET\_TRIM\# } } (O:\_UPDATE\_Count) 1 + (>O:\_UPDATE\_Count) } } </UPDATE\_CODE> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Switch\_3States"> <MOMENTARY\_SWITCH/> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_Secondary\_Trim\_Available\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Secondary\_\#TRIM\_NAME\#Trim\_Available</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Secondary\_\#TRIM\_NAME\#Trim\_Available</ANIM\_NAME> <COVER\_NODE\_ID>HANDLING\_Switch\_Secondary\_\#TRIM\_NAME\#Trim\_Available\_Cover</COVER\_NODE\_ID> <COVER\_ANIM\_NAME>HANDLING\_Switch\_Secondary\_\#TRIM\_NAME\#Trim\_Available\_Cover</COVER\_ANIM\_NAME> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Secondary\_\#TRIM\_NAME\#Trim\_Available</PART\_ID> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <COUNT>2</COUNT> <WWISE\_EVENT\_1>secondary\_trim\_switch\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>secondary\_trim\_switch\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> </Switch> <Switch Param="TRIM\_NAME"> <Case Value="Elevator"> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_PUSH\_ELEVATORTRIM\_SECONDARY\_ACTION\_SET</TT\_DESCRIPTION\_ID> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_PUSH\_ELEVATORTRIM\_SECONDARY\_TITLE</TOOLTIP\_TITLE> </Case> </Switch> </Parameters> <Parameters Type="Override"> <BTN\_ID>Secondary\_\#TRIM\_NAME\#Trim\_Available</BTN\_ID> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Airliner"> <INPUT\_EVENT\_ID>HANDLING</INPUT\_EVENT\_ID> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <SET\_STATE\_EXTERNAL>p0 (>O:XMLVAR\_\#BTN\_ID\#)</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(O:XMLVAR\_\#BTN\_ID\#) sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <SEQ1\_EMISSIVE\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool)</SEQ1\_EMISSIVE\_CODE> <SEQ2\_EMISSIVE\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) !</SEQ2\_EMISSIVE\_CODE> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </UseTemplate> </Case> </Switch> </Template> <Template Name="ASOBO\_HANDLING\_Spoilers\_Int\_SubTemplate"> <Parameters Type="Default"> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Spoilers</ANIM\_NAME> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Spoilers</NODE\_ID> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Spoilers</PART\_ID> <WWISE\_PREFIX>spoilers</WWISE\_PREFIX> <RETRACT\_ARMED\_FULL>False</RETRACT\_ARMED\_FULL> <POS\_DOWN>1</POS\_DOWN> <POS\_ARM>0</POS\_ARM> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <DRAG\_AXIS\_SCALE>100</DRAG\_AXIS\_SCALE> <DRAG\_SPEED>30</DRAG\_SPEED> <Condition Valid="USE\_LOCK"> <TT\_ICON\_LOCK>MOVE\_Y</TT\_ICON\_LOCK> <WWISE\_EVENT\_LOCK\_1>lever\_spoiler\_lock\_on</WWISE\_EVENT\_LOCK\_1> <WWISE\_EVENT\_LOCK\_2>lever\_spoiler\_lock\_off</WWISE\_EVENT\_LOCK\_2> <LOCK\_NODE\_ID>HANDLING\_Lever\_Spoilers\_Lock</LOCK\_NODE\_ID> <LOCK\_ANIM\_NAME>HANDLING\_Lever\_Spoilers\_Lock</LOCK\_ANIM\_NAME> <LOCK\_VAR\_SCOPE>I</LOCK\_VAR\_SCOPE> <LOCK\_VAR\_NAME>XMLVAR\_LeverSpoilerLocked</LOCK\_VAR\_NAME> <TOOLTIP\_SPOILERS\_LOCK\_TITLE>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_LOCK\_TITLE</TOOLTIP\_SPOILERS\_LOCK\_TITLE> <TT\_DESCRIPTION\_ID\_SPOILERS\_LOCK>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_LOCK\_ACTION</TT\_DESCRIPTION\_ID\_SPOILERS\_LOCK> </Condition> <Switch Param="TYPE"> <Case Value="AIRLINER"> <Condition Valid="PHYSICAL\_AUTOSPOILER"> <True> <ARMED\_STATE\_TEST>(A:SPOILERS ARMED, Bool) (A:SPOILERS HANDLE POSITION, Percent over 100) 0 == and</ARMED\_STATE\_TEST> </True> <False> <ARMED\_STATE\_TEST>(A:SPOILERS ARMED, Bool)</ARMED\_STATE\_TEST> </False> </Condition> <ANIM\_TRIGGER\_COUNT>3</ANIM\_TRIGGER\_COUNT> <STEPS\_NUMBER>3</STEPS\_NUMBER> <USE\_GATES>True</USE\_GATES> <ANIM\_LENGTH>100</ANIM\_LENGTH> </Case> </Switch> <WWISE\_EVENT>lever\_speedbrakes</WWISE\_EVENT> <MIN\_VALUE>0</MIN\_VALUE> <MAX\_VALUE>@16k</MAX\_VALUE> <LEVER\_ANIM\_LAG>100</LEVER\_ANIM\_LAG> </Case> <Case Value="Switch"> <TIME\_TO\_FULL\_RANGE\_SEC>2</TIME\_TO\_FULL\_RANGE\_SEC> <REPEAT\_FREQUENCY>10</REPEAT\_FREQUENCY> <MOMENTARY\_TIMER>0.1</MOMENTARY\_TIMER> <POS\_DEC>0</POS\_DEC> <POS\_STANDBY>1</POS\_STANDBY> <POS\_INC>2</POS\_INC> <ADDITIONAL\_TESTS/> <Switch Param="PUSH\_TYPE"> <Case Value="EXTEND\_FULL"> <ANIM\_NAME\_PUSH>HANDLING\_\#INTERACTION\_TYPE\#\_Spoilers\_Push</ANIM\_NAME\_PUSH> <INVERT\_ANIM\_PUSH>False</INVERT\_ANIM\_PUSH> </Case> </Switch> </Case> </Switch> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_ACTION</TT\_DESCRIPTION\_ID> <TT\_DESCRIPTION\_ID\_EXTEND>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_ACTION\_EXTEND</TT\_DESCRIPTION\_ID\_EXTEND> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_TITLE</TOOLTIP\_TITLE> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Switch"> <INCREMENT Process="Int">16384 \#TIME\_TO\_FULL\_RANGE\_SEC\# / \#REPEAT\_FREQUENCY\# /</INCREMENT> <MOMENTARY\_SWITCH/> <STATE0\_TIMER>\#MOMENTARY\_TIMER\#</STATE0\_TIMER> <STATE\_MAX\_TIMER>\#MOMENTARY\_TIMER\#</STATE\_MAX\_TIMER> <STATE\_STANDBY>0</STATE\_STANDBY> <STATE\_INC>1</STATE\_INC> <STATE\_DEC>2</STATE\_DEC> <Switch Param="PUSH\_TYPE"> <Case Value="EXTEND\_FULL"> <ADDITIONAL\_TESTS>\#ADDITIONAL\_TESTS\# (B:HANDLING\_Spoilers\_Extend, Bool) ! and</ADDITIONAL\_TESTS> </Case> </Switch> </Case> </Switch> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <Condition Valid="USE\_GATES"> <Condition Valid="RETRACT\_ARMED\_FULL"> <True> <UseTemplate Name="ASOBO\_HANDLING\_Push\_Event\_Base\_Template"> <IE\_NAME>Spoilers\_Arm</IE\_NAME> <SET\_STATE\_EXTERNAL>p0 ! (A:SPOILERS HANDLE POSITION, position 16k) 0 == and (>K:SPOILERS\_ARM\_SET)</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:SPOILERS HANDLE POSITION, position 16k) 0 > if{ 0 (>K:SPOILERS\_ARM\_SET) } (A:SPOILERS ARMED, Bool) sp0 </GET\_STATE\_EXTERNAL> <STR\_STATE\_ON>Armed</STR\_STATE\_ON> <STR\_STATE\_OFF>Standby</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_ARMED)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_STANDBY)</TT\_VALUE\_OFF> <SIMVAR\_TO\_WATCH\_0>SPOILERS ARMED</SIMVAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_1>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_1> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_HANDLING\_Push\_Event\_Base\_Template"> <IE\_NAME>Spoilers\_Arm</IE\_NAME> <SET\_STATE\_EXTERNAL>p0 (A:SPOILERS HANDLE POSITION, position 16k) 0 == and (>K:SPOILERS\_ARM\_SET)</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:SPOILERS HANDLE POSITION, position 16k) 0 > if{ 0 (>K:SPOILERS\_ARM\_SET) } (A:SPOILERS ARMED, Bool) sp0 </GET\_STATE\_EXTERNAL> <STR\_STATE\_ON>Armed</STR\_STATE\_ON> <STR\_STATE\_OFF>Standby</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_ARMED)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_STANDBY)</TT\_VALUE\_OFF> <SIMVAR\_TO\_WATCH\_0>SPOILERS ARMED</SIMVAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_1>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_1> </UseTemplate> </False> </Condition> </Condition> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>Spoilers</IE\_NAME> <GATE\_DIRECTION>0</GATE\_DIRECTION> <DONT\_SYNC\_DRAG\_TO\_ANIM>True</DONT\_SYNC\_DRAG\_TO\_ANIM> <DRAG\_ANIM\_NAME>\#ANIM\_NAME\#</DRAG\_ANIM\_NAME> <DRAG\_NODE\_ID>\#NODE\_ID\#</DRAG\_NODE\_ID> <GET\_TT\_VALUE\_STATE>(A:SPOILERS ARMED, Bool) sp0 (A:SPOILERS HANDLE POSITION, Percent) sp1</GET\_TT\_VALUE\_STATE> <FORMAT\_VALUE>l0 if{ (R:1:@TT\_Package.GT\_STATE\_ARMED) } els{ l1 '%.1f%%' @sprintf }</FORMAT\_VALUE> <SIMVAR\_TO\_WATCH\_0>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_0> <GET\_STATE\_EXTERNAL>(A:SPOILERS HANDLE POSITION, position 16k)</GET\_STATE\_EXTERNAL> <SET\_STATE\_EXTERNAL>(>K:SPOILERS\_SET)</SET\_STATE\_EXTERNAL> <Condition Valid="USE\_LOCK"> <ON\_BEFORE\_SET\_CODE>(B:HANDLING\_Spoilers\_Lock, Bool) if{ quit } </ON\_BEFORE\_SET\_CODE> </Condition> <STATE\_TO\_POS\_EXTERNAL>@16k / 100 \*</STATE\_TO\_POS\_EXTERNAL> <INC\_PARAM\_0 Process="Int">@16k 10 /</INC\_PARAM\_0> <DEC\_PARAM\_0 Process="Int">@16k 10 /</DEC\_PARAM\_0> <Condition Valid="USE\_GATES"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Lever\_DraggingYAxis\_Gates</TEMPLATE\_TO\_USE> <DRAG\_CODE> (O:Position) 1 < s0 (>B:HANDLING\_Spoilers\_Arm\_Set) 0 (O:Position) 1 - \#STEPS\_NUMBER\# 1 - / @16k \* l0 ? (>B:HANDLING\_Spoilers\_Set) </DRAG\_CODE> <Condition Valid="RETRACT\_ARMED\_FULL"> <FORMAT\_VALUE>l0 if{ (R:1:@TT\_Package.GT\_STATE\_ARMED) } els{ l1 0 == if{ (R:1:@TT\_Package.GT\_STATE\_DOWN) } els{ l1 '%.1f%%' @sprintf } }</FORMAT\_VALUE> <!-- <DRAG\_CODE> --> <!-- (O:Position) \#POS\_ARM\# == s0 (>B:HANDLING\_Spoilers\_Arm\_Set) --> <!-- 0 (O:Position) 1 - \#STEPS\_NUMBER\# 1 - / @16k \* l0 ? (>B:HANDLING\_Spoilers\_Set) --> <!-- </DRAG\_CODE> --> </Condition> <Condition NotEmpty="OVERRIDE\_ANIM\_CODE"> <False> <Condition Valid="RETRACT\_ARMED\_FULL"> <True> <OVERRIDE\_ANIM\_CODE>(A:SPOILERS ARMED, Bool) if{ \#POS\_ARM\# \#ANIM\_LENGTH\# \#STEPS\_NUMBER\# / \* } els{ (B:HANDLING\_Spoilers, percent over 100) s0 0 == if{ \#POS\_DOWN\# \#STEPS\_NUMBER\# / } els{ l0 \#STEPS\_NUMBER\# 1 - \#STEPS\_NUMBER\# / \* 1 \#STEPS\_NUMBER\# / + \#ANIM\_LENGTH\# \* } }</OVERRIDE\_ANIM\_CODE> </True> <False> <OVERRIDE\_ANIM\_CODE>(A:SPOILERS ARMED, Bool) if{ 0 } els{ (B:HANDLING\_Spoilers, percent over 100) \#STEPS\_NUMBER\# 1 - \#STEPS\_NUMBER\# / \* 1 \#STEPS\_NUMBER\# / + \#ANIM\_LENGTH\# \* }</OVERRIDE\_ANIM\_CODE> </False> </Condition> </False> </Condition> <ON\_AFTER\_INIT\_CODE> 0 (A:SPOILERS HANDLE POSITION, percent over 100) \#STEPS\_NUMBER\# 1 - \* 1 + (A:SPOILERS ARMED, Bool) ? (>O:Position)</ON\_AFTER\_INIT\_CODE> </True> <False> <GET\_TT\_VALUE\_STATE>(A:SPOILERS HANDLE POSITION, Percent)</GET\_TT\_VALUE\_STATE> <DRAG\_VALUE\_TO\_EVENT\_SET>@16k \*</DRAG\_VALUE\_TO\_EVENT\_SET> <Condition Valid="USE\_LOCK"> <True> <FORMAT\_VALUE>sp0 (B:HANDLING\_Spoilers\_Lock, Bool) if{ (R:1:@TT\_Package.GT\_STATE\_LOCKED) } els{ l0 '%.1f%%' @sprintf }</FORMAT\_VALUE> </True> <False> <FORMAT\_VALUE>'%.1f%%' @sprintf</FORMAT\_VALUE> </False> </Condition> </False> </Condition> <ANIM\_LAG>\#LEVER\_ANIM\_LAG\#</ANIM\_LAG> </UseTemplate> <Condition Valid="USE\_LOCK"> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <INTERACTION\_TYPE>Switch</INTERACTION\_TYPE> <TT\_ICON>\#TT\_ICON\_LOCK\#</TT\_ICON> <IE\_NAME>Spoilers\_Lock</IE\_NAME> <NODE\_ID>\#LOCK\_NODE\_ID\#</NODE\_ID> <ANIM\_NAME>\#LOCK\_ANIM\_NAME\#</ANIM\_NAME> <TOOLTIP\_TITLE>\#TOOLTIP\_SPOILERS\_LOCK\_TITLE\#</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_SPOILERS\_LOCK\#</TT\_DESCRIPTION\_ID> <WWISE\_EVENT\_1>\#WWISE\_EVENT\_LOCK\_1\#</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>\#WWISE\_EVENT\_LOCK\_2\#</WWISE\_EVENT\_2> <SIMVAR\_TO\_WATCH\_0>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_0> <SET\_STATE\_EXTERNAL>p0 (A:SPOILERS HANDLE POSITION, percent) 0 == and (>\#LOCK\_VAR\_SCOPE\#:\#LOCK\_VAR\_NAME\#)</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:SPOILERS HANDLE POSITION, percent) 0 > if{ 0 (>\#LOCK\_VAR\_SCOPE\#:\#LOCK\_VAR\_NAME\#) (\#LOCK\_VAR\_SCOPE\#:\#LOCK\_VAR\_NAME\#) sp0</GET\_STATE\_EXTERNAL> <COMP\_INIT\_CODE>(>B:HANDLING\_Spoilers\_Lock\_On)</COMP\_INIT\_CODE> <Condition Valid="INVERT\_LOCK\_ANIM"> <INVERT\_ANIM>\#INVERT\_LOCK\_ANIM\#</INVERT\_ANIM> </Condition> <CHECK\_STATE\_HAS\_CHANGED>True</CHECK\_STATE\_HAS\_CHANGED> </UseTemplate> </Condition> </Case> <Case Value="Switch"> <Switch Param="PUSH\_TYPE"> <Case Value="EXTEND\_FULL"> <UseTemplate Name="ASOBO\_HANDLING\_Push\_Event\_Base\_Template"> <IE\_NAME>Spoilers\_Extend</IE\_NAME> <SET\_STATE\_EXTERNAL>p0 (>O:XMLVAR\_Spoilers\_Extended) p0 \#ADDITIONAL\_TESTS\# if{ @16k (>K:SPOILERS\_SET) }</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(O:XMLVAR\_Spoilers\_Extended) s0 \#ADDITIONAL\_TESTS\# if{ (A:SPOILERS HANDLE POSITION, Position 16k) @16k != if{ @16k (>K:SPOILERS\_SET) } }</GET\_STATE\_EXTERNAL> <STR\_STATE\_ON>Extended</STR\_STATE\_ON> <STR\_STATE\_OFF>Standby</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_EXTENDED)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_STANDBY)</TT\_VALUE\_OFF> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_EXTEND\#</TT\_DESCRIPTION\_ID> <SIMVAR\_TO\_WATCH\_0>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_0> </UseTemplate> </Case> </Switch> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>Spoilers</IE\_NAME> <NUM\_STATES>3</NUM\_STATES> <COMP\_UPDATE\_CODE> (B:HANDLING\_Spoilers) \#POS\_STANDBY\# != \#ADDITIONAL\_TESTS\# if{ \#INCREMENT\# -\#INCREMENT\# (B:HANDLING\_Spoilers) \#POS\_INC\# == ? (A:SPOILERS HANDLE POSITION, Position 16k) + @16k min 0 max (>K:SPOILERS\_SET) } </COMP\_UPDATE\_CODE> <FREQUENCY>\#REPEAT\_FREQUENCY\#</FREQUENCY> <Switch Param="PUSH\_TYPE"> <Case Value="EXTEND\_FULL"> <IE\_ID\_EXTERNAL\_0>Spoilers\_Extend</IE\_ID\_EXTERNAL\_0> <ON\_PRIMARY\_EVENT>(B:HANDLING\_Spoilers) \#POS\_STANDBY\# == if{ (>B:HANDLING\_Spoilers\_Extend\_Toggle) }</ON\_PRIMARY\_EVENT> <ANIM\_CODE\_PUSH>(B:HANDLING\_Spoilers\_Extend, Bool) 100 \*</ANIM\_CODE\_PUSH> <OVERRIDE\_ANIM\_CODE>(B:HANDLING\_Spoilers) 100 \*</OVERRIDE\_ANIM\_CODE> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE>(O:HANDLING\_Spoilers\_Position) \#POS\_STANDBY\# != (B:HANDLING\_Spoilers\_Extend, Bool) and if{ \#POS\_STANDBY\# (>O:HANDLING\_Spoilers\_Position) }</ON\_STATE\_CHANGED\_EXTERNAL\_CODE> <WWISE\_PUSH\_EVENT\_1>spoilers\_switch\_push\_on</WWISE\_PUSH\_EVENT\_1> <WWISE\_PUSH\_EVENT\_2>spoilers\_switch\_push\_off</WWISE\_PUSH\_EVENT\_2> </Case> </Switch> <SET\_STATE\_\#POS\_INC\#>\#STATE\_INC\# (>O:XMLVAR\_Spoilers\_Switch\_Mode)</SET\_STATE\_\#POS\_INC\#> <SET\_STATE\_\#POS\_STANDBY\#>\#STATE\_STANDBY\# (>O:XMLVAR\_Spoilers\_Switch\_Mode)</SET\_STATE\_\#POS\_STANDBY\#> <SET\_STATE\_\#POS\_DEC\#>\#STATE\_DEC\# (>O:XMLVAR\_Spoilers\_Switch\_Mode)</SET\_STATE\_\#POS\_DEC\#> <TT\_VALUE>(A:SPOILERS HANDLE POSITION, percent) '%d%%' @sprintf</TT\_VALUE> <TT\_VALUE\_IS\_DYNAMIC>True</TT\_VALUE\_IS\_DYNAMIC> <STR\_STATE\_\#POS\_INC\#>Deploy</STR\_STATE\_\#POS\_INC\#> <STR\_STATE\_\#POS\_STANDBY\#>Standby</STR\_STATE\_\#POS\_STANDBY\#> <STR\_STATE\_\#POS\_DEC\#>Retract</STR\_STATE\_\#POS\_DEC\#> <GET\_STATE\_EXTERNAL>(O:XMLVAR\_Spoilers\_Switch\_Mode) sp0</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL>\#POS\_STANDBY\# sp1 l0 \#STATE\_STANDBY\# == if{ \#POS\_STANDBY\# sp1 g1 } l0 \#STATE\_INC\# == if{ \#POS\_INC\# sp1 g1 } l0 \#STATE\_DEC\# == if{ \#POS\_DEC\# sp1 g1 } :1 l1 </ENUM\_VAL\_TO\_POS\_EXTERNAL> </UseTemplate> </Case> </Switch> </Template> <!-- Require INTERACTION\_TYPE value: - LEVER case (classic flaps lever) : - BUTTON case : require MAX\_FLAPS\_DEGREE (plane fixed caracteristic) and SELECTED\_FLAPS\_DEGREE (choice linked to the button) --> <Template Name="ASOBO\_HANDLING\_Flaps\_SubTemplate"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <UseTemplate Name="ASOBO\_HANDLING\_Flaps\_Lever\_SubTemplate"/> </Case> <Case Value="Push"> <UseTemplate Name="ASOBO\_HANDLING\_Flaps\_Button\_SubTemplate"/> </Case> </Switch> </Template> <Template Name="ASOBO\_HANDLING\_Flaps\_Lever\_SubTemplate"> <Parameters Type="Default"> <Condition Valid="HAS\_BUTTON"> <True> <ANIM\_NAME\_LEVER>HANDLING\_Lever\_Flaps</ANIM\_NAME\_LEVER> <ANIM\_NAME\_BUTTON>HANDLING\_Lever\_Button\_Flaps</ANIM\_NAME\_BUTTON> <NODE\_ID>HANDLING\_Lever\_Flaps</NODE\_ID> <PART\_ID>HANDLING\_Lever\_Flaps</PART\_ID> <ANIM\_TRIGGER\_COUNT>1</ANIM\_TRIGGER\_COUNT> <ANIM\_SPEED>5</ANIM\_SPEED> <DRAG\_DELTA>0.1</DRAG\_DELTA> <ANIMREF\_ID>1</ANIMREF\_ID> <AXIS>Y</AXIS> <MAX\_HANDLE\_INDEX>(A:FLAPS NUM HANDLE POSITIONS:1, Number)</MAX\_HANDLE\_INDEX> <MIN\_DELTA>0.25</MIN\_DELTA> <DONT\_SYNC\_DRAG\_TO\_ANIM/> <DONT\_CREATE\_SOUND\_ANIM\_TRIGGERS/> </True> <False> <ANIM\_NAME>HANDLING\_Lever\_Flaps</ANIM\_NAME> <NODE\_ID>HANDLING\_Lever\_Flaps</NODE\_ID> <PART\_ID>HANDLING\_Lever\_Flaps</PART\_ID> <ANIM\_TRIGGER\_COUNT>2</ANIM\_TRIGGER\_COUNT> <MIN\_DELTA>0.25</MIN\_DELTA> <MAX\_HANDLE\_INDEX>2</MAX\_HANDLE\_INDEX> <ANIM\_LAG>400</ANIM\_LAG> <HELPID>HELPID\_GAUGE\_FLAPS\_SWITCH</HELPID> <ANIMREF\_ID>0</ANIMREF\_ID> </False> </Condition> <ANIMTIP\_0\_ON\_PERCENT>0</ANIMTIP\_0\_ON\_PERCENT> <ANIMTIP\_1\_ON\_PERCENT>0.5</ANIMTIP\_1\_ON\_PERCENT> <ANIMTIP\_2\_ON\_PERCENT>1</ANIMTIP\_2\_ON\_PERCENT> <ANIMTIP\_0>TT:COCKPIT.TOOLTIPS.FLAPS\_LEVER\_UP</ANIMTIP\_0> <ANIMTIP\_1>TT:COCKPIT.TOOLTIPS.FLAPS\_LEVER\_TO</ANIMTIP\_1> <ANIMTIP\_2>TT:COCKPIT.TOOLTIPS.FLAPS\_LEVER\_LDG</ANIMTIP\_2> <TOOLTIP\_FLAPS\_TITLE>@TT\_Package.HANDLING\_LEVER\_FLAPS\_TITLE</TOOLTIP\_FLAPS\_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_FLAPS\_TITLE\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_Flaps</TOOLTIP\_ENTRY\_0> <ANIM\_CODE>(B:HANDLING\_Flaps)</ANIM\_CODE> <STEP\_INCREMENT>16384 (A:FLAPS NUM HANDLE POSITIONS, Number) /</STEP\_INCREMENT> <Condition Valid="HAS\_BUTTON"> <False> <ANIM\_NAME\_LEVER>\#ANIM\_NAME\#</ANIM\_NAME\_LEVER> </False> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="INVERT\_INTERACTION"> <True> <DRAG\_POSITION>1 (M:DragPercent) - 16384 \*</DRAG\_POSITION> <INVERT\_ANIM>True</INVERT\_ANIM> </True> <False> <DRAG\_POSITION>(M:DragPercent) 16384 \*</DRAG\_POSITION> </False> </Condition> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Condition Valid="HAS\_BUTTON"> <UseTemplate Name="ASOBO\_GT\_Anim\_Code"> <ANIM\_NAME>\#ANIM\_NAME\_BUTTON\#</ANIM\_NAME> <ANIM\_CODE> (O:XMLVAR\_Interacting\_With\_Lever) 100 \* </ANIM\_CODE> <Condition Check="BUTTON\_ANIM\_LAG"> <ANIM\_LAG>\#BUTTON\_ANIM\_LAG\#</ANIM\_LAG> </Condition> <ANIM\_LENGTH>100</ANIM\_LENGTH> </UseTemplate> </Condition> <UseInputEvent ID="HANDLING"> <FLAPS\_ID>1</FLAPS\_ID> </UseInputEvent> <Condition Check="USE\_TRAJECTORY\_DRAG\_MODE"> <True> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis"> <ANIM\_NAME>\#ANIM\_NAME\_LEVER\#</ANIM\_NAME> <DRAG\_ANIM\_NAME>\#ANIM\_NAME\_LEVER\#</DRAG\_ANIM\_NAME> <Condition Valid="HAS\_BUTTON"> <LOCK\_CODE>1 (>O:XMLVAR\_Interacting\_With\_Lever)</LOCK\_CODE> <UNLOCK\_CODE>0 (>O:XMLVAR\_Interacting\_With\_Lever)</UNLOCK\_CODE> </Condition> <DONT\_SYNC\_DRAG\_TO\_ANIM/> <NO\_ARROWS/> <CURSOR>Hand</CURSOR> <HELPID>HELPID\_GAUGE\_FLAPS\_SWITCH</HELPID> <TOOLTIPID>TOOLTIPTEXT\_FLAPS\_SWITCH</TOOLTIPID> <DRAG\_SIMVAR>FLAPS HANDLE PERCENT</DRAG\_SIMVAR> <DRAG\_CODE>\#DRAG\_POSITION\# (>B:HANDLING\_Flaps\_Set)</DRAG\_CODE> <POSITIVE\_AXIS\_CODE>\#STEP\_INCREMENT\# (>B:HANDLING\_Flaps\_Inc)</POSITIVE\_AXIS\_CODE> <NEGATIVE\_AXIS\_CODE>\#STEP\_INCREMENT\# (>B:HANDLING\_Flaps\_Dec)</NEGATIVE\_AXIS\_CODE> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingYAxis\_Code"> <ANIM\_NAME>\#ANIM\_NAME\_LEVER\#</ANIM\_NAME> <Condition Valid="HAS\_BUTTON"> <LEFT\_SINGLE\_CODE>1 (>O:XMLVAR\_Interacting\_With\_Lever)</LEFT\_SINGLE\_CODE> <LEFT\_RELEASE\_CODE>0 (>O:XMLVAR\_Interacting\_With\_Lever)</LEFT\_RELEASE\_CODE> </Condition> <ANIM\_LENGTH>100</ANIM\_LENGTH> <UP\_CODE>\#STEP\_INCREMENT\# (>B:HANDLING\_Flaps\_Dec)</UP\_CODE> <DOWN\_CODE>\#STEP\_INCREMENT\# (>B:HANDLING\_Flaps\_Inc)</DOWN\_CODE> <DRAG\_DELTA>0.05</DRAG\_DELTA> <DRAG\_SPEED>0.5</DRAG\_SPEED> <IS\_LOOPING/> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO\_GT\_AnimTriggers\_SoundEvents\_Same"> <WWISE\_EVENT>lever\_flaps</WWISE\_EVENT> <COUNT>\#ANIM\_TRIGGER\_COUNT\#</COUNT> <ANIM\_NAME>\#ANIM\_NAME\_LEVER\#</ANIM\_NAME> </UseTemplate> <Condition Valid="HAS\_BUTTON"> <UseTemplate Name="ASOBO\_GT\_AnimTriggers\_2SoundEvents"> <ANIM\_NAME>\#ANIM\_NAME\_BUTTON\#</ANIM\_NAME> <WWISE\_EVENT\_1>flaps\_lever\_button\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <DIRECTION\_1>Forward</DIRECTION\_1> <WWISE\_EVENT\_2>flaps\_lever\_button\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.9</NORMALIZED\_TIME\_2> <DIRECTION\_2>Backward</DIRECTION\_2> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Visibility\_Code"> <VISIBILITY\_CODE>(L:XMLVAR\_LeverFlapsHidden) !</VISIBILITY\_CODE> </UseTemplate> </Condition> </Component> </Template> <Template Name="ASOBO\_HANDLING\_Flaps\_Button\_SubTemplate"> <Parameters Type="Default"> <ANIM\_NAME>HANDLING\_Button\_Flaps</ANIM\_NAME> <NODE\_ID>HANDLING\_Button\_Flaps</NODE\_ID> <PART\_ID>HANDLING\_Button\_Flaps</PART\_ID> <MAX\_FLAPS\_DEGREE>45</MAX\_FLAPS\_DEGREE> <SELECTED\_FLAPS\_DEGREE>0</SELECTED\_FLAPS\_DEGREE> <WWISE\_PREFIX>flaps</WWISE\_PREFIX> </Parameters> <Parameters Type="Default"> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_BUTTON\_FLAPS\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_BUTTON\_FLAPS\_ACTION</TT\_DESCRIPTION\_ID> <TT\_DESCRIPTION\_INDEX>\#SELECTED\_FLAPS\_DEGREE\#</TT\_DESCRIPTION\_INDEX> </Parameters> <UseInputEvent ID="HANDLING"> <FLAPS\_ID>1</FLAPS\_ID> </UseInputEvent> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>Flaps\_Select\_\#SELECTED\_FLAPS\_DEGREE\#\_Degrees</IE\_NAME> <INTERACTION\_TYPE>Push</INTERACTION\_TYPE> <SET\_STATE\_EXTERNAL>16384 \#SELECTED\_FLAPS\_DEGREE\# \* \#MAX\_FLAPS\_DEGREE\# / (>B:HANDLING\_Flaps\_Set)</SET\_STATE\_EXTERNAL> <TT\_VALUE>(A:TRAILING EDGE FLAPS LEFT ANGLE, degree) '%d°' @sprintf</TT\_VALUE> <TT\_VALUE\_IS\_DYNAMIC>True</TT\_VALUE\_IS\_DYNAMIC> </UseTemplate> </Template> <Template Name="ASOBO\_HANDLING\_Autobrakes\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Autobrake\_\#ID\#</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Autobrake\_\#ID\#</ANIM\_NAME> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Autobrake</PART\_ID> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <TYPE>ON\_OFF</TYPE> <WWISE\_PREFIX>autobrake</WWISE\_PREFIX> <AUTOBRAKE\_LEVEL Process="Int">\#ID\# 1 +</AUTOBRAKE\_LEVEL> <AUTOBRAKE\_RTO>0</AUTOBRAKE\_RTO> <AUTOBRAKE\_OFF>1</AUTOBRAKE\_OFF> <Switch Param="ID"> <Case Value="1"> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_PUSH\_AUTOBKR\_ACTION\_LOW</TT\_DESCRIPTION\_ID> </Case> <Case Value="2"> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_PUSH\_AUTOBKR\_ACTION\_MED</TT\_DESCRIPTION\_ID> </Case> <Case Value="3"> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_PUSH\_AUTOBKR\_ACTION\_MAX</TT\_DESCRIPTION\_ID> </Case> </Switch> <IS\_AIRLINER>True</IS\_AIRLINER> <AUTODISABLE\_COUNTDOWN>3</AUTODISABLE\_COUNTDOWN> <Condition Valid="DISABLED\_IN\_FLIGHT"> <True> <TEST\_DISABLED>(A:SIM ON GROUND, Bool) !</TEST\_DISABLED> </True> <False> <TEST\_DISABLED>0</TEST\_DISABLED> </False> </Condition> </Case> <Case Value="Knob"> <TYPE>X\_STATES</TYPE> <WWISE\_PREFIX>autobrakes</WWISE\_PREFIX> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_KNOB\_ALT\_AUTOBRAKE\_ACTION</TT\_DESCRIPTION\_ID> <Switch Param="AIRLINER\_TYPE"> <Case Value="BOEING"> <POS\_RTO>0</POS\_RTO> <POS\_OFF>1</POS\_OFF> <POS\_DISARM>2</POS\_DISARM> <POS\_1>3</POS\_1> <POS\_2>4</POS\_2> <POS\_3>5</POS\_3> <POS\_4>6</POS\_4> <POS\_MAX\_AUTO>7</POS\_MAX\_AUTO> <NUM\_STATES>8</NUM\_STATES> </Case> </Switch> </Case> </Switch> <TOOLTIP\_TITLE>@TT\_Package.LANDING\_GEAR\_PUSH\_AUTOBKR\_TITLE</TOOLTIP\_TITLE> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="ON\_OFF"> <SET\_SIMVAR\_FROM\_POSITION> (\* SwimVar pos is handled there for interactions + in update for automatic state switches \*) -1 sp0 (A:SIM ON GROUND, Bool) if{ (L:XMLVAR\_Autobrake\_Level\_Armed) \#AUTOBRAKE\_OFF\# == if{ \#AUTOBRAKE\_OFF\# sp0 } els{ \#AUTOBRAKE\_RTO\# sp0 } } els{ (L:XMLVAR\_Autobrake\_Level\_Armed) sp0 } l0 -1 != l0 (A:AUTO BRAKE SWITCH CB, Enum) != and if{ l0 (>K:SET\_AUTOBRAKE\_CONTROL) } </SET\_SIMVAR\_FROM\_POSITION> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="ON\_OFF"> <LOCAL\_VAR\_TO\_WATCH\_0>XMLVAR\_Autobrake\_Level\_Armed</LOCAL\_VAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_0>ANTISKID BRAKES ACTIVE</SIMVAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_1>BRAKE LEFT POSITION EX1</SIMVAR\_TO\_WATCH\_1> <SIMVAR\_TO\_WATCH\_2>BRAKE RIGHT POSITION EX1</SIMVAR\_TO\_WATCH\_2> <SET\_STATE\_EXTERNAL> \#TEST\_DISABLED\# if{ 0 (>O:HANDLING\_Autobrake\_Level\_\#ID\#\_Position) } els{ p0 if{ \#AUTOBRAKE\_LEVEL\# (>L:XMLVAR\_Autobrake\_Level\_Armed) } els{ (L:XMLVAR\_Autobrake\_Level\_Armed) \#AUTOBRAKE\_LEVEL\# == if{ \#AUTOBRAKE\_OFF\# (>L:XMLVAR\_Autobrake\_Level\_Armed) } } } \#SET\_SIMVAR\_FROM\_POSITION\# </SET\_STATE\_EXTERNAL> <!-- AUTOBRAKE system is disarmed: --> <!-- 10 seconds after raising landing gear lever --> <!-- When applying sufficient brake pedal deflection to one brake pedal --> <GET\_STATE\_EXTERNAL> (L:XMLVAR\_Autobrake\_Level\_Armed) \#AUTOBRAKE\_LEVEL\# == sp0 (A:ANTISKID BRAKES ACTIVE, Bool) (A:BRAKE LEFT POSITION EX1, percent) 95 > (A:BRAKE RIGHT POSITION EX1, percent) 95 > or ! and sp1 l0 l1 ! and if{ \#AUTOBRAKE\_OFF\# (>L:XMLVAR\_Autobrake\_Level\_Armed) } l0 l1 and sp0 </GET\_STATE\_EXTERNAL> <Condition Check="ID" Match="1"> <COMP\_INIT\_CODE>(A:AUTO BRAKE SWITCH CB, Enum) (>L:XMLVAR\_Autobrake\_Level\_Armed) (A:GEAR HANDLE POSITION, Bool) (>O:\_Gear\_Position) \#SET\_SIMVAR\_FROM\_POSITION\#</COMP\_INIT\_CODE> <COMP\_UPDATE\_CODE> (\* Handle disarming after landing gear up \*) (O:\_Countdown\_Disable\_Autobrake) 0 > if{ (O:\_Countdown\_Disable\_Autobrake) 1 - (>O:\_Countdown\_Disable\_Autobrake) (O:\_Countdown\_Disable\_Autobrake) 0 <= if{ 1 (>K:SET\_AUTOBRAKE\_CONTROL) \#AUTOBRAKE\_OFF\# (>L:XMLVAR\_Autobrake\_Level\_Armed) } } (L:XMLVAR\_Autobrake\_Level\_Armed) \#AUTOBRAKE\_OFF\# > if{ (A:GEAR HANDLE POSITION, Bool) s0 (O:\_Gear\_Position) != sp1 l0 (>O:\_Gear\_Position) l1 l0 ! and if{ \#AUTODISABLE\_COUNTDOWN\# (>O:\_Countdown\_Disable\_Autobrake) } } </COMP\_UPDATE\_CODE> </Condition> <Condition Valid="IS\_AIRLINER"> <SEQ1\_EMISSIVE\_CODE>(B:HANDLING\_Autobrake\_Level\_\#ID\#, Bool) (A:AUTOBRAKES ACTIVE, Bool) (A:REJECTED TAKEOFF BRAKES ACTIVE, Bool) or and</SEQ1\_EMISSIVE\_CODE> <SEQ2\_EMISSIVE\_CODE>(B:HANDLING\_Autobrake\_Level\_\#ID\#, Bool)</SEQ2\_EMISSIVE\_CODE> </Condition> </Case> <Case Value="X\_STATES"> <KNOB\_TYPE>X\_STATES</KNOB\_TYPE> <SIMVAR\_TO\_WATCH\_0>AUTO BRAKE SWITCH CB</SIMVAR\_TO\_WATCH\_0> <Switch Param="AIRLINER\_TYPE"> <Case Value="BOEING"> <STR\_STATE\_\#POS\_RTO\#>RTO</STR\_STATE\_\#POS\_RTO\#> <STR\_STATE\_\#POS\_OFF\#>Off</STR\_STATE\_\#POS\_OFF\#> <STR\_STATE\_\#POS\_DISARM\#>Disarm</STR\_STATE\_\#POS\_DISARM\#> <STR\_STATE\_\#POS\_1\#>Level\_1</STR\_STATE\_\#POS\_1\#> <STR\_STATE\_\#POS\_2\#>Level\_2</STR\_STATE\_\#POS\_2\#> <STR\_STATE\_\#POS\_3\#>Level\_3</STR\_STATE\_\#POS\_3\#> <STR\_STATE\_\#POS\_4\#>Level\_4</STR\_STATE\_\#POS\_4\#> <STR\_STATE\_\#POS\_MAX\_AUTO\#>Max\_Auto</STR\_STATE\_\#POS\_MAX\_AUTO\#> <TT\_VALUE\_\#POS\_RTO\#>@TT\_Package.GT\_STATE\_RTO</TT\_VALUE\_\#POS\_RTO\#> <TT\_VALUE\_\#POS\_OFF\#>@TT\_Package.GT\_STATE\_OFF</TT\_VALUE\_\#POS\_OFF\#> <TT\_VALUE\_\#POS\_DISARM\#>@TT\_Package.GT\_STATE\_DISARM</TT\_VALUE\_\#POS\_DISARM\#> <TT\_VALUE\_\#POS\_1\#>'1'</TT\_VALUE\_\#POS\_1\#> <TT\_VALUE\_\#POS\_1\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#POS\_1\#\_IS\_DYNAMIC> <TT\_VALUE\_\#POS\_2\#>'2'</TT\_VALUE\_\#POS\_2\#> <TT\_VALUE\_\#POS\_2\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#POS\_2\#\_IS\_DYNAMIC> <TT\_VALUE\_\#POS\_3\#>'3'</TT\_VALUE\_\#POS\_3\#> <TT\_VALUE\_\#POS\_3\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#POS\_3\#\_IS\_DYNAMIC> <TT\_VALUE\_\#POS\_4\#>'4'</TT\_VALUE\_\#POS\_4\#> <TT\_VALUE\_\#POS\_4\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#POS\_4\#\_IS\_DYNAMIC> <TT\_VALUE\_\#POS\_MAX\_AUTO\#>@TT\_Package.GT\_STATE\_MAXAUTO</TT\_VALUE\_\#POS\_MAX\_AUTO\#> <SET\_STATE\_\#POS\_RTO\#>0 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_RTO\#> <SET\_STATE\_\#POS\_OFF\#>1 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_OFF\#> <SET\_STATE\_\#POS\_DISARM\#>1 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_DISARM\#> <SET\_STATE\_\#POS\_1\#>2 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_1\#> <SET\_STATE\_\#POS\_2\#>3 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_2\#> <SET\_STATE\_\#POS\_3\#>4 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_3\#> <SET\_STATE\_\#POS\_4\#>5 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_4\#> <SET\_STATE\_\#POS\_MAX\_AUTO\#>6 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_MAX\_AUTO\#> <GET\_STATE\_EXTERNAL>(A:AUTO BRAKE SWITCH CB, Number) sp0 (O:XMLVAR\_Autobrake\_Disarm) sp1</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL> l1 if{ \#POS\_DISARM\# sp2 g2 } els{ l0 0 == if{ \#POS\_RTO\# sp2 g2 } l0 1 == if{ \#POS\_OFF\# sp2 g2 } l0 2 == if{ \#POS\_1\# sp2 g2 } l0 3 == if{ \#POS\_2\# sp2 g2 } l0 4 == if{ \#POS\_3\# sp2 g2 } l0 5 == if{ \#POS\_4\# sp2 g2 } l0 6 == if{ \#POS\_MAX\_AUTO\# sp2 g2 } } :2 l2 </ENUM\_VAL\_TO\_POS\_EXTERNAL> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE>p0 \#POS\_DISARM\# == (>O:XMLVAR\_Autobrake\_Disarm)</ON\_STATE\_CHANGED\_EXTERNAL\_CODE> </Case> </Switch> </Case> </Switch> </Parameters> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <Switch Param="TYPE"> <Case Value="ON\_OFF"> <IE\_NAME>Autobrake\_Level\_\#ID\#</IE\_NAME> </Case> <Case Value="X\_STATES"> <IE\_NAME>Autobrake\_\#ID\#</IE\_NAME> </Case> </Switch> </UseTemplate> </Template> <Template Name="ASOBO\_HANDLING\_Wipers\_Controller\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Wipers</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Wipers</ANIM\_NAME> <WWISE\_EVENT>wipers\_switch</WWISE\_EVENT> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Switch\_XStates</TEMPLATE\_TO\_USE> <CIRCUIT\_ID\_WIPERS>1</CIRCUIT\_ID\_WIPERS> <Switch> <Case Valid="OFF\_INT\_LOW\_HIGH"> <POWER\_INT>30</POWER\_INT> <POWER\_LOW>75</POWER\_LOW> <POWER\_HIGH>100</POWER\_HIGH> <POS\_OFF>0</POS\_OFF> <POS\_INT>1</POS\_INT> <POS\_LOW>2</POS\_LOW> <POS\_HIGH>3</POS\_HIGH> <NUM\_STATES>4</NUM\_STATES> </Case> <Case Valid="PARK\_OFF\_NORM\_FAST"> <POWER\_FAST>100</POWER\_FAST> <POWER\_NORM>50</POWER\_NORM> <POS\_PARK>0</POS\_PARK> <POS\_OFF>1</POS\_OFF> <POS\_NORM>2</POS\_NORM> <POS\_FAST>3</POS\_FAST> <MOMENTARY\_MIN\_DURATION>0.1</MOMENTARY\_MIN\_DURATION> <CIRCUIT\_ID\_PARK>1</CIRCUIT\_ID\_PARK> <NUM\_STATES>4</NUM\_STATES> </Case> <Default> <POWER\_NORM>100</POWER\_NORM> <POWER\_SLOW>75</POWER\_SLOW> <POS\_NORM>0</POS\_NORM> <POS\_OFF>1</POS\_OFF> <POS\_SLOW>2</POS\_SLOW> <NUM\_STATES>3</NUM\_STATES> </Default> </Switch> <SWITCH\_DIRECTION>Horizontal</SWITCH\_DIRECTION> <IE\_WIPERS\_ID>Wipers</IE\_WIPERS\_ID> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Knob"> <ANIM>EXTERNAL</ANIM> <ARROW\_TYPE>Curved</ARROW\_TYPE> <TT\_ICON>Rotate</TT\_ICON> </Case> </Switch> <INPUT\_EVENT\_ID\_SOURCE>HANDLING</INPUT\_EVENT\_ID\_SOURCE> <USE\_INPUT\_EVENT\_ID>HANDLING</USE\_INPUT\_EVENT\_ID> <BTN\_ID>\#IE\_WIPERS\_ID\#</BTN\_ID> </Parameters> <Parameters Type="Override"> <SET\_POWER>\#CIRCUIT\_ID\_WIPERS\# (>K:2:ELECTRICAL\_CIRCUIT\_POWER\_SETTING\_SET)</SET\_POWER> <GET\_POWER>(A:CIRCUIT POWER SETTING:\#CIRCUIT\_ID\_WIPERS\#, Percent)</GET\_POWER> <Switch> <Case Valid="PARK\_OFF\_NORM\_FAST"> <PARK\_ON>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#, Bool) ! if{ \#CIRCUIT\_ID\_PARK\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</PARK\_ON> <PARK\_OFF>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#, Bool) if{ \#CIRCUIT\_ID\_PARK\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</PARK\_OFF> <IS\_PARK\_ON>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#, Bool)</IS\_PARK\_ON> <INIT\_WIPERS\_STATE> (A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#, Bool) if{ \#CIRCUIT\_ID\_PARK\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) } (A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool) if{ \#CIRCUIT\_ID\_WIPERS\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) } </INIT\_WIPERS\_STATE> <Condition> <Test> <GreaterOrEqual> <Number>\#POS\_PARK\#</Number> <Number>1</Number> </GreaterOrEqual> </Test> <True> <STATE\_MAX\_TIMER>\#MOMENTARY\_MIN\_DURATION\#</STATE\_MAX\_TIMER> <STATE0\_TIMER>0</STATE0\_TIMER> <REST\_STATE Process="Int">\#POS\_PARK\# 1 -</REST\_STATE> </True> <False> <STATE\_MAX\_TIMER>0</STATE\_MAX\_TIMER> <STATE0\_TIMER>\#MOMENTARY\_MIN\_DURATION\#</STATE0\_TIMER> <REST\_STATE Process="Int">1</REST\_STATE> </False> </Condition> </Case> <Default> <INIT\_WIPERS\_STATE>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool) if{ \#CIRCUIT\_ID\_WIPERS\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</INIT\_WIPERS\_STATE> </Default> </Switch> <WIPERS\_ON>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool) ! if{ \#CIRCUIT\_ID\_WIPERS\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</WIPERS\_ON> <WIPERS\_OFF>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool) if{ \#CIRCUIT\_ID\_WIPERS\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</WIPERS\_OFF> <IS\_WIPERS\_ON>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool)</IS\_WIPERS\_ON> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="CIRCUIT\_ID\_WIPERS"> <SIMVAR\_TO\_WATCH\_0>CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#</SIMVAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_1>CIRCUIT POWER SETTING:\#CIRCUIT\_ID\_WIPERS\#</SIMVAR\_TO\_WATCH\_1> </Condition> <Switch> <Case Valid="OFF\_INT\_LOW\_HIGH"> <GET\_STATE\_EXTERNAL>\#IS\_WIPERS\_ON\# sp0 \#GET\_POWER\# near sp1</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL> l0 if{ l1 \#POWER\_INT\# == if{ \#POS\_INT\# sp2 } els{ l1 \#POWER\_LOW\# == if{ \#POS\_LOW\# sp2 } els{ \#POS\_HIGH\# sp2 } } g2 } els{ \#POS\_OFF\# sp2 g2 } :2 l2 </ENUM\_VAL\_TO\_POS\_EXTERNAL> <SET\_STATE\_\#POS\_OFF\#>\#WIPERS\_OFF\#</SET\_STATE\_\#POS\_OFF\#> <SET\_STATE\_\#POS\_INT\#>\#WIPERS\_ON\# \#POWER\_INT\# \#SET\_POWER\#</SET\_STATE\_\#POS\_INT\#> <SET\_STATE\_\#POS\_LOW\#>\#WIPERS\_ON\# \#POWER\_LOW\# \#SET\_POWER\#</SET\_STATE\_\#POS\_LOW\#> <SET\_STATE\_\#POS\_HIGH\#>\#WIPERS\_ON\# \#POWER\_HIGH\# \#SET\_POWER\#</SET\_STATE\_\#POS\_HIGH\#> <STR\_STATE\_\#POS\_OFF\#>Off</STR\_STATE\_\#POS\_OFF\#> <STR\_STATE\_\#POS\_INT\#>Int</STR\_STATE\_\#POS\_INT\#> <STR\_STATE\_\#POS\_LOW\#>Low</STR\_STATE\_\#POS\_LOW\#> <STR\_STATE\_\#POS\_HIGH\#>High</STR\_STATE\_\#POS\_HIGH\#> <TT\_VALUE\_\#POS\_OFF\#>@TT\_Package.GT\_STATE\_OFF</TT\_VALUE\_\#POS\_OFF\#> <TT\_VALUE\_\#POS\_INT\#>@TT\_Package.GT\_STATE\_INT</TT\_VALUE\_\#POS\_INT\#> <TT\_VALUE\_\#POS\_LOW\#>@TT\_Package.GT\_STATE\_LOW</TT\_VALUE\_\#POS\_LOW\#> <TT\_VALUE\_\#POS\_HIGH\#>@TT\_Package.GT\_STATE\_HIGH</TT\_VALUE\_\#POS\_HIGH\#> <CODE\_POS\_\#POS\_OFF\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Off)</CODE\_POS\_\#POS\_OFF\#> <CODE\_POS\_\#POS\_INT\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Int)</CODE\_POS\_\#POS\_INT\#> <CODE\_POS\_\#POS\_LOW\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Low)</CODE\_POS\_\#POS\_LOW\#> <CODE\_POS\_\#POS\_HIGH\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_High)</CODE\_POS\_\#POS\_HIGH\#> <STATE\#POS\_OFF\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_OFF\# ==</STATE\#POS\_OFF\#\_TEST> <STATE\#POS\_INT\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_INT\# ==</STATE\#POS\_INT\#\_TEST> <STATE\#POS\_LOW\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_LOW\# ==</STATE\#POS\_LOW\#\_TEST> <STATE\#POS\_HIGH\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_HIGH\# ==</STATE\#POS\_HIGH\#\_TEST> </Case> <Case Valid="PARK\_OFF\_NORM\_FAST"> <SIMVAR\_TO\_WATCH\_2>CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#</SIMVAR\_TO\_WATCH\_2> <GET\_STATE\_EXTERNAL>\#IS\_WIPERS\_ON\# sp0 \#IS\_PARK\_ON\# sp1 \#GET\_POWER\# near sp2</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL> l0 if{ l2 \#POWER\_FAST\# == if{ \#POS\_FAST\# sp3 } els{ \#POS\_NORM\# sp3 } g2 } els{ l1 if{ \#POS\_PARK\# sp3 } els{ \#POS\_OFF\# sp3 } g2 } :2 l3 </ENUM\_VAL\_TO\_POS\_EXTERNAL> <CODE\_POS\_RETURN Process="Param">CODE\_POS\_\#REST\_STATE\#</CODE\_POS\_RETURN> <SET\_STATE\_\#POS\_FAST\#>\#PARK\_OFF\# \#WIPERS\_ON\# \#POWER\_FAST\# \#SET\_POWER\#</SET\_STATE\_\#POS\_FAST\#> <SET\_STATE\_\#POS\_NORM\#>\#PARK\_OFF\# \#WIPERS\_ON\# \#POWER\_NORM\# \#SET\_POWER\#</SET\_STATE\_\#POS\_NORM\#> <SET\_STATE\_\#POS\_OFF\#>\#PARK\_OFF\# \#WIPERS\_OFF\#</SET\_STATE\_\#POS\_OFF\#> <SET\_STATE\_\#POS\_PARK\#>\#PARK\_ON\# \#WIPERS\_OFF\#</SET\_STATE\_\#POS\_PARK\#> <STR\_STATE\_\#POS\_FAST\#>Fast</STR\_STATE\_\#POS\_FAST\#> <STR\_STATE\_\#POS\_NORM\#>Norm</STR\_STATE\_\#POS\_NORM\#> <STR\_STATE\_\#POS\_OFF\#>Off</STR\_STATE\_\#POS\_OFF\#> <STR\_STATE\_\#POS\_PARK\#>Park</STR\_STATE\_\#POS\_PARK\#> <TT\_VALUE\_\#POS\_FAST\#>@TT\_Package.GT\_STATE\_FAST</TT\_VALUE\_\#POS\_FAST\#> <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\_PARK\#>@TT\_Package.GT\_STATE\_PARK</TT\_VALUE\_\#POS\_PARK\#> <CODE\_POS\_\#POS\_FAST\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Fast)</CODE\_POS\_\#POS\_FAST\#> <CODE\_POS\_\#POS\_NORM\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Norm)</CODE\_POS\_\#POS\_NORM\#> <CODE\_POS\_\#POS\_OFF\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Off)</CODE\_POS\_\#POS\_OFF\#> <CODE\_POS\_\#POS\_PARK\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Park)</CODE\_POS\_\#POS\_PARK\#> <STATE\#POS\_FAST\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_FAST\# ==</STATE\#POS\_FAST\#\_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> <STATE\#POS\_PARK\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_PARK\# ==</STATE\#POS\_PARK\#\_TEST> <MOMENTARY\_SWITCH/> </Case> <Default> <GET\_STATE\_EXTERNAL>\#IS\_WIPERS\_ON\# sp0 \#GET\_POWER\# near sp1</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL>l0 if{ l1 \#POWER\_SLOW\# == if{ \#POS\_SLOW\# sp2 } els{ \#POS\_NORM\# sp2 } g2 } els{ \#POS\_OFF\# sp2 } :2 l2</ENUM\_VAL\_TO\_POS\_EXTERNAL> <SET\_STATE\_\#POS\_NORM\#>\#WIPERS\_ON\# \#POWER\_NORM\# \#SET\_POWER\#</SET\_STATE\_\#POS\_NORM\#> <SET\_STATE\_\#POS\_OFF\#>\#WIPERS\_OFF\#</SET\_STATE\_\#POS\_OFF\#> <SET\_STATE\_\#POS\_SLOW\#>\#WIPERS\_ON\# \#POWER\_SLOW\# \#SET\_POWER\#</SET\_STATE\_\#POS\_SLOW\#> <STR\_STATE\_\#POS\_NORM\#>Norm</STR\_STATE\_\#POS\_NORM\#> <STR\_STATE\_\#POS\_OFF\#>Off</STR\_STATE\_\#POS\_OFF\#> <STR\_STATE\_\#POS\_SLOW\#>Slow</STR\_STATE\_\#POS\_SLOW\#> <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\_SLOW\#>@TT\_Package.GT\_STATE\_SLOW</TT\_VALUE\_\#POS\_SLOW\#> <CODE\_POS\_\#POS\_NORM\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Norm)</CODE\_POS\_\#POS\_NORM\#> <CODE\_POS\_\#POS\_OFF\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Off)</CODE\_POS\_\#POS\_OFF\#> <CODE\_POS\_\#POS\_SLOW\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Slow)</CODE\_POS\_\#POS\_SLOW\#> <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> <STATE\#POS\_SLOW\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_SLOW\# ==</STATE\#POS\_SLOW\#\_TEST> </Default> </Switch> <TOOLTIP\_ENTRY\_0>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> </Parameters> <Parameters Type="Default"> <TOOLTIP\_TITLE>@TT\_Package.SAFETY\_KNOB\_WIPERS\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.SAFETY\_KNOB\_WIPERS\_LEFT\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_ONCE>True</UPDATE\_ONCE> <UPDATE\_CODE>\#INIT\_WIPERS\_STATE\#</UPDATE\_CODE> </UseTemplate> <UseInputEvent ID="\#USE\_INPUT\_EVENT\_ID\#"/> <UseTemplate Name="\#TEMPLATE\_TO\_USE\#"/> </Component> </Template> <Template Name="ASOBO\_HANDLING\_Switch\_AerobaticsTrimFlaps\_SubTemplate"> <Parameters Type="Default"> <ANIM\_NAME>HANDLING\_Switch\_AerobaticsTrimFlaps</ANIM\_NAME> <NODE\_ID>HANDLING\_Switch\_AerobaticsTrimFlaps</NODE\_ID> <PART\_ID>HANDLING\_Switch\_AerobaticsTrimFlaps</PART\_ID> <BUS\_ID>-1</BUS\_ID> <CIRCUIT\_ID>1</CIRCUIT\_ID> <WWISE\_EVENT\_1>aerobaticstrimflaps\_switch\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>aerobaticstrimflaps\_switch\_off</WWISE\_EVENT\_2> <IE\_CIRCUIT\_ID>Aerobatic\_Trim\_Flaps</IE\_CIRCUIT\_ID> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_SWITCH\_AEROBATICSTRIMFLAPS\_ACTION</TT\_DESCRIPTION\_ID> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_SWITCH\_AEROBATICSTRIMFLAPS\_TITLE</TOOLTIP\_TITLE> </Parameters> <Parameters Type="Override"> <DISABLE\_TRIM> 1 (>K:RUDDER\_TRIM\_DISABLED\_SET) 1 (>K:AILERON\_TRIM\_DISABLED\_SET) 1 (>K:ELEVATOR\_TRIM\_DISABLED\_SET) </DISABLE\_TRIM> <ENABLE\_TRIM> 0 (>K:RUDDER\_TRIM\_DISABLED\_SET) 0 (>K:AILERON\_TRIM\_DISABLED\_SET) 0 (>K:ELEVATOR\_TRIM\_DISABLED\_SET) </ENABLE\_TRIM> </Parameters> <Parameters Type="Override"> <BTN\_ID>\#IE\_CIRCUIT\_ID\#</BTN\_ID> <IS\_CONNECTION\_ON>\#BUS\_ID\# (A:1:CIRCUIT CONNECTION ON:\#CIRCUIT\_ID\#, Bool)</IS\_CONNECTION\_ON> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL> \#IS\_CONNECTION\_ON\# ! p0 != if{ \#CIRCUIT\_ID\# \#BUS\_ID\# (>K:2:ELECTRICAL\_BUS\_TO\_CIRCUIT\_CONNECTION\_TOGGLE) } \#IS\_CONNECTION\_ON\# if{ \#ENABLE\_TRIM\# } els{ \#DISABLE\_TRIM\# } </SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>\#IS\_CONNECTION\_ON\# ! sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <ANIM\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) 100 \*</ANIM\_CODE> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_InertSep\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_InertSep</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_InertSep</ANIM\_NAME> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <WWISE\_EVENT\_1>Inertsep\_lever\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <DIRECTION\_1>Forward</DIRECTION\_1> <WWISE\_EVENT\_2>Inertsep\_lever\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.9</NORMALIZED\_TIME\_2> <DIRECTION\_2>Backward</DIRECTION\_2> <ANIM>EXTERNAL</ANIM> </Case> </Switch> <VAR\_NAME>XMLVAR\_InterSep</VAR\_NAME> <VAR\_SCOPE>L</VAR\_SCOPE> <TOOLTIP\_TITLE>@TT\_Package.DEICE\_SWITCH\_INERTSEP\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.DEICE\_SWITCH\_INERTSEP\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>InertSep</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_ON>1 (>\#VAR\_SCOPE\#:\#VAR\_NAME\#)</SET\_STATE\_ON> <SET\_STATE\_OFF>0 (>\#VAR\_SCOPE\#:\#VAR\_NAME\#)</SET\_STATE\_OFF> <GET\_STATE\_EXTERNAL>(\#VAR\_SCOPE\#:\#VAR\_NAME\#) sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <STR\_STATE\_OFF>Normal</STR\_STATE\_OFF> <STR\_STATE\_ON>Bypass</STR\_STATE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_NORMAL)</TT\_VALUE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_BYPASS)</TT\_VALUE\_ON> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> <ANIM\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) 100 \*</ANIM\_CODE> </UseTemplate> </Component> </Template> <Template Name="ASOBO\_HANDLING\_AutoSpoiler\_SubTemplate"> <Parameters Type="Default"> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_AutoSpoiler</ANIM\_NAME> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_AutoSpoiler</NODE\_ID> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_AutoSpoiler</PART\_ID> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <WWISE\_EVENT\_1>autospoiler\_push\_button\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>autospoiler\_push\_button\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> <PUSH\_TYPE>NORM\_DISARM</PUSH\_TYPE> </Case> </Switch> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_PUSH\_AUTOGROUNDSPOILERS\_ACTION</TT\_DESCRIPTION\_ID> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_PUSH\_AUTOGROUNDSPOILERS\_TITLE</TOOLTIP\_TITLE> </Parameters> <Parameters Type="Override"> <BTN\_ID>AutoSpoiler</BTN\_ID> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Airliner"> <Switch Param="PUSH\_TYPE"> <Case Value="NORM\_DISARM"> <STR\_STATE\_ON>Norm</STR\_STATE\_ON> <STR\_STATE\_OFF>Disarm</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_NORMAL)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_DISARM)</TT\_VALUE\_OFF> </Case> </Switch> <INPUT\_EVENT\_ID>ENGINE</INPUT\_EVENT\_ID> <TOOLTIP\_ENTRY\_0>ENGINE\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <SEQ1\_EMISSIVE\_CODE>(B:ENGINE\_\#BTN\_ID\#, Bool)</SEQ1\_EMISSIVE\_CODE> <SEQ2\_EMISSIVE\_CODE>(B:ENGINE\_\#BTN\_ID\#, Bool) !</SEQ2\_EMISSIVE\_CODE> <LEFT\_SINGLE\_CODE>(>B:ENGINE\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> <SIMVAR\_TO\_WATCH\_0>SPOILERS ARMED</SIMVAR\_TO\_WATCH\_0> <SET\_STATE\_EXTERNAL>(A:SPOILERS ARMED, Bool) p0 != if{ (>K:SPOILERS\_ARM\_TOGGLE) }</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:SPOILERS ARMED, Bool) sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> </UseTemplate> </Case> </Switch> </Template> <Template Name="ASOBO\_HANDLING\_Water\_Rudder\_Controller\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Water\_Rudder</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Water\_Rudder</ANIM\_NAME> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Water\_Rudder</PART\_ID> <WWISE\_PREFIX>water\_rudder</WWISE\_PREFIX> <Switch Param="INTERACTION\_TYPE"> <Case Value="Switch"> <TOOLTIP\_TITLE>@TT\_Package.HYDRA\_SWITCH\_WATERRUDDER\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.HYDRA\_SWITCH\_WATERRUDDER\_ACTION\_SET</TT\_DESCRIPTION\_ID> </Case> <Case Value="Lever"> <TOOLTIP\_TITLE>@TT\_Package.LANDING\_GEAR\_WATER\_RUDDER\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_WATER\_RUDDER\_ACTION</TT\_DESCRIPTION\_ID> </Case> </Switch> <Condition Valid="USE\_STATE\_INDICATOR"> <EMISSIVE\_NODE\_ID>HANDLING\_Indicator\_WaterRudder</EMISSIVE\_NODE\_ID> </Condition> </Parameters> <Condition Valid="USE\_STATE\_INDICATOR"> <Component ID="\#EMISSIVE\_NODE\_ID\#" Node="\#EMISSIVE\_NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Emissive\_Gauge"> <EMISSIVE\_CODE>(B:HANDLING\_Water\_Rudder, Bool)</EMISSIVE\_CODE> </UseTemplate> </Component> </Condition> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>Water\_Rudder</IE\_NAME> <SET\_STATE\_EXTERNAL>p0 (A:WATER RUDDER HANDLE POSITION, percent over 100) 0 > != if{ (>K:TOGGLE\_WATER\_RUDDER) }</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:WATER RUDDER HANDLE POSITION, percent over 100) 0 > sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <STR\_STATE\_ON>Down</STR\_STATE\_ON> <STR\_STATE\_OFF>Up</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_DOWN)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_UP)</TT\_VALUE\_OFF> <SIMVAR\_TO\_WATCH\_0>WATER RUDDER HANDLE POSITION</SIMVAR\_TO\_WATCH\_0> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <LEVER\_TYPE>2\_STATES</LEVER\_TYPE> </Case> </Switch> </UseTemplate> </Template> </ModelBehaviors>     ### Templates Template list 1. [ASOBO\_HANDLING\_Yoke\_Hider\_Template](#ASOBO_HANDLING_Yoke_Hider_Template) 2. [ASOBO\_HANDLING\_Yoke\_SubTemplate](#ASOBO_HANDLING_Yoke_SubTemplate) 3. [ASOBO\_HANDLING\_Yoke\_Hideable\_SubTemplate](#ASOBO_HANDLING_Yoke_Hideable_SubTemplate) 4. [ASOBO\_HANDLING\_Joystick\_YawPitch\_SubTemplate](#ASOBO_HANDLING_Joystick_YawPitch_SubTemplate) 5. [ASOBO\_HANDLING\_Timer\_SubTemplate](#ASOBO_HANDLING_Timer_SubTemplate) 6. [ASOBO\_HANDLING\_StormClear\_SubTemplate](#ASOBO_HANDLING_StormClear_SubTemplate) 7. [ASOBO\_HANDLING\_CWS\_SubTemplate](#ASOBO_HANDLING_CWS_SubTemplate) 8. [ASOBO\_HANDLING\_Ident\_SubTemplate](#ASOBO_HANDLING_Ident_SubTemplate) 9. [ASOBO\_HANDLING\_Swap\_SubTemplate](#ASOBO_HANDLING_Swap_SubTemplate) 10. [ASOBO\_HANDLING\_AntiSkid\_SubTemplate](#ASOBO_HANDLING_AntiSkid_SubTemplate) 11. [ASOBO\_HANDLING\_GLimiter\_SubTemplate](#ASOBO_HANDLING_GLimiter_SubTemplate) 12. [ASOBO\_HANDLING\_Steering\_Tiller\_SubTemplate](#ASOBO_HANDLING_Steering_Tiller_SubTemplate) 13. [ASOBO\_HANDLING\_RudderPedals\_SubTemplate](#ASOBO_HANDLING_RudderPedals_SubTemplate) 14. [ASOBO\_HANDLING\_Light\_Flaps\_SubTemplate](#ASOBO_HANDLING_Light_Flaps_SubTemplate) 15. [ASOBO\_HANDLING\_Light\_Trim\_Subtemplate](#ASOBO_HANDLING_Light_Trim_Subtemplate) 16. [ASOBO\_HANDLING\_AileronTrim\_Template](#ASOBO_HANDLING_AileronTrim_Template) 17. [ASOBO\_HANDLING\_RudderTrim\_Template](#ASOBO_HANDLING_RudderTrim_Template) 18. [ASOBO\_HANDLING\_ElevatorTrim\_Template](#ASOBO_HANDLING_ElevatorTrim_Template) 19. [ASOBO\_HANDLING\_Combined\_Trim\_SubTemplate](#ASOBO_HANDLING_Combined_Trim_SubTemplate) 20. [ASOBO\_HANDLING\_AP\_Trim\_Disc\_SubTemplate](#ASOBO_HANDLING_AP_Trim_Disc_SubTemplate) 21. [ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template](#ASOBO_HANDLING_Trim_Variable_Speed_Base_Template) 22. [ASOBO\_HANDLING\_Secondary\_Trim\_Available\_SubTemplate](#ASOBO_HANDLING_Secondary_Trim_Available_SubTemplate) 23. [ASOBO\_HANDLING\_Spoilers\_Int\_SubTemplate](#ASOBO_HANDLING_Spoilers_Int_SubTemplate) 24. [ASOBO\_HANDLING\_Flaps\_SubTemplate](#ASOBO_HANDLING_Flaps_SubTemplate) 25. [ASOBO\_HANDLING\_Flaps\_Lever\_SubTemplate](#ASOBO_HANDLING_Flaps_Lever_SubTemplate) 26. [ASOBO\_HANDLING\_Flaps\_Button\_SubTemplate](#ASOBO_HANDLING_Flaps_Button_SubTemplate) 27. [ASOBO\_HANDLING\_Autobrakes\_SubTemplate](#ASOBO_HANDLING_Autobrakes_SubTemplate) 28. [ASOBO\_HANDLING\_Wipers\_Controller\_SubTemplate](#ASOBO_HANDLING_Wipers_Controller_SubTemplate) 29. [ASOBO\_HANDLING\_Switch\_AerobaticsTrimFlaps\_SubTemplate](#ASOBO_HANDLING_Switch_AerobaticsTrimFlaps_SubTemplate) 30. [ASOBO\_HANDLING\_InertSep\_SubTemplate](#ASOBO_HANDLING_InertSep_SubTemplate) 31. [ASOBO\_HANDLING\_AutoSpoiler\_SubTemplate](#ASOBO_HANDLING_AutoSpoiler_SubTemplate) 32. [ASOBO\_HANDLING\_Water\_Rudder\_Controller\_SubTemplate](#ASOBO_HANDLING_Water_Rudder_Controller_SubTemplate) - #### ASOBO\_HANDLING\_Yoke\_Hider\_Template Definition from XML <Template Name="ASOBO\_HANDLING\_Yoke\_Hider\_Template"> <Parameters Type="Default"> <ID>1</ID> <MOUSERECT\_DISABLED\_WITH\_MOTION\_CONTROLLERS>True</MOUSERECT\_DISABLED\_WITH\_MOTION\_CONTROLLERS> </Parameters> <Parameters Type="Default"> <NODE\_ID>HANDLING\_YOKE\_Hider\_\#ID\#</NODE\_ID> </Parameters> <Parameters Type="Default"> <TOOLTIP\_TITLE>@TT\_Package.YOKE\_VISIBILITY\_TITLE</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_Yoke\_Hider\_\#ID\#</TOOLTIP\_ENTRY\_0> </Parameters> <Component ID="\#NODE\_ID\#\_Hider" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <HIDER\_ID>\#ID\#</HIDER\_ID> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Interaction\_LeftSingle\_Code"> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_Yoke\_Hider\_\#ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - ID - MOUSERECT\_DISABLED\_WITH\_MOTION\_CONTROLLERS - Default Parameters set: - NODE\_ID (using ID) - Default Parameters set: - TOOLTIP\_TITLE - TOOLTIP\_ENTRY\_0 (using ID) Parameters read: - NODE\_ID Components: - \#NODE\_ID\#\_Hider (Node: \#NODE\_ID\#) Parameters set: - HIDER\_ID (using ID)   Templates used: - [ASOBO\_GT\_Interaction\_LeftSingle\_Code](../../generic/interactions/#ASOBO_GT_Interaction_LeftSingle_Code) Parameters set: - LEFT\_SINGLE\_CODE (using ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Yoke\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Yoke\_SubTemplate"> <DefaultTemplateParameters> <Condition Check="CREATE\_TWO\_NODES"> <True> <NODE\_ID>HANDLING\_Yoke\_1</NODE\_ID> <NODE\_ID2>HANDLING\_Yoke\_2</NODE\_ID2> </True> <False> <NODE\_ID>HANDLING\_Yoke\_\#ID\#</NODE\_ID> </False> </Condition> <Condition Valid="AP\_CAN\_DRIVE\_ANIMATION"> <True> <ANIM\_SIMVAR\_X>YOKE X POSITION WITH AP</ANIM\_SIMVAR\_X> <ANIM\_SIMVAR\_X\_LINEAR>YOKE X POSITION WITH AP LINEAR</ANIM\_SIMVAR\_X\_LINEAR> <ANIM\_SIMVAR\_Y>YOKE Y POSITION WITH AP</ANIM\_SIMVAR\_Y> </True> <False> <ANIM\_SIMVAR\_X>YOKE X POSITION</ANIM\_SIMVAR\_X> <ANIM\_SIMVAR\_X\_LINEAR>YOKE X POSITION LINEAR</ANIM\_SIMVAR\_X\_LINEAR> <ANIM\_SIMVAR\_Y>YOKE Y POSITION</ANIM\_SIMVAR\_Y> </False> </Condition> <ANIM\_NAME\_YOKE\_X>HANDLING\_YOKE\_Lever\_StickLR</ANIM\_NAME\_YOKE\_X> <ANIM\_NAME\_YOKE\_Y>HANDLING\_YOKE\_Lever\_StickForeAft</ANIM\_NAME\_YOKE\_Y> <PART\_ID>HANDLING\_Yoke</PART\_ID> <ANIM\_LENGTH>200</ANIM\_LENGTH> <ANIM\_SIMVAR\_BIAS>100</ANIM\_SIMVAR\_BIAS> </DefaultTemplateParameters> <Component ID="\#NODE\_ID\#\_\#ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Anim\_Code"> <ANIM\_NAME>\#ANIM\_NAME\_YOKE\_X\#</ANIM\_NAME> <ANIM\_CODE>(E:IS IN VR, Bool) if{ (A:\#ANIM\_SIMVAR\_X\_LINEAR\#, percent over 100) } els{ (A:\#ANIM\_SIMVAR\_X\#, percent over 100) } \#ANIM\_LENGTH\# 0.5 \* \* \#ANIM\_SIMVAR\_BIAS\# +</ANIM\_CODE> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Anim\_Sim"> <ANIM\_NAME>\#ANIM\_NAME\_YOKE\_Y\#</ANIM\_NAME> <ANIM\_SIMVAR>\#ANIM\_SIMVAR\_Y\#</ANIM\_SIMVAR> <ANIM\_SIMVAR\_UNITS>percent</ANIM\_SIMVAR\_UNITS> </UseTemplate> </Component> <Condition Check="CREATE\_TWO\_NODES"> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <NODE\_ID>\#NODE\_ID2\#</NODE\_ID> </UseTemplate> </Condition> </Template> Parameters initialization: - Default Parameters set: - ANIM\_NAME\_YOKE\_X - ANIM\_NAME\_YOKE\_Y - PART\_ID - ANIM\_LENGTH - ANIM\_SIMVAR\_BIAS Condition: Check(CREATE\_TWO\_NODES) - Case: True Parameters set: - NODE\_ID - NODE\_ID2 - Case: False Parameters set: - NODE\_ID (using ID) Condition: Valid(AP\_CAN\_DRIVE\_ANIMATION) - Case: True Parameters set: - ANIM\_SIMVAR\_X - ANIM\_SIMVAR\_X\_LINEAR - ANIM\_SIMVAR\_Y - Case: False Parameters set: - ANIM\_SIMVAR\_X - ANIM\_SIMVAR\_X\_LINEAR - ANIM\_SIMVAR\_Y Parameters read: - NODE\_ID - ID Components: - \#NODE\_ID\#\_\#ID\# (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Anim\_Code](../../generic/animations/#ASOBO_GT_Anim_Code) Parameters set: - ANIM\_NAME (using ANIM\_NAME\_YOKE\_X) - ANIM\_CODE (using ANIM\_SIMVAR\_X\_LINEAR, ANIM\_SIMVAR\_X, ANIM\_LENGTH, ANIM\_SIMVAR\_BIAS) - [ASOBO\_GT\_Anim\_Sim](../../generic/animations/#ASOBO_GT_Anim_Sim) Parameters set: - ANIM\_NAME (using ANIM\_NAME\_YOKE\_Y) - ANIM\_SIMVAR (using ANIM\_SIMVAR\_Y) - ANIM\_SIMVAR\_UNITS Condition: Check(CREATE\_TWO\_NODES) - Case: True   Templates used: - [ASOBO\_GT\_ComponentWith\_PART\_ID](../../generic/complex/misc/#ASOBO_GT_ComponentWith_PART_ID) Parameters set: - NODE\_ID (using NODE\_ID2) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Yoke\_Hideable\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Yoke\_Hideable\_SubTemplate"> <DefaultTemplateParameters> <NODE\_ID>HANDLING\_YOKE\_Hideable\_\#ID\#</NODE\_ID> <YOKE\_HIDER\_NODE\_ID>HANDLING\_YOKE\_Hider\_\#ID\#</YOKE\_HIDER\_NODE\_ID> <YOKE\_NODE\_ID>HANDLING\_Yoke\_\#ID\#</YOKE\_NODE\_ID> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.YOKE\_VISIBILITY</TOOLTIPID> </DefaultTemplateParameters> <Component ID="\#NODE\_ID\#\_VisibilityNode" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Visibility\_Code"> <VISIBILITY\_CODE>(L:XMLVAR\_YokeHidden\#ID\#) !</VISIBILITY\_CODE> </UseTemplate> </Component> <Condition Check="ONLY\_DECORATIVE"> <False> <UseTemplate Name="ASOBO\_HANDLING\_Yoke\_Hider\_Template"> <NODE\_ID>\#YOKE\_HIDER\_NODE\_ID\#</NODE\_ID> </UseTemplate> <Condition Check="ONLY\_HIDEABLE"> <True> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <NODE\_ID>\#YOKE\_NODE\_ID\#</NODE\_ID> <PART\_ID>HANDLING\_YOKE</PART\_ID> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_HANDLING\_Yoke\_Template"> <NODE\_ID>\#YOKE\_NODE\_ID\#</NODE\_ID> </UseTemplate> </False> </Condition> </False> </Condition> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using ID) - YOKE\_HIDER\_NODE\_ID (using ID) - YOKE\_NODE\_ID (using ID) - TOOLTIPID Parameters read: - NODE\_ID Components: - \#NODE\_ID\#\_VisibilityNode (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Visibility\_Code](../../generic/visibility/#ASOBO_GT_Visibility_Code) Parameters set: - VISIBILITY\_CODE (using ID) Condition: Check(ONLY\_DECORATIVE) - Case: False   Templates used: - [ASOBO\_HANDLING\_Yoke\_Hider\_Template](handling-subtemplates/#ASOBO_HANDLING_Yoke_Hider_Template) Parameters set: - NODE\_ID (using YOKE\_HIDER\_NODE\_ID) Condition: Check(ONLY\_HIDEABLE) - Case: True   Templates used: - [ASOBO\_GT\_ComponentWith\_PART\_ID](../../generic/complex/misc/#ASOBO_GT_ComponentWith_PART_ID) Parameters set: - NODE\_ID (using YOKE\_NODE\_ID) - PART\_ID - Case: False   Templates used: - [ASOBO\_HANDLING\_Yoke\_Template](../handling/#ASOBO_HANDLING_Yoke_Template) Parameters set: - NODE\_ID (using YOKE\_NODE\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Joystick\_YawPitch\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Joystick\_YawPitch\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_Joystick\_YawPitch\_\#ID\#</NODE\_ID> <ANIM\_NAME\_L\_R>HANDLING\_Joystick\_YawPitch\_L\_R\_\#ID\#</ANIM\_NAME\_L\_R> <ANIM\_NAME\_DN\_UP>HANDLING\_Joystick\_YawPitch\_DN\_UP\_\#ID\#</ANIM\_NAME\_DN\_UP> <INPUT\_EVENT\_ID\_SOURCE>HANDLING</INPUT\_EVENT\_ID\_SOURCE> </Parameters> <Parameters Type="Default"> <VAR\_NAME>\#INPUT\_EVENT\_ID\_SOURCE\#\_Joystick\_\#ID\#\_Interacting</VAR\_NAME> <TT\_DESCRIPTION\_ID\_PAN\_X>@TT\_Package.YOKE\_PUSH\_NOSE\_ACTION</TT\_DESCRIPTION\_ID\_PAN\_X> <TT\_DESCRIPTION\_ID\_PAN\_Y>@TT\_Package.YOKE\_PUSH\_NOSE\_ACTION</TT\_DESCRIPTION\_ID\_PAN\_Y> <TT\_DESCRIPTION\_ID\_DISENGAGE>@TT\_Package.GT\_STATE\_DISENGAGE</TT\_DESCRIPTION\_ID\_DISENGAGE> <TOOLTIP\_TITLE\_EXTERNAL>@TT\_Package.YOKE\_PUSH\_NOSE\_TITLE</TOOLTIP\_TITLE\_EXTERNAL> </Parameters> <Parameters Type="Override"> <KNOB\_X\_ID>Yaw\_Pitch\_X</KNOB\_X\_ID> <KNOB\_Y\_ID>Yaw\_Pitch\_Y</KNOB\_Y\_ID> <BTN\_DISENGAGE\_ID>Yaw\_Pitch\_AP\_Disengage</BTN\_DISENGAGE\_ID> </Parameters> <Parameters Type="Override"> <JOYSTICK\_X\_CODE\_LEFT>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_X\_ID\#\_Left)</JOYSTICK\_X\_CODE\_LEFT> <JOYSTICK\_X\_CODE\_RIGHT>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_X\_ID\#\_Right)</JOYSTICK\_X\_CODE\_RIGHT> <JOYSTICK\_Y\_CODE\_DOWN>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_Y\_ID\#\_Up)</JOYSTICK\_Y\_CODE\_DOWN> <JOYSTICK\_Y\_CODE\_UP>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_Y\_ID\#\_Down)</JOYSTICK\_Y\_CODE\_UP> <LEFT\_SINGLE\_CODE\_DEFAULT\_IM>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_DISENGAGE\_ID\#\_Set)</LEFT\_SINGLE\_CODE\_DEFAULT\_IM> <LEFT\_RELEASE\_CODE\_DEFAULT\_IM>0 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_DISENGAGE\_ID\#\_Set)</LEFT\_RELEASE\_CODE\_DEFAULT\_IM> <LEFT\_SINGLE\_CODE\_DRAG\_IM>1 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_DISENGAGE\_ID\#\_Set)</LEFT\_SINGLE\_CODE\_DRAG\_IM> <LEFT\_RELEASE\_CODE\_DRAG\_IM>0 (>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_DISENGAGE\_ID\#\_Set)</LEFT\_RELEASE\_CODE\_DRAG\_IM> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_TITLE\_EXTERNAL\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_X\_ID\#</TOOLTIP\_ENTRY\_0> <TOOLTIP\_ENTRY\_1>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#KNOB\_Y\_ID\#</TOOLTIP\_ENTRY\_1> </Parameters> <UseInputEvent ID="HANDLING"> <BTN\_ID>\#BTN\_DISENGAGE\_ID\#</BTN\_ID> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_DISENGAGE\#</TT\_DESCRIPTION\_ID> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> <BINDING\_DEC\_0>Release</BINDING\_DEC\_0> <BINDING\_DEC\_0\_PARAM\_0>0</BINDING\_DEC\_0\_PARAM\_0> <SET\_STATE\_EXTERNAL>(A:AUTOPILOT DISENGAGED, Bool) != if{ p0 (>K:AUTOPILOT\_DISENGAGE\_SET) }</SET\_STATE\_EXTERNAL> <ANIM\_EXTERNAL>True</ANIM\_EXTERNAL> </UseInputEvent> <UseInputEvent ID="HANDLING"> <KNOB\_ID>\#KNOB\_X\_ID\#</KNOB\_ID> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_PAN\_X\#</TT\_DESCRIPTION\_ID> <TT\_ICON>MOVE\_AXIS</TT\_ICON> <SET\_STATE\_EXTERNAL>0 > if{ (>K:RUDDER\_TRIM\_RIGHT) } els{ (>K:RUDDER\_TRIM\_LEFT) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Right</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> <BINDING\_DEC\_0>Left</BINDING\_DEC\_0> <BINDING\_DEC\_0\_PARAM\_0>1</BINDING\_DEC\_0\_PARAM\_0> <NO\_ANIM\_VAR\_UPDATE>True</NO\_ANIM\_VAR\_UPDATE> <GET\_TT\_VALUE\_STATE>(A:RUDDER TRIM, degrees)</GET\_TT\_VALUE\_STATE> <FORMAT\_VALUE>'%.1f°' @sprintf</FORMAT\_VALUE> </UseInputEvent> <UseInputEvent ID="HANDLING"> <KNOB\_ID>\#KNOB\_Y\_ID\#</KNOB\_ID> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_PAN\_X\#</TT\_DESCRIPTION\_ID> <TT\_ICON>MOVE\_AXIS</TT\_ICON> <TT\_INTERACTION>PRIMARY\_DOWN+Y\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>Y\_AXIS</TT\_INTERACTION\_LOCKABLE> <SET\_STATE\_EXTERNAL>0 > if{ (>K:ELEV\_TRIM\_UP) } els{ (>K:ELEV\_TRIM\_DN) } (A:AUTOPILOT DISENGAGED, Bool) ! if{ 1 (>K:AUTOPILOT\_DISENGAGE\_SET) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Up</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> <BINDING\_DEC\_0>Down</BINDING\_DEC\_0> <BINDING\_DEC\_0\_PARAM\_0>1</BINDING\_DEC\_0\_PARAM\_0> <NO\_ANIM\_VAR\_UPDATE>True</NO\_ANIM\_VAR\_UPDATE> <GET\_TT\_VALUE\_STATE>(A:ELEVATOR TRIM POSITION, degrees)</GET\_TT\_VALUE\_STATE> <FORMAT\_VALUE>'%.1f°' @sprintf</FORMAT\_VALUE> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Joystick\_Interaction\_Knob"> <JOYSTICK\_INTERACTION>PAN\_ONLY</JOYSTICK\_INTERACTION> <UPDATE\_FREQUENCY>20</UPDATE\_FREQUENCY> <COUNT>36</COUNT> <THRESHOLD\_X\_INPUT>0.1</THRESHOLD\_X\_INPUT> <THRESHOLD\_X\_MOUSE>0.01</THRESHOLD\_X\_MOUSE> <THRESHOLD\_Y\_INPUT>0.1</THRESHOLD\_Y\_INPUT> <THRESHOLD\_Y\_MOUSE>0.01</THRESHOLD\_Y\_MOUSE> <TIMEOUT\_DELAY\_RESET\_AXIS>0.25</TIMEOUT\_DELAY\_RESET\_AXIS> <IM\_DRAG\_ADDITIONAL\_EVENT\_HANDLING/> <WWISE\_JOYSTICK\_EVENT\_L>handling\_yawpitch\_joystick</WWISE\_JOYSTICK\_EVENT\_L> <WWISE\_JOYSTICK\_EVENT\_R>handling\_yawpitch\_joystick</WWISE\_JOYSTICK\_EVENT\_R> <WWISE\_JOYSTICK\_EVENT\_UP>handling\_yawpitch\_joystick</WWISE\_JOYSTICK\_EVENT\_UP> <WWISE\_JOYSTICK\_EVENT\_DN>handling\_yawpitch\_joystick</WWISE\_JOYSTICK\_EVENT\_DN> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using ID) - ANIM\_NAME\_L\_R (using ID) - ANIM\_NAME\_DN\_UP (using ID) - INPUT\_EVENT\_ID\_SOURCE - Default Parameters set: - VAR\_NAME (using INPUT\_EVENT\_ID\_SOURCE, ID) - TT\_DESCRIPTION\_ID\_PAN\_X - TT\_DESCRIPTION\_ID\_PAN\_Y - TT\_DESCRIPTION\_ID\_DISENGAGE - TOOLTIP\_TITLE\_EXTERNAL - Override Parameters set: - KNOB\_X\_ID - KNOB\_Y\_ID - BTN\_DISENGAGE\_ID - Override Parameters set: - JOYSTICK\_X\_CODE\_LEFT (using INPUT\_EVENT\_ID\_SOURCE, KNOB\_X\_ID) - JOYSTICK\_X\_CODE\_RIGHT (using INPUT\_EVENT\_ID\_SOURCE, KNOB\_X\_ID) - JOYSTICK\_Y\_CODE\_DOWN (using INPUT\_EVENT\_ID\_SOURCE, KNOB\_Y\_ID) - JOYSTICK\_Y\_CODE\_UP (using INPUT\_EVENT\_ID\_SOURCE, KNOB\_Y\_ID) - LEFT\_SINGLE\_CODE\_DEFAULT\_IM (using INPUT\_EVENT\_ID\_SOURCE, BTN\_DISENGAGE\_ID) - LEFT\_RELEASE\_CODE\_DEFAULT\_IM (using INPUT\_EVENT\_ID\_SOURCE, BTN\_DISENGAGE\_ID) - LEFT\_SINGLE\_CODE\_DRAG\_IM (using INPUT\_EVENT\_ID\_SOURCE, BTN\_DISENGAGE\_ID) - LEFT\_RELEASE\_CODE\_DRAG\_IM (using INPUT\_EVENT\_ID\_SOURCE, BTN\_DISENGAGE\_ID) Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - TOOLTIP\_TITLE (using TOOLTIP\_TITLE\_EXTERNAL) - TOOLTIP\_ENTRY\_0 (using INPUT\_EVENT\_ID\_SOURCE, KNOB\_X\_ID) - TOOLTIP\_ENTRY\_1 (using INPUT\_EVENT\_ID\_SOURCE, KNOB\_Y\_ID) - BTN\_ID (using BTN\_DISENGAGE\_ID) - TT\_DESCRIPTION\_ID (using TT\_DESCRIPTION\_ID\_DISENGAGE) - BINDING\_INC\_0 - BINDING\_INC\_0\_PARAM\_0 - BINDING\_DEC\_0 - BINDING\_DEC\_0\_PARAM\_0 - SET\_STATE\_EXTERNAL - ANIM\_EXTERNAL - KNOB\_ID (using KNOB\_X\_ID) - TT\_DESCRIPTION\_ID (using TT\_DESCRIPTION\_ID\_PAN\_X) - TT\_ICON - NO\_ANIM\_VAR\_UPDATE - GET\_TT\_VALUE\_STATE - FORMAT\_VALUE - KNOB\_ID (using KNOB\_Y\_ID) - TT\_INTERACTION - TT\_INTERACTION\_LOCKABLE   Templates used: - [ASOBO\_GT\_Joystick\_Interaction\_Knob](../../generic/complex/joystick/#ASOBO_GT_Joystick_Interaction_Knob) Parameters set: - JOYSTICK\_INTERACTION - UPDATE\_FREQUENCY - COUNT - THRESHOLD\_X\_INPUT - THRESHOLD\_X\_MOUSE - THRESHOLD\_Y\_INPUT - THRESHOLD\_Y\_MOUSE - TIMEOUT\_DELAY\_RESET\_AXIS - IM\_DRAG\_ADDITIONAL\_EVENT\_HANDLING - WWISE\_JOYSTICK\_EVENT\_L - WWISE\_JOYSTICK\_EVENT\_R - WWISE\_JOYSTICK\_EVENT\_UP - WWISE\_JOYSTICK\_EVENT\_DN [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Timer\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Timer\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Timer</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Timer</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> <TOOLTIP\_TITLE>@TT\_Package.YOKE\_PUSH\_TIMER\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.YOKE\_PUSH\_TIMER\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>Timer\_Button</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL>if{ (>H:AS1000\_PFD\_1\_TIMER) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Push\_Button"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Push)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID - Override Parameters set: - BTN\_ID Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - SET\_STATE\_EXTERNAL - BINDING\_INC\_0 - BINDING\_INC\_0\_PARAM\_0   Templates used: - [ASOBO\_GT\_Push\_Button](../../generic/complex/pushbutton/#ASOBO_GT_Push_Button) Parameters set: - TOOLTIP\_ENTRY\_0 (using BTN\_ID) - LEFT\_SINGLE\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_StormClear\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_StormClear\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_StormClear</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_StormClear</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Push\_Button"> <LEFT\_SINGLE\_CODE/> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.INOP</TOOLTIPID> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Push\_Button](../../generic/complex/pushbutton/#ASOBO_GT_Push_Button) Parameters set: - LEFT\_SINGLE\_CODE - TOOLTIPID [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_CWS\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_CWS\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_CWS</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_CWS</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Push\_Button"> <LEFT\_SINGLE\_CODE/> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.INOP</TOOLTIPID> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Push\_Button](../../generic/complex/pushbutton/#ASOBO_GT_Push_Button) Parameters set: - LEFT\_SINGLE\_CODE - TOOLTIPID [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Ident\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Ident\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Ident</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Ident</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> <TOOLTIP\_TITLE>@TT\_Package.YOKE\_PUSH\_IDENT\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.YOKE\_PUSH\_IDENT\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>Radio\_NAV\#ID\#\_Swap</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL>if{ (>K:RADIO\_VOR\#ID\#\_IDENT\_TOGGLE) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Held"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Push)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID - Override Parameters set: - BTN\_ID (using ID) Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - SET\_STATE\_EXTERNAL (using ID) - BINDING\_INC\_0 - BINDING\_INC\_0\_PARAM\_0   Templates used: - [ASOBO\_GT\_Push\_Button\_Held](../../generic/complex/pushbutton/#ASOBO_GT_Push_Button_Held) Parameters set: - TOOLTIP\_ENTRY\_0 (using BTN\_ID) - LEFT\_SINGLE\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Swap\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Swap\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Swap</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Swap</ANIM\_NAME> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> <TOOLTIP\_TITLE>@TT\_Package.AIRLINER\_COM\_PUSH\_SWAP\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.AIRLINER\_COM\_PUSH\_SWAP\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>Radio\_COM\#ID\#\_Swap</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL>if{ (>K:COM\#ID\#\_RADIO\_SWAP) }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Held"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Push)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID - Override Parameters set: - BTN\_ID (using ID) Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - SET\_STATE\_EXTERNAL (using ID) - BINDING\_INC\_0 - BINDING\_INC\_0\_PARAM\_0   Templates used: - [ASOBO\_GT\_Push\_Button\_Held](../../generic/complex/pushbutton/#ASOBO_GT_Push_Button_Held) Parameters set: - TOOLTIP\_ENTRY\_0 (using BTN\_ID) - LEFT\_SINGLE\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_AntiSkid\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_AntiSkid\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_AntiSkid</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_AntiSkid</ANIM\_NAME> <WWISE\_EVENT\_1>antiskid\_switch\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>antiskid\_switch\_off</WWISE\_EVENT\_2> <ON\_ANTI\_SKID\_STATE\_CHANGED>(A:ANTISKID BRAKES ACTIVE, Bool) ! if{ 0 (>L:HANDLING\_Autobrakes\_Position) }</ON\_ANTI\_SKID\_STATE\_CHANGED> <TOOLTIP\_TITLE>@TT\_Package.LANDING\_GEAR\_SWITCH\_AUTOBKR\_ASKID\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_SWITCH\_AUTOBKR\_ASKID\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>Anti\_Skid</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL>p0 (A:ANTISKID BRAKES ACTIVE, Bool) != if{ (>K:ANTISKID\_BRAKES\_TOGGLE) } \#ON\_ANTI\_SKID\_STATE\_CHANGED\#</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:ANTISKID BRAKES ACTIVE, Bool) sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> <ANIM\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) 100 \*</ANIM\_CODE> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - ON\_ANTI\_SKID\_STATE\_CHANGED - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID - Override Parameters set: - BTN\_ID Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - SET\_STATE\_EXTERNAL (using ON\_ANTI\_SKID\_STATE\_CHANGED) - GET\_STATE\_EXTERNAL - SIM\_STATE\_IS\_ON\_EXTERNAL   Templates used: - [ASOBO\_GT\_Switch\_Code](../../generic/complex/switch/#ASOBO_GT_Switch_Code) Parameters set: - TOOLTIP\_ENTRY\_0 (using BTN\_ID) - LEFT\_SINGLE\_CODE (using BTN\_ID) - ANIM\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_GLimiter\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_GLimiter\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_GLimiter</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_GLimiter</ANIM\_NAME> <TOOLTIP\_TITLE>@TT\_Package.GLIMITER\_SWITCH\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.GLIMITER\_SWITCH\_ACTION</TT\_DESCRIPTION\_ID> <OVERRIDE\_CONDITIONS>p0 1 ==</OVERRIDE\_CONDITIONS> <ADDITIONAL\_EFFECTS/> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="AS04F"> <OVERRIDE\_CONDITIONS>\#OVERRIDE\_CONDITIONS\# (A:YOKE Y POSITION, Percent over 100) 0.8 > and</OVERRIDE\_CONDITIONS> <ADDITIONAL\_EFFECTS>p0 (>K:AUTOPILOT\_DISENGAGE\_SET) 0 (>K:NOSE\_WHEEL\_STEERING\_LIMIT\_SET)</ADDITIONAL\_EFFECTS> </Case> </Switch> </Parameters> <Parameters Type="Override"> <BTN\_ID>GLimiter</BTN\_ID> <Switch Param="TYPE"> <Case Value="AS04F"> <SET\_STATE\_EXTERNAL>\#OVERRIDE\_CONDITIONS\# if{ 2 } els{ 1 } (>K:G\_LIMITER\_SET) \#ADDITIONAL\_EFFECTS\#</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:G LIMITER SETTING, Enum) 2 == sp0</GET\_STATE\_EXTERNAL> </Case> </Switch> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Switch Param="TYPE"> <Case Value="AS04F"> <UseTemplate Name="ASOBO\_GT\_Update"> <FREQUENCY>2</FREQUENCY> <UPDATE\_CODE> (B:HANDLING\_\#BTN\_ID\#) (A:YOKE Y POSITION, Percent over 100) abs 0.1 < and if{ 1 (>K:G\_LIMITER\_SET) 0 (>K:AUTOPILOT\_DISENGAGE\_SET) 0 (>B:HANDLING\_\#BTN\_ID\#) } </UPDATE\_CODE> </UseTemplate> </Case> </Switch> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>\#BTN\_ID\#</IE\_NAME> <CREATE\_COMPONENT>False</CREATE\_COMPONENT> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <BINDING\_SET\_0>Toggle\_KeyEvent</BINDING\_SET\_0> <BINDING\_SET\_0\_PARAM\_0>(B:HANDLING\_\#BTN\_ID\#) !</BINDING\_SET\_0\_PARAM\_0> <BINDING\_SET\_0\_PARAM\_0\_IS\_DYNAMIC>True</BINDING\_SET\_0\_PARAM\_0\_IS\_DYNAMIC> <BINDING\_SET\_0\_EVENT\_ID>G\_LIMITER\_TOGGLE</BINDING\_SET\_0\_EVENT\_ID> <BINDING\_SET\_1>KeySet</BINDING\_SET\_1> <BINDING\_SET\_1\_PARAM\_0>p0 0 !=</BINDING\_SET\_1\_PARAM\_0> <BINDING\_SET\_1\_PARAM\_0\_IS\_DYNAMIC>True</BINDING\_SET\_1\_PARAM\_0\_IS\_DYNAMIC> <BINDING\_SET\_1\_EVENT\_ID>G\_LIMITER\_SET</BINDING\_SET\_1\_EVENT\_ID> <BINDING\_SET\_2>On\_KeyEvent</BINDING\_SET\_2> <BINDING\_SET\_2\_PARAM\_0>1</BINDING\_SET\_2\_PARAM\_0> <BINDING\_SET\_2\_EVENT\_ID>G\_LIMITER\_ON</BINDING\_SET\_2\_EVENT\_ID> <BINDING\_SET\_3>Off\_KeyEvent</BINDING\_SET\_3> <BINDING\_SET\_3\_PARAM\_0>0</BINDING\_SET\_3\_PARAM\_0> <BINDING\_SET\_3\_EVENT\_ID>G\_LIMITER\_OFF</BINDING\_SET\_3\_EVENT\_ID> <SIMVAR\_TO\_WATCH\_0>G LIMITER SETTING</SIMVAR\_TO\_WATCH\_0> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID - OVERRIDE\_CONDITIONS - ADDITIONAL\_EFFECTS - Override Condition: Switch(TYPE) - Case: AS04F Parameters set: - OVERRIDE\_CONDITIONS (using OVERRIDE\_CONDITIONS) - ADDITIONAL\_EFFECTS - Override Parameters set: - BTN\_ID Condition: Switch(TYPE) - Case: AS04F Parameters set: - SET\_STATE\_EXTERNAL (using OVERRIDE\_CONDITIONS, ADDITIONAL\_EFFECTS) - GET\_STATE\_EXTERNAL Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Parameters set: - IE\_NAME (using BTN\_ID) - CREATE\_COMPONENT - SIM\_STATE\_IS\_ON\_EXTERNAL - BINDING\_SET\_0 - BINDING\_SET\_0\_PARAM\_0 (using BTN\_ID) - BINDING\_SET\_0\_PARAM\_0\_IS\_DYNAMIC - BINDING\_SET\_0\_EVENT\_ID - BINDING\_SET\_1 - BINDING\_SET\_1\_PARAM\_0 - BINDING\_SET\_1\_PARAM\_0\_IS\_DYNAMIC - BINDING\_SET\_1\_EVENT\_ID - BINDING\_SET\_2 - BINDING\_SET\_2\_PARAM\_0 - BINDING\_SET\_2\_EVENT\_ID - BINDING\_SET\_3 - BINDING\_SET\_3\_PARAM\_0 - BINDING\_SET\_3\_EVENT\_ID - SIMVAR\_TO\_WATCH\_0 Condition: Switch(TYPE) - Case: AS04F   Templates used: - [ASOBO\_GT\_Update](../../generic/updates/#ASOBO_GT_Update) Parameters set: - FREQUENCY - UPDATE\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Steering\_Tiller\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Steering\_Tiller\_SubTemplate"> <DefaultTemplateParameters> <NODE\_ID>HANDLING\_Steering\_Tiller\_\#ID\#</NODE\_ID> <ANIM\_NAME>HANDLING\_Steering\_Tiller\_\#ID\#</ANIM\_NAME> </DefaultTemplateParameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Anim\_Code"> <ANIM\_CODE> (A:SIM ON GROUND, Bool) if{ (A:GEAR STEER ANGLE PCT, Percent) 100 + } els{ (A:STEER INPUT CONTROL, Percent) 100 + } </ANIM\_CODE> <ANIM\_LENGTH>200</ANIM\_LENGTH> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using ID) - ANIM\_NAME (using ID) Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Anim\_Code](../../generic/animations/#ASOBO_GT_Anim_Code) Parameters set: - ANIM\_CODE - ANIM\_LENGTH [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_RudderPedals\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_RudderPedals\_SubTemplate"> <DefaultTemplateParameters> <ANIM\_NAME>HANDLING\_RudderPedals</ANIM\_NAME> <ANIM\_LAG>400</ANIM\_LAG> <Switch Param="RUDDERPEDALS\_TYPE"> <Case Value="SPLITTED"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <NODE\_ID>HANDLING\_RudderPedals\_Left\_1\_1</NODE\_ID> <PREFIX\_LEFT\_PEDALS>HANDLING\_RudderPedals\_Left\_</PREFIX\_LEFT\_PEDALS> <SUFFIX\_LEFT\_PEDALS>\_1</SUFFIX\_LEFT\_PEDALS> <PREFIX\_RIGHT\_PEDALS>HANDLING\_RudderPedals\_Right\_</PREFIX\_RIGHT\_PEDALS> <SUFFIX\_RIGHT\_PEDALS>\_2</SUFFIX\_RIGHT\_PEDALS> </True> <False> <NODE\_ID>HANDLING\_RudderPedals\_\#ID\#\_1</NODE\_ID> <PART\_ID>HANDLING\_RudderPedals</PART\_ID> <NODE\_ID2>HANDLING\_RudderPedals\_\#ID\#\_2</NODE\_ID2> </False> </Condition> </Case> <Case Value="MERGED"> <NODE\_ID>HANDLING\_RudderPedals\_1</NODE\_ID> <NODE\_ID\_L\_BRAKE>HANDLING\_RudderPedals\_1\_Brake</NODE\_ID\_L\_BRAKE> <NODE\_ID\_L\_RUDDER>HANDLING\_RudderPedals\_1\_Rudder</NODE\_ID\_L\_RUDDER> <NODE\_ID\_R\_BRAKE>HANDLING\_RudderPedals\_2\_Brake</NODE\_ID\_R\_BRAKE> <NODE\_ID\_R\_RUDDER>HANDLING\_RudderPedals\_2\_Rudder</NODE\_ID\_R\_RUDDER> <PART\_ID\_BRAKES>HANDLING\_RudderPedals\_Brake</PART\_ID\_BRAKES> <PART\_ID\_RUDDERS>HANDLING\_RudderPedals\_Rudder</PART\_ID\_RUDDERS> <USE\_BRAKE>True</USE\_BRAKE> </Case> <Case Value="MIXED"> <NODE\_ID>HANDLING\_RudderPedals\_1</NODE\_ID> <NODE\_ID\_L\_BRAKE\_1>HANDLING\_RudderPedals\_1\_1\_Brake</NODE\_ID\_L\_BRAKE\_1> <NODE\_ID\_L\_BRAKE\_2>HANDLING\_RudderPedals\_2\_1\_Brake</NODE\_ID\_L\_BRAKE\_2> <NODE\_ID\_R\_BRAKE\_1>HANDLING\_RudderPedals\_1\_2\_Brake</NODE\_ID\_R\_BRAKE\_1> <NODE\_ID\_R\_BRAKE\_2>HANDLING\_RudderPedals\_2\_2\_Brake</NODE\_ID\_R\_BRAKE\_2> <NODE\_ID\_L\_RUDDER>HANDLING\_RudderPedals\_1</NODE\_ID\_L\_RUDDER> <NODE\_ID\_R\_RUDDER>HANDLING\_RudderPedals\_2</NODE\_ID\_R\_RUDDER> <PART\_ID\_BRAKES>HANDLING\_RudderPedals</PART\_ID\_BRAKES> <PART\_ID\_RUDDERS>HANDLING\_RudderPedals</PART\_ID\_RUDDERS> <DIFFERENTIATE\_BRAKE\_ANIM\_L\_R>True</DIFFERENTIATE\_BRAKE\_ANIM\_L\_R> <USE\_BRAKE>True</USE\_BRAKE> </Case> <Default> <PART\_ID>HANDLING\_RudderPedals</PART\_ID> <NODE\_ID>HANDLING\_RudderPedals\_\#ID\#</NODE\_ID> </Default> </Switch> </DefaultTemplateParameters> <OverrideTemplateParameters> <Switch Param="RUDDERPEDALS\_TYPE"> <Case Value="SPLITTED"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <PART\_ID>HANDLING\_RudderPedals</PART\_ID> <EXIT\_TEMPLATE>ASOBO\_GT\_Highlight\_Template</EXIT\_TEMPLATE> <MAX\_ID>2</MAX\_ID> <PARAM1>HIGHLIGHT\_NODE\_ID</PARAM1> </True> </Condition> </Case> </Switch> </OverrideTemplateParameters> <Switch Param="RUDDERPEDALS\_TYPE"> <Case Value="SPLITTED"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <Component ID="HANDLING\_RudderPedals\_Highlights"> <UseTemplate Name="ASOBO\_GT\_Helper\_Recursive\_ID"> <ID>1</ID> <PARAM1\_PREFIX>\#PREFIX\_LEFT\_PEDALS\#</PARAM1\_PREFIX> <PARAM1\_SUFFIX>\#SUFFIX\_LEFT\_PEDALS\#</PARAM1\_SUFFIX> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Helper\_Recursive\_ID"> <ID>2</ID> <PARAM1\_PREFIX>\#PREFIX\_RIGHT\_PEDALS\#</PARAM1\_PREFIX> <PARAM1\_SUFFIX>\#SUFFIX\_RIGHT\_PEDALS\#</PARAM1\_SUFFIX> </UseTemplate> </Component> </True> <False> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <NODE\_ID>\#NODE\_ID2\#</NODE\_ID> <ID>2</ID> </UseTemplate> </False> </Condition> </Case> <Case Value="MERGED"> <Condition Valid="NO\_BRAKES\_HIGHLIGHT"> <False> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_BRAKE\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_BRAKE\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_RUDDER\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_RUDDERS\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_RUDDER\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_RUDDERS\#</PART\_ID> </UseTemplate> </Case> <Case Value="MIXED"> <Condition Valid="NO\_BRAKES\_HIGHLIGHT"> <False> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_BRAKE\_1\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_BRAKE\_2\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_BRAKE\_1\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_BRAKE\_2\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_BRAKES\#</PART\_ID> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_L\_RUDDER\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_RUDDERS\#</PART\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Highlight\_Template"> <HIGHLIGHT\_NODE\_ID>\#NODE\_ID\_R\_RUDDER\#</HIGHLIGHT\_NODE\_ID> <PART\_ID>\#PART\_ID\_RUDDERS\#</PART\_ID> </UseTemplate> </Case> </Switch> <Condition Check="DONT\_CREATE\_ANIMATION"> <True> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <ID>1</ID> </UseTemplate> </True> <False> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <DefaultTemplateParameters> <ANIM\_SIMVAR>RUDDER PEDAL POSITION</ANIM\_SIMVAR> <Condition Valid="USE\_BRAKE"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <BRAKE\_ANIM\_NAME\_L>HANDLING\_RudderPedals\_Brake\_L</BRAKE\_ANIM\_NAME\_L> <BRAKE\_ANIM\_NAME\_R>HANDLING\_RudderPedals\_Brake\_R</BRAKE\_ANIM\_NAME\_R> </True> <False> <BRAKE\_ANIM\_NAME>HANDLING\_RudderPedals\_Brake</BRAKE\_ANIM\_NAME> </False> </Condition> </Condition> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition Valid="NO\_PART\_ID\_ON\_ANIM\_NODE"> <PART\_ID/> </Condition> </OverrideTemplateParameters> <UseTemplate Name="ASOBO\_GT\_Anim\_Sim"> <ID>1</ID> <ANIM\_LENGTH>200</ANIM\_LENGTH> <ANIM\_SIMVAR\_UNITS>percent</ANIM\_SIMVAR\_UNITS> <ANIM\_SIMVAR\_BIAS>100</ANIM\_SIMVAR\_BIAS> </UseTemplate> <Condition Valid="USE\_BRAKE"> <UseTemplate Name="ASOBO\_HANDLING\_RudderPedals\_Brake\_Template"> <Condition Valid="DIFFERENTIATE\_BRAKE\_ANIM\_L\_R"> <True> <ANIM\_NAME\_L>\#BRAKE\_ANIM\_NAME\_L\#</ANIM\_NAME\_L> <ANIM\_NAME\_R>\#BRAKE\_ANIM\_NAME\_R\#</ANIM\_NAME\_R> </True> <False> <ANIM\_NAME>\#BRAKE\_ANIM\_NAME\#</ANIM\_NAME> </False> </Condition> </UseTemplate> </Condition> </Component> </False> </Condition> </Template> Parameters initialization: - Default Parameters set: - ANIM\_NAME - ANIM\_LAG Condition: Switch(RUDDERPEDALS\_TYPE) - Case: SPLITTED Condition: Valid(DIFFERENTIATE\_BRAKE\_ANIM\_L\_R) - Case: True Parameters set: - NODE\_ID - PREFIX\_LEFT\_PEDALS - SUFFIX\_LEFT\_PEDALS - PREFIX\_RIGHT\_PEDALS - SUFFIX\_RIGHT\_PEDALS - Case: False Parameters set: - NODE\_ID (using ID) - PART\_ID - NODE\_ID2 (using ID) - Case: MERGED Parameters set: - NODE\_ID - NODE\_ID\_L\_BRAKE - NODE\_ID\_L\_RUDDER - NODE\_ID\_R\_BRAKE - NODE\_ID\_R\_RUDDER - PART\_ID\_BRAKES - PART\_ID\_RUDDERS - USE\_BRAKE - Case: MIXED Parameters set: - NODE\_ID - NODE\_ID\_L\_BRAKE\_1 - NODE\_ID\_L\_BRAKE\_2 - NODE\_ID\_R\_BRAKE\_1 - NODE\_ID\_R\_BRAKE\_2 - NODE\_ID\_L\_RUDDER - NODE\_ID\_R\_RUDDER - PART\_ID\_BRAKES - PART\_ID\_RUDDERS - DIFFERENTIATE\_BRAKE\_ANIM\_L\_R - USE\_BRAKE - Default case: Parameters set: - PART\_ID - NODE\_ID (using ID) - Override Condition: Switch(RUDDERPEDALS\_TYPE) - Case: SPLITTED Condition: Valid(DIFFERENTIATE\_BRAKE\_ANIM\_L\_R) - Case: True Parameters set: - PART\_ID - EXIT\_TEMPLATE - MAX\_ID - PARAM1 Condition: Switch(RUDDERPEDALS\_TYPE) - Case: SPLITTED Condition: Valid(DIFFERENTIATE\_BRAKE\_ANIM\_L\_R) - Case: True Components: - HANDLING\_RudderPedals\_Highlights   Templates used: - [ASOBO\_GT\_Helper\_Recursive\_ID](../../generic/helpers/#ASOBO_GT_Helper_Recursive_ID) Parameters set: - ID - PARAM1\_PREFIX (using PREFIX\_LEFT\_PEDALS) - PARAM1\_SUFFIX (using SUFFIX\_LEFT\_PEDALS) - [ASOBO\_GT\_Helper\_Recursive\_ID](../../generic/helpers/#ASOBO_GT_Helper_Recursive_ID) Parameters set: - ID - PARAM1\_PREFIX (using PREFIX\_RIGHT\_PEDALS) - PARAM1\_SUFFIX (using SUFFIX\_RIGHT\_PEDALS) - Case: False   Templates used: - [ASOBO\_GT\_ComponentWith\_PART\_ID](../../generic/complex/misc/#ASOBO_GT_ComponentWith_PART_ID) Parameters set: - NODE\_ID (using NODE\_ID2) - ID - Case: MERGED   Templates used: - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_L\_RUDDER) - PART\_ID (using PART\_ID\_RUDDERS) - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_R\_RUDDER) - PART\_ID (using PART\_ID\_RUDDERS) Condition: Valid(NO\_BRAKES\_HIGHLIGHT) - Case: False   Templates used: - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_L\_BRAKE) - PART\_ID (using PART\_ID\_BRAKES) - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_R\_BRAKE) - PART\_ID (using PART\_ID\_BRAKES) - Case: MIXED   Templates used: - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_L\_RUDDER) - PART\_ID (using PART\_ID\_RUDDERS) - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_R\_RUDDER) - PART\_ID (using PART\_ID\_RUDDERS) Condition: Valid(NO\_BRAKES\_HIGHLIGHT) - Case: False   Templates used: - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_L\_BRAKE\_1) - PART\_ID (using PART\_ID\_BRAKES) - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_L\_BRAKE\_2) - PART\_ID (using PART\_ID\_BRAKES) - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_R\_BRAKE\_1) - PART\_ID (using PART\_ID\_BRAKES) - [ASOBO\_GT\_Highlight\_Template](../../generic/complex/misc/#ASOBO_GT_Highlight_Template) Parameters set: - HIGHLIGHT\_NODE\_ID (using NODE\_ID\_R\_BRAKE\_2) - PART\_ID (using PART\_ID\_BRAKES) Condition: Check(DONT\_CREATE\_ANIMATION) - Case: True   Templates used: - [ASOBO\_GT\_ComponentWith\_PART\_ID](../../generic/complex/misc/#ASOBO_GT_ComponentWith_PART_ID) Parameters set: - ID - Case: False Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - ANIM\_SIMVAR   Templates used: - [ASOBO\_GT\_Anim\_Sim](../../generic/animations/#ASOBO_GT_Anim_Sim) Parameters set: - ID - ANIM\_LENGTH - ANIM\_SIMVAR\_UNITS - ANIM\_SIMVAR\_BIAS Condition: Valid(USE\_BRAKE) - Case: True Condition: Valid(DIFFERENTIATE\_BRAKE\_ANIM\_L\_R) - Case: True Parameters set: - BRAKE\_ANIM\_NAME\_L - BRAKE\_ANIM\_NAME\_R - Case: False Parameters set: - BRAKE\_ANIM\_NAME Condition: Valid(NO\_PART\_ID\_ON\_ANIM\_NODE) - Case: True Parameters set: - PART\_ID Condition: Valid(USE\_BRAKE) - Case: True   Templates used: - [ASOBO\_HANDLING\_RudderPedals\_Brake\_Template](../handling/#ASOBO_HANDLING_RudderPedals_Brake_Template) Condition: Valid(DIFFERENTIATE\_BRAKE\_ANIM\_L\_R) - Case: True Parameters set: - ANIM\_NAME\_L (using BRAKE\_ANIM\_NAME\_L) - ANIM\_NAME\_R (using BRAKE\_ANIM\_NAME\_R) - Case: False Parameters set: - ANIM\_NAME (using BRAKE\_ANIM\_NAME) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Light\_Flaps\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Light\_Flaps\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_Light\_Flaps\_\#ID\#</NODE\_ID> <Switch Param="TYPE"> <Case Value="ALWAYS\_ONE\_LIT"> <ADJUSTED\_ID\_FLAP Process="Int">\#ID\# 0 max \#MAX\_FLAPS\_INDEX\# min</ADJUSTED\_ID\_FLAP> <FLAPS\_INDEX\_COUNT Process="Int">\#MAX\_FLAPS\_INDEX\# 1 +</FLAPS\_INDEX\_COUNT> <ANGLE\_DEGREE\_1>0</ANGLE\_DEGREE\_1> <ANGLE\_DEGREE\_2>15</ANGLE\_DEGREE\_2> <ANGLE\_DEGREE\_3>30</ANGLE\_DEGREE\_3> <ANGLE\_DEGREE\_4>35</ANGLE\_DEGREE\_4> <ANGLE\_DEGREE\_5>42</ANGLE\_DEGREE\_5> </Case> <Default> <TARGET\_ANGLE\_DEGREE>0</TARGET\_ANGLE\_DEGREE> <VALUE\_RANGE>0.1</VALUE\_RANGE> </Default> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="ALWAYS\_ONE\_LIT"> <TARGET\_ANGLE Process="Float"> \#ANGLE\_DEGREE\_5\# \#ANGLE\_DEGREE\_4\# \#ANGLE\_DEGREE\_3\# \#ANGLE\_DEGREE\_2\# \#ANGLE\_DEGREE\_1\# \#FLAPS\_INDEX\_COUNT\# \#ADJUSTED\_ID\_FLAP\# case </TARGET\_ANGLE> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="TYPE"> <Case Value="ALWAYS\_ONE\_LIT"> <TARGET\_ANGLE\_LIMIT\_MIN Process="Float"> \#ADJUSTED\_ID\_FLAP\# 1 - 0 max sp0 \#ANGLE\_DEGREE\_5\# \#ANGLE\_DEGREE\_4\# \#ANGLE\_DEGREE\_3\# \#ANGLE\_DEGREE\_2\# \#ANGLE\_DEGREE\_1\# \#FLAPS\_INDEX\_COUNT\# l0 case sp1 \#TARGET\_ANGLE\# l1 - 2 / l1 + </TARGET\_ANGLE\_LIMIT\_MIN> <TARGET\_ANGLE\_LIMIT\_MAX Process="Float"> \#ADJUSTED\_ID\_FLAP\# 1 + \#MAX\_FLAPS\_INDEX\# min sp0 \#ANGLE\_DEGREE\_5\# \#ANGLE\_DEGREE\_4\# \#ANGLE\_DEGREE\_3\# \#ANGLE\_DEGREE\_2\# \#ANGLE\_DEGREE\_1\# \#FLAPS\_INDEX\_COUNT\# l0 case sp1 l1 \#TARGET\_ANGLE\# - 2 / \#TARGET\_ANGLE\# + </TARGET\_ANGLE\_LIMIT\_MAX> </Case> </Switch> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Emissive\_Gauge"> <Switch Param="TYPE"> <Case Value="ALWAYS\_ONE\_LIT"> <EMISSIVE\_CODE>\#TARGET\_ANGLE\_LIMIT\_MIN\# \#TARGET\_ANGLE\_LIMIT\_MAX\# (A:TRAILING EDGE FLAPS LEFT ANGLE, degrees) rng</EMISSIVE\_CODE> </Case> <Default> <EMISSIVE\_CODE>(A:TRAILING EDGE FLAPS LEFT ANGLE, degrees) \#TARGET\_ANGLE\_DEGREE\# - abs \#VALUE\_RANGE\# <</EMISSIVE\_CODE> </Default> </Switch> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using ID) Condition: Switch(TYPE) - Case: ALWAYS\_ONE\_LIT Parameters set: - ADJUSTED\_ID\_FLAP (using ID, MAX\_FLAPS\_INDEX) - FLAPS\_INDEX\_COUNT (using MAX\_FLAPS\_INDEX) - ANGLE\_DEGREE\_1 - ANGLE\_DEGREE\_2 - ANGLE\_DEGREE\_3 - ANGLE\_DEGREE\_4 - ANGLE\_DEGREE\_5 - Default case: Parameters set: - TARGET\_ANGLE\_DEGREE - VALUE\_RANGE - Override Condition: Switch(TYPE) - Case: ALWAYS\_ONE\_LIT Parameters set: - TARGET\_ANGLE (using ANGLE\_DEGREE\_5, ANGLE\_DEGREE\_4, ANGLE\_DEGREE\_3, ANGLE\_DEGREE\_2, ANGLE\_DEGREE\_1, FLAPS\_INDEX\_COUNT, ADJUSTED\_ID\_FLAP) - Default Condition: Switch(TYPE) - Case: ALWAYS\_ONE\_LIT Parameters set: - TARGET\_ANGLE\_LIMIT\_MIN (using ADJUSTED\_ID\_FLAP, ANGLE\_DEGREE\_5, ANGLE\_DEGREE\_4, ANGLE\_DEGREE\_3, ANGLE\_DEGREE\_2, ANGLE\_DEGREE\_1, FLAPS\_INDEX\_COUNT, TARGET\_ANGLE) - TARGET\_ANGLE\_LIMIT\_MAX (using ADJUSTED\_ID\_FLAP, MAX\_FLAPS\_INDEX, ANGLE\_DEGREE\_5, ANGLE\_DEGREE\_4, ANGLE\_DEGREE\_3, ANGLE\_DEGREE\_2, ANGLE\_DEGREE\_1, FLAPS\_INDEX\_COUNT, TARGET\_ANGLE) Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Emissive\_Gauge](../../generic/emissive/#ASOBO_GT_Emissive_Gauge) Condition: Switch(TYPE) - Case: ALWAYS\_ONE\_LIT Parameters set: - EMISSIVE\_CODE (using TARGET\_ANGLE\_LIMIT\_MIN, TARGET\_ANGLE\_LIMIT\_MAX) - Default case: Parameters set: - EMISSIVE\_CODE (using TARGET\_ANGLE\_DEGREE, VALUE\_RANGE) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Light\_Trim\_Subtemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Light\_Trim\_Subtemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_Light\_Trim</NODE\_ID> <Switch Param="TRIM\_TYPE"> <Case Value="AILERON"> <TRIM\_SIMVAR>AILERON TRIM</TRIM\_SIMVAR> </Case> <Case Value="ELEVATOR"> <TRIM\_SIMVAR>ELEVATOR TRIM POSITION</TRIM\_SIMVAR> </Case> <Case Value="RUDDER"> <TRIM\_SIMVAR>RUDDER TRIM</TRIM\_SIMVAR> </Case> <Default> <TRIM\_SIMVAR>ELEVATOR TRIM POSITION</TRIM\_SIMVAR> </Default> </Switch> <RANGE\_DELTA>0.3</RANGE\_DELTA> </Parameters> <Parameters Type="Default"> <Switch Param="TRIM\_TYPE"> <Case Value="ELEVATOR"> <TARGET\_VALUE>(A:ELEVATOR TRIM NEUTRAL, degree)</TARGET\_VALUE> </Case> <Default> <TARGET\_VALUE>0</TARGET\_VALUE> </Default> </Switch> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Emissive\_Gauge"> <EMISSIVE\_CODE>(A:\#TRIM\_SIMVAR\#, degree) \#TARGET\_VALUE\# - abs \#RANGE\_DELTA\# <</EMISSIVE\_CODE> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID - RANGE\_DELTA Condition: Switch(TRIM\_TYPE) - Case: AILERON Parameters set: - TRIM\_SIMVAR - Case: ELEVATOR Parameters set: - TRIM\_SIMVAR - Case: RUDDER Parameters set: - TRIM\_SIMVAR - Default case: Parameters set: - TRIM\_SIMVAR - Default Condition: Switch(TRIM\_TYPE) - Case: ELEVATOR Parameters set: - TARGET\_VALUE - Default case: Parameters set: - TARGET\_VALUE Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Emissive\_Gauge](../../generic/emissive/#ASOBO_GT_Emissive_Gauge) Parameters set: - EMISSIVE\_CODE (using TRIM\_SIMVAR, TARGET\_VALUE, RANGE\_DELTA) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_AileronTrim\_Template Definition from XML <Template Name="ASOBO\_HANDLING\_AileronTrim\_Template"> <Parameters Type="Default"> <ID>1</ID> </Parameters> <Parameters Type="Default"> <Condition Check="SECONDARY"> <True> <IE\_AILERONS\_TRIM>\#ID\#\_Secondary</IE\_AILERONS\_TRIM> </True> <False> <IE\_AILERONS\_TRIM>\#ID\#</IE\_AILERONS\_TRIM> </False> </Condition> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="KNOB"> <NODE\_ID>HANDLING\_Knob\_AileronTrim</NODE\_ID> <ANIM\_NAME>HANDLING\_Knob\_AileronTrim</ANIM\_NAME> <PART\_ID>HANDLING\_Knob\_AileronTrim</PART\_ID> <WWISE\_EVENT\_1>aileron\_trim\_knob\_01</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>aileron\_trim\_knob\_02</WWISE\_EVENT\_2> <INCREMENT>15</INCREMENT> </Case> <Case Value="SWITCH"> <NODE\_ID>HANDLING\_Switch\_AileronTrim</NODE\_ID> <ANIM\_NAME>HANDLING\_Switch\_AileronTrim</ANIM\_NAME> <PART\_ID>HANDLING\_Switch\_AileronTrim\_LR</PART\_ID> <OTHER\_PART\_ID>HANDLING\_Switch\_AileronTrim</OTHER\_PART\_ID> <WWISE\_EVENT>aileron\_trim\_switch</WWISE\_EVENT> <ID>1</ID> <INCREMENT>5</INCREMENT> <SWITCH\_DIRECTION>Horizontal</SWITCH\_DIRECTION> </Case> </Switch> <DRAG\_INCREMENT>1</DRAG\_INCREMENT> <Condition Check="NEEDLE\_NODE\_ID"> <NEEDLE\_ANIM\_NAME>HANDLING\_Knob\_AileronTrim\_Needle</NEEDLE\_ANIM\_NAME> </Condition> <ANIM\_SIMVAR\_MIN>-100</ANIM\_SIMVAR\_MIN> <ANIM\_SIMVAR\_MAX>100</ANIM\_SIMVAR\_MAX> <ANIM\_SIMVAR\_SCALE>-0.5</ANIM\_SIMVAR\_SCALE> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.AILERON\_TRIM</TOOLTIPID> <THRESHOLD\_INPUT>0.00025</THRESHOLD\_INPUT> <THRESHOLD\_MOUSE>0.005</THRESHOLD\_MOUSE> </Parameters> <Parameters Type="Default"> <TOOLTIP\_AILERONS\_TRIM\_TITLE>@TT\_Package.HANDLING\_KNOB\_AILERON\_TITLE</TOOLTIP\_AILERONS\_TRIM\_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_AILERONS\_TRIM\_TITLE\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#</TOOLTIP\_ENTRY\_0> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <UseTemplate Name="ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template"> <TRIM\_NAME>AileronsTrim</TRIM\_NAME> <TRIM\_TYPE>Ailerons</TRIM\_TYPE> <SWITCH\_POSITION\_TYPE>L</SWITCH\_POSITION\_TYPE> <SWITCH\_POSITION\_VAR>XMLVAR\_AileronTrim\_Switch\_\#IE\_AILERONS\_TRIM\#</SWITCH\_POSITION\_VAR> <SWITCH\_POSITION\_TYPE\_TIMER>L</SWITCH\_POSITION\_TYPE\_TIMER> <SWITCH\_POSITION\_VAR\_TIMER>XMLVAR\_AileronTrim\_\#IE\_AILERONS\_TRIM\#\_SwitchStateTimer</SWITCH\_POSITION\_VAR\_TIMER> </UseTemplate> </Case> <Case Value="KNOB"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <AILERONS\_TRIM\_ID>1</AILERONS\_TRIM\_ID> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Knob\_Finite\_Code"> <CURSOR>Hand</CURSOR> <CLOCKWISE\_CODE> \#INCREMENT\# (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Inc) </CLOCKWISE\_CODE> <ANTICLOCKWISE\_CODE> \#INCREMENT\# (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Dec) </ANTICLOCKWISE\_CODE> <ANIM\_CODE>(A:AILERON TRIM PCT, percent) 0.5 \* 50 +</ANIM\_CODE> <Condition Check="INVERT\_KNOB\_ANIM"> <INVERT\_ANIM>\#INVERT\_KNOB\_ANIM\#</INVERT\_ANIM> </Condition> <Condition Valid="KNOB\_HIGHLIGHT\_NODE\_ID"> <HIGHLIGHT\_NODE\_ID>\#KNOB\_HIGHLIGHT\_NODE\_ID\#</HIGHLIGHT\_NODE\_ID> </Condition> </UseTemplate> </Component> <Condition Check="NEEDLE\_NODE\_ID"> <Component ID="\#NEEDLE\_NODE\_ID\#" Node="\#NEEDLE\_NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Anim\_Sim"> <ANIM\_NAME>\#NEEDLE\_ANIM\_NAME\#</ANIM\_NAME> <ANIM\_SIMVAR>AILERON TRIM PCT</ANIM\_SIMVAR> <ANIM\_SIMVAR\_UNITS>percent</ANIM\_SIMVAR\_UNITS> <ANIM\_SIMVAR\_SCALE>-0.5</ANIM\_SIMVAR\_SCALE> <ANIM\_SIMVAR\_BIAS>50</ANIM\_SIMVAR\_BIAS> <Condition Check="INVERT\_NEEDLE\_ANIM"> <INVERT\_ANIM>\#INVERT\_NEEDLE\_ANIM\#</INVERT\_ANIM> </Condition> </UseTemplate> </Component> </Condition> </Case> </Switch> </Template> Parameters initialization: - Default Parameters set: - ID - Default Condition: Check(SECONDARY) - Case: True Parameters set: - IE\_AILERONS\_TRIM (using ID) - Case: False Parameters set: - IE\_AILERONS\_TRIM (using ID) - Default Parameters set: - DRAG\_INCREMENT - ANIM\_SIMVAR\_MIN - ANIM\_SIMVAR\_MAX - ANIM\_SIMVAR\_SCALE - TOOLTIPID - THRESHOLD\_INPUT - THRESHOLD\_MOUSE Condition: Switch(INTERACTION\_TYPE) - Case: KNOB Parameters set: - NODE\_ID - ANIM\_NAME - PART\_ID - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - INCREMENT - Case: SWITCH Parameters set: - NODE\_ID - ANIM\_NAME - PART\_ID - OTHER\_PART\_ID - WWISE\_EVENT - ID - INCREMENT - SWITCH\_DIRECTION Condition: Check(NEEDLE\_NODE\_ID) - Case: True Parameters set: - NEEDLE\_ANIM\_NAME - Default Parameters set: - TOOLTIP\_AILERONS\_TRIM\_TITLE - Override Parameters set: - TOOLTIP\_TITLE (using TOOLTIP\_AILERONS\_TRIM\_TITLE) - TOOLTIP\_ENTRY\_0 (using IE\_AILERONS\_TRIM) Condition: Switch(INTERACTION\_TYPE) - Case: SWITCH   Templates used: - [ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template](handling-subtemplates/#ASOBO_HANDLING_Trim_Variable_Speed_Base_Template) Parameters set: - TRIM\_NAME - TRIM\_TYPE - SWITCH\_POSITION\_TYPE - SWITCH\_POSITION\_VAR (using IE\_AILERONS\_TRIM) - SWITCH\_POSITION\_TYPE\_TIMER - SWITCH\_POSITION\_VAR\_TIMER (using IE\_AILERONS\_TRIM) - Case: KNOB Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - AILERONS\_TRIM\_ID   Templates used: - [ASOBO\_GT\_Knob\_Finite\_Code](../../generic/complex/knob/#ASOBO_GT_Knob_Finite_Code) - May include a subtemplate using the parameter 'EXTRA\_INTERACTION' and resolve to the following template(s): - [ASOBO\_GT\_Interaction\_WheelAndContinuousLeft\_LeftSingle](../../generic/interactions/#ASOBO_GT_Interaction_WheelAndContinuousLeft_LeftSingle) - [ASOBO\_GT\_Interaction\_WheelAndContinuousLeft](../../generic/interactions/#ASOBO_GT_Interaction_WheelAndContinuousLeft) Parameters set: - CURSOR - CLOCKWISE\_CODE (using INCREMENT, IE\_AILERONS\_TRIM) - ANTICLOCKWISE\_CODE (using INCREMENT, IE\_AILERONS\_TRIM) - ANIM\_CODE Condition: Check(INVERT\_KNOB\_ANIM) - Case: True Parameters set: - INVERT\_ANIM (using INVERT\_KNOB\_ANIM) Condition: Valid(KNOB\_HIGHLIGHT\_NODE\_ID) - Case: True Parameters set: - HIGHLIGHT\_NODE\_ID (using KNOB\_HIGHLIGHT\_NODE\_ID) Condition: Check(NEEDLE\_NODE\_ID) - Case: True Parameters read: - NEEDLE\_NODE\_ID Components: - \#NEEDLE\_NODE\_ID\# (Node: \#NEEDLE\_NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Anim\_Sim](../../generic/animations/#ASOBO_GT_Anim_Sim) Parameters set: - ANIM\_NAME (using NEEDLE\_ANIM\_NAME) - ANIM\_SIMVAR - ANIM\_SIMVAR\_UNITS - ANIM\_SIMVAR\_SCALE - ANIM\_SIMVAR\_BIAS Condition: Check(INVERT\_NEEDLE\_ANIM) - Case: True Parameters set: - INVERT\_ANIM (using INVERT\_NEEDLE\_ANIM) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_RudderTrim\_Template Definition from XML <Template Name="ASOBO\_HANDLING\_RudderTrim\_Template"> <Parameters Type="Default"> <ID>1</ID> </Parameters> <Parameters Type="Default"> <Condition Check="SECONDARY"> <True> <IE\_RUDDER\_TRIM>\#ID\#\_Secondary</IE\_RUDDER\_TRIM> </True> <False> <IE\_RUDDER\_TRIM>\#ID\#</IE\_RUDDER\_TRIM> </False> </Condition> </Parameters> <Parameters Type="Default"> <MOUSE\_WHEEL\_INCREMENT>20</MOUSE\_WHEEL\_INCREMENT> <NODE\_ID>HANDLING\_Knob\_RudderTrim</NODE\_ID> <ANIM\_NAME>HANDLING\_Knob\_RudderTrim</ANIM\_NAME> <RESET\_PUSH\_NODE\_ID>HANDLING\_Push\_RudderTrim\_Reset</RESET\_PUSH\_NODE\_ID> <RESET\_PUSH\_ANIM\_NAME>HANDLING\_Push\_RudderTrim\_Reset</RESET\_PUSH\_ANIM\_NAME> <PART\_ID>HANDLING\_Knob\_RudderTrim</PART\_ID> <Condition Check="NEEDLE\_NODE\_ID"> <NEEDLE\_ANIM\_NAME>HANDLING\_Knob\_RudderTrim\_Needle</NEEDLE\_ANIM\_NAME> </Condition> <WWISE\_EVENT>rudder\_trim\_knob</WWISE\_EVENT> <WWISE\_EVENT\_1>rudder\_trim\_knob\_01</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>rudder\_trim\_knob\_02</WWISE\_EVENT\_2> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <INCREMENT>25</INCREMENT> <Condition Valid="NOT\_DISABLED\_BY\_AP"> <False> <ADDITIONAL\_TESTS>(A:AUTOPILOT MASTER, Bool) ! and</ADDITIONAL\_TESTS> </False> </Condition> </Case> <Case Value="WHEEL"> <CURSOR>Grab</CURSOR> <INCREMENT>25</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>-16384</LOWER\_LIMIT> </Case> <Case Value="KNOB"> <INCREMENT>10</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>-16384</LOWER\_LIMIT> </Case> </Switch> <TOOLTIP\_RUDDER\_TRIM\_TITLE>@TT\_Package.HANDLING\_KNOB\_RUDDER\_TRIM\_TITLE</TOOLTIP\_RUDDER\_TRIM\_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_RUDDER\_TRIM\_TITLE\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#</TOOLTIP\_ENTRY\_0> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <UseTemplate Name="ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template"> <ARROW\_TYPE>Curved</ARROW\_TYPE> <TRIM\_NAME>RudderTrim</TRIM\_NAME> <TRIM\_TYPE>Rudder</TRIM\_TYPE> <SWITCH\_POSITION\_TYPE>L</SWITCH\_POSITION\_TYPE> <SWITCH\_POSITION\_VAR>XMLVAR\_RudderTrim\_Switch\_\#IE\_RUDDER\_TRIM\#</SWITCH\_POSITION\_VAR> <SWITCH\_POSITION\_TYPE\_TIMER>L</SWITCH\_POSITION\_TYPE\_TIMER> <SWITCH\_POSITION\_VAR\_TIMER>XMLVAR\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_SwitchStateTimer</SWITCH\_POSITION\_VAR\_TIMER> </UseTemplate> <Condition Check="NO\_RESET\_PUSH"> <False> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <INTERACTION\_TYPE>Push</INTERACTION\_TYPE> <TT\_ICON>Push</TT\_ICON> <IE\_NAME>RudderTrim\_Reset</IE\_NAME> <SET\_CODE>0 (>K:RUDDER\_TRIM\_SET) 1 (>O:\_ButtonAnimVar)</SET\_CODE> <WWISE\_EVENT\_1>rudder\_trim\_rest\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>rudder\_trim\_rest\_push\_button\_on</WWISE\_EVENT\_2> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_PUSH\_RUDDERRESET\_ACTION</TT\_DESCRIPTION\_ID> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_PUSH\_RUDDERRESET\_TITLE</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_RudderTrim\_Reset</TOOLTIP\_ENTRY\_0> <NODE\_ID>\#RESET\_PUSH\_NODE\_ID\#</NODE\_ID> <ANIM\_NAME>\#RESET\_PUSH\_ANIM\_NAME\#</ANIM\_NAME> <BINDING\_INC\_0\_EVENT\_ID>RUDDER\_TRIM\_RESET</BINDING\_INC\_0\_EVENT\_ID> </UseTemplate> </False> </Condition> </Case> <Case Value="WHEEL"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <RUDDER\_TRIM\_ID>1</RUDDER\_TRIM\_ID> </UseInputEvent> <Condition Check="INFINITE"> <True> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingYAxis\_Code"> <UP\_CODE>(>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Inc)</UP\_CODE> <DOWN\_CODE>(>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Dec)</DOWN\_CODE> <IS\_LOOPING/> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis"> <NO\_ARROWS>True</NO\_ARROWS> <CURSOR>Grab</CURSOR> <ANIM\_LENGTH>100</ANIM\_LENGTH> <ANIM\_CODE>(B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#)</ANIM\_CODE> <Condition Valid="USE\_TRAJECTORY\_DRAG\_MODE"> <True> <DRAG\_CODE> (M:DragPercent) 2 \* 1 - 16384 \* \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set) </DRAG\_CODE> </True> <False> <DRAG\_CODE> (A:RUDDER TRIM PCT, position 16k) \#INCREMENT\# (O:DragScale) \* -1 \* + \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set) </DRAG\_CODE> </False> </Condition> <POSITIVE\_AXIS\_CODE>\#MOUSE\_WHEEL\_INCREMENT\# (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Dec)</POSITIVE\_AXIS\_CODE> <NEGATIVE\_AXIS\_CODE>\#MOUSE\_WHEEL\_INCREMENT\# (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Inc)</NEGATIVE\_AXIS\_CODE> </UseTemplate> </False> </Condition> </Component> </Case> <Case Value="KNOB"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <RUDDER\_TRIM\_ID>1</RUDDER\_TRIM\_ID> </UseInputEvent> <Parameters Type="Override"> <Condition Valid="INVERT\_EFFECT"> <False> <INC>Inc</INC> <DEC>Dec</DEC> </False> <True> <INC>Dec</INC> <DEC>Inc</DEC> </True> </Condition> </Parameters> <UseTemplate Name="ASOBO\_GT\_Knob\_Finite\_Code"> <CURSOR>Hand</CURSOR> <CLOCKWISE\_CODE> \#INCREMENT\# (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_\#INC\#) </CLOCKWISE\_CODE> <ANTICLOCKWISE\_CODE> \#INCREMENT\# (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_\#DEC\#) </ANTICLOCKWISE\_CODE> <ANIM\_CODE>(B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#)</ANIM\_CODE> <Condition Valid="INVERT\_KNOB\_ANIM"> <INVERT\_ANIM>\#INVERT\_KNOB\_ANIM\#</INVERT\_ANIM> </Condition> <Condition Valid="KNOB\_HIGHLIGHT\_NODE\_ID"> <HIGHLIGHT\_NODE\_ID>\#KNOB\_HIGHLIGHT\_NODE\_ID\#</HIGHLIGHT\_NODE\_ID> </Condition> </UseTemplate> </Component> </Case> </Switch> <Condition Check="NEEDLE\_NODE\_ID"> <Component ID="\#NEEDLE\_NODE\_ID\#" Node="\#NEEDLE\_NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Anim\_Sim"> <ANIM\_NAME>\#NEEDLE\_ANIM\_NAME\#</ANIM\_NAME> <ANIM\_SIMVAR>RUDDER TRIM PCT</ANIM\_SIMVAR> <ANIM\_SIMVAR\_UNITS>percent</ANIM\_SIMVAR\_UNITS> <ANIM\_SIMVAR\_SCALE>0.5</ANIM\_SIMVAR\_SCALE> <ANIM\_SIMVAR\_BIAS>50</ANIM\_SIMVAR\_BIAS> </UseTemplate> </Component> </Condition> </Template> Parameters initialization: - Default Parameters set: - ID - Default Condition: Check(SECONDARY) - Case: True Parameters set: - IE\_RUDDER\_TRIM (using ID) - Case: False Parameters set: - IE\_RUDDER\_TRIM (using ID) - Default Parameters set: - MOUSE\_WHEEL\_INCREMENT - NODE\_ID - ANIM\_NAME - RESET\_PUSH\_NODE\_ID - RESET\_PUSH\_ANIM\_NAME - PART\_ID - WWISE\_EVENT - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - TOOLTIP\_RUDDER\_TRIM\_TITLE Condition: Check(NEEDLE\_NODE\_ID) - Case: True Parameters set: - NEEDLE\_ANIM\_NAME Condition: Switch(INTERACTION\_TYPE) - Case: SWITCH Parameters set: - INCREMENT Condition: Valid(NOT\_DISABLED\_BY\_AP) - Case: False Parameters set: - ADDITIONAL\_TESTS - Case: WHEEL Parameters set: - CURSOR - INCREMENT - UPPER\_LIMIT - LOWER\_LIMIT - Case: KNOB Parameters set: - INCREMENT - UPPER\_LIMIT - LOWER\_LIMIT - Override Parameters set: - TOOLTIP\_TITLE (using TOOLTIP\_RUDDER\_TRIM\_TITLE) - TOOLTIP\_ENTRY\_0 (using IE\_RUDDER\_TRIM) Condition: Switch(INTERACTION\_TYPE) - Case: SWITCH   Templates used: - [ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template](handling-subtemplates/#ASOBO_HANDLING_Trim_Variable_Speed_Base_Template) Parameters set: - ARROW\_TYPE - TRIM\_NAME - TRIM\_TYPE - SWITCH\_POSITION\_TYPE - SWITCH\_POSITION\_VAR (using IE\_RUDDER\_TRIM) - SWITCH\_POSITION\_TYPE\_TIMER - SWITCH\_POSITION\_VAR\_TIMER (using IE\_RUDDER\_TRIM) Condition: Check(NO\_RESET\_PUSH) - Case: False   Templates used: - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Parameters set: - INTERACTION\_TYPE - TT\_ICON - IE\_NAME - SET\_CODE - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - TT\_DESCRIPTION\_ID - TOOLTIP\_TITLE - TOOLTIP\_ENTRY\_0 - NODE\_ID (using RESET\_PUSH\_NODE\_ID) - ANIM\_NAME (using RESET\_PUSH\_ANIM\_NAME) - BINDING\_INC\_0\_EVENT\_ID - Case: WHEEL Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - RUDDER\_TRIM\_ID Condition: Check(INFINITE) - Case: True   Templates used: - [ASOBO\_GT\_Lever\_DraggingYAxis\_Code](../../generic/complex/lever/#ASOBO_GT_Lever_DraggingYAxis_Code) Parameters set: - UP\_CODE (using IE\_RUDDER\_TRIM) - DOWN\_CODE (using IE\_RUDDER\_TRIM) - IS\_LOOPING - Case: False   Templates used: - [ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis](../../generic/complex/lever/#ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis) Parameters set: - NO\_ARROWS - CURSOR - ANIM\_LENGTH - ANIM\_CODE (using IE\_RUDDER\_TRIM) - POSITIVE\_AXIS\_CODE (using MOUSE\_WHEEL\_INCREMENT, IE\_RUDDER\_TRIM) - NEGATIVE\_AXIS\_CODE (using MOUSE\_WHEEL\_INCREMENT, IE\_RUDDER\_TRIM) Condition: Valid(USE\_TRAJECTORY\_DRAG\_MODE) - Case: True Parameters set: - DRAG\_CODE (using UPPER\_LIMIT, LOWER\_LIMIT, IE\_RUDDER\_TRIM) - Case: False Parameters set: - DRAG\_CODE (using INCREMENT, UPPER\_LIMIT, LOWER\_LIMIT, IE\_RUDDER\_TRIM) - Case: KNOB Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - RUDDER\_TRIM\_ID   Templates used: - [ASOBO\_GT\_Knob\_Finite\_Code](../../generic/complex/knob/#ASOBO_GT_Knob_Finite_Code) - May include a subtemplate using the parameter 'EXTRA\_INTERACTION' and resolve to the following template(s): - [ASOBO\_GT\_Interaction\_WheelAndContinuousLeft\_LeftSingle](../../generic/interactions/#ASOBO_GT_Interaction_WheelAndContinuousLeft_LeftSingle) - [ASOBO\_GT\_Interaction\_WheelAndContinuousLeft](../../generic/interactions/#ASOBO_GT_Interaction_WheelAndContinuousLeft) Parameters set: - CURSOR - CLOCKWISE\_CODE (using INCREMENT, IE\_RUDDER\_TRIM, INC) - ANTICLOCKWISE\_CODE (using INCREMENT, IE\_RUDDER\_TRIM, DEC) - ANIM\_CODE (using IE\_RUDDER\_TRIM) Condition: Valid(INVERT\_KNOB\_ANIM) - Case: True Parameters set: - INVERT\_ANIM (using INVERT\_KNOB\_ANIM) Condition: Valid(KNOB\_HIGHLIGHT\_NODE\_ID) - Case: True Parameters set: - HIGHLIGHT\_NODE\_ID (using KNOB\_HIGHLIGHT\_NODE\_ID) Condition: Valid(INVERT\_EFFECT) - Case: False Parameters set: - INC - DEC - Case: True Parameters set: - INC - DEC Condition: Check(NEEDLE\_NODE\_ID) - Case: True Parameters read: - NEEDLE\_NODE\_ID Components: - \#NEEDLE\_NODE\_ID\# (Node: \#NEEDLE\_NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Anim\_Sim](../../generic/animations/#ASOBO_GT_Anim_Sim) Parameters set: - ANIM\_NAME (using NEEDLE\_ANIM\_NAME) - ANIM\_SIMVAR - ANIM\_SIMVAR\_UNITS - ANIM\_SIMVAR\_SCALE - ANIM\_SIMVAR\_BIAS [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_ElevatorTrim\_Template Definition from XML <Template Name="ASOBO\_HANDLING\_ElevatorTrim\_Template"> <Parameters Type="Default"> <ID>1</ID> </Parameters> <Parameters Type="Default"> <Condition Check="SECONDARY"> <True> <IE\_ELEVATOR\_TRIM>\#ID\#\_Secondary</IE\_ELEVATOR\_TRIM> </True> <False> <IE\_ELEVATOR\_TRIM>\#ID\#</IE\_ELEVATOR\_TRIM> </False> </Condition> <LIMIT\_RATIO Process="Float">(A:ELEVATOR TRIM LIMIT RATIO, number)</LIMIT\_RATIO> <LOWER\_RATIO>1</LOWER\_RATIO> </Parameters> <Parameters Type="Override"> <Condition Valid="RESCALE\_LIMITS"> <LOWER\_RATIO Process="Float">\#LIMIT\_RATIO\# 1 >= if{ 1 \#LIMIT\_RATIO\# / } els{ 1 }</LOWER\_RATIO> </Condition> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <ANIM\_NAME>HANDLING\_Wheel\_ElevatorTrim</ANIM\_NAME> <NODE\_ID>HANDLING\_Wheel\_ElevatorTrim</NODE\_ID> <PART\_ID>HANDLING\_Wheel\_ElevatorTrim</PART\_ID> <Condition Check="INFINITE"> <True> <DRAG\_SPEED>8</DRAG\_SPEED> </True> </Condition> <INCREMENT>30</INCREMENT> <MOUSE\_WHEEL\_INCREMENT>16</MOUSE\_WHEEL\_INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT Process="Float">-16384 \#LOWER\_RATIO\# \*</LOWER\_LIMIT> <AXIS>Y</AXIS> <Condition Check="DOUBLE\_WHEEL"> <NODE\_ID2>HANDLING\_Wheel\_ElevatorTrim\_Pitch\_2</NODE\_ID2> </Condition> <DRAG\_AXIS\_SCALE>100</DRAG\_AXIS\_SCALE> <WWISE\_EVENT\_1>elevator\_trim\_lock\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>elevator\_trim\_lock\_off</WWISE\_EVENT\_2> <DRAG\_SCALAR>0.001</DRAG\_SCALAR> <INPUTEVENT\_VAR\_TYPE>L</INPUTEVENT\_VAR\_TYPE> <INPUTEVENT\_VAR\_NAME>HANDLING\_ElevatorTrim</INPUTEVENT\_VAR\_NAME> </Case> <Case Value="SWITCH"> <NODE\_ID>HANDLING\_Switch\_ElevatorTrim\_\#ID\#</NODE\_ID> <ANIM\_NAME>HANDLING\_Switch\_ElevatorTrim\_\#ID\#</ANIM\_NAME> <PART\_ID>HANDLING\_Switch\_Elevator\_Trim</PART\_ID> <OTHER\_PART\_ID>HANDLING\_Switch\_ElevatorTrim</OTHER\_PART\_ID> <WWISE\_EVENT>elevator\_switch</WWISE\_EVENT> <COUNT>2</COUNT> <ANIMREF\_ID>-1</ANIMREF\_ID> <ANIMTIP\_0\_ON\_CURSOR>UpArrow</ANIMTIP\_0\_ON\_CURSOR> <ANIMTIP\_1\_ON\_CURSOR>DownArrow</ANIMTIP\_1\_ON\_CURSOR> <ANIMTIP\_0>TT:COCKPIT.TOOLTIPS.MET\_PITCH\_TRIM\_DN</ANIMTIP\_0> <ANIMTIP\_1>TT:COCKPIT.TOOLTIPS.MET\_PITCH\_TRIM\_UP</ANIMTIP\_1> <TRIM\_LIMIT>20</TRIM\_LIMIT> <SWITCH\_POSITION\_TYPE>L</SWITCH\_POSITION\_TYPE> <SWITCH\_POSITION\_VAR>XMLVAR\_ElevatorTrim\_Switch\_\#IE\_ELEVATOR\_TRIM\#</SWITCH\_POSITION\_VAR> <SWITCH\_POSITION\_TYPE\_TIMER>L</SWITCH\_POSITION\_TYPE\_TIMER> <SWITCH\_POSITION\_VAR\_TIMER>XMLVAR\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_SwitchStateTimer</SWITCH\_POSITION\_VAR\_TIMER> </Case> </Switch> </Parameters> <Parameters Type="Default"> <TOOLTIP\_ELEVATOR\_TRIM\_TITLE>@TT\_Package.HANDLING\_SWITCH\_YOKE\_ELEVATORTRIM\_TITLE</TOOLTIP\_ELEVATOR\_TRIM\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_PackageV3.ACTION.POSITION\_ADJUST</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_ELEVATOR\_TRIM\_TITLE\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#</TOOLTIP\_ENTRY\_0> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <Condition Check="INFINITE"> <True> <UP\_CODE>(>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Inc)</UP\_CODE> <DOWN\_CODE>(>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Dec)</DOWN\_CODE> </True> <False> <Condition Valid="USE\_TRAJECTORY\_DRAG\_MODE"> <True> <DRAG\_CODE> (M:DragPercent) 2 \* 1 - 16384 \* \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set) </DRAG\_CODE> </True> <False> <Condition Valid="SLOW\_DRAG"> <True> <DRAG\_CODE> -1 1 (I:\_comparePos) (O:\_LastPos) < ? sp0 (\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) \#INCREMENT\# (O:DragScale) \* l0 \* + \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set) </DRAG\_CODE> </True> <False> <DRAG\_CODE> (\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) \#INCREMENT\# (O:DragScale) \* -1 \* + \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# max (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set) </DRAG\_CODE> </False> </Condition> </False> </Condition> <POSITIVE\_AXIS\_CODE>\#MOUSE\_WHEEL\_INCREMENT\# (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Dec)</POSITIVE\_AXIS\_CODE> <NEGATIVE\_AXIS\_CODE>\#MOUSE\_WHEEL\_INCREMENT\# (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Inc)</NEGATIVE\_AXIS\_CODE> </False> </Condition> </Case> </Switch> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Condition Valid="SLOW\_DRAG"> <True> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_ONCE>True</UPDATE\_ONCE> <UPDATE\_CODE>\#DRAG\_AXIS\_SCALE\# (>O:DragScale)</UPDATE\_CODE> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Update"> <FREQUENCY>3</FREQUENCY> <UPDATE\_CODE>(O:\_LastPos) (>I:\_comparePos)</UPDATE\_CODE> </UseTemplate> </True> </Condition> <UseInputEvent ID="HANDLING"> <ELEVATOR\_TRIM\_ID>1</ELEVATOR\_TRIM\_ID> </UseInputEvent> <DefaultTemplateParameters> <Condition Valid="HIGHLIGHT\_NODE\_ID\_1"> <HIGHLIGHT\_NODE\_ID>\#HIGHLIGHT\_NODE\_ID\_1\#</HIGHLIGHT\_NODE\_ID> </Condition> </DefaultTemplateParameters> <Condition Check="INFINITE"> <True> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingYAxis\_Code"> <IS\_LOOPING/> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis"> <NO\_ARROWS>True</NO\_ARROWS> <CURSOR>Grab</CURSOR> <ANIM\_LENGTH>100</ANIM\_LENGTH> <ANIM\_CODE>(B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#)</ANIM\_CODE> </UseTemplate> </False> </Condition> </Component> <Condition Check="HIGHLIGHT\_NODE\_ID"> <UseTemplate Name="ASOBO\_GT\_ComponentWith\_PART\_ID"> <NODE\_ID>\#HIGHLIGHT\_NODE\_ID\#</NODE\_ID> </UseTemplate> </Condition> <Condition Check="DOUBLE\_WHEEL"> <Component ID="\#NODE\_ID2\#" Node="\#NODE\_ID2\#"> <DefaultTemplateParameters> <Condition Valid="HIGHLIGHT\_NODE\_ID\_2"> <HIGHLIGHT\_NODE\_ID>\#HIGHLIGHT\_NODE\_ID\_2\#</HIGHLIGHT\_NODE\_ID> </Condition> </DefaultTemplateParameters> <Condition Check="INFINITE"> <True> <UseTemplate Name="ASOBO\_GT\_Interaction\_DraggingYAxis\_Code"> <HELPID>HELPID\_GAUGE\_PITCH\_TRIM</HELPID> <IS\_LOOPING/> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Interaction\_WheelLeftDrag\_Axis"> <NO\_ARROWS>True</NO\_ARROWS> <CURSOR>Grab</CURSOR> </UseTemplate> </False> </Condition> </Component> </Condition> </Case> <Case Value="SWITCH"> <UseTemplate Name="ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template"> <SWITCH\_DIRECTION>Vertical</SWITCH\_DIRECTION> <TRIM\_NAME>ElevatorTrim</TRIM\_NAME> <TRIM\_TYPE>Elevator</TRIM\_TYPE> </UseTemplate> </Case> </Switch> </Template> Parameters initialization: - Default Parameters set: - ID - Default Parameters set: - LIMIT\_RATIO - LOWER\_RATIO Condition: Check(SECONDARY) - Case: True Parameters set: - IE\_ELEVATOR\_TRIM (using ID) - Case: False Parameters set: - IE\_ELEVATOR\_TRIM (using ID) - Override Condition: Valid(RESCALE\_LIMITS) - Case: True Parameters set: - LOWER\_RATIO (using LIMIT\_RATIO) - Default Condition: Switch(INTERACTION\_TYPE) - Case: WHEEL Parameters set: - ANIM\_NAME - NODE\_ID - PART\_ID - INCREMENT - MOUSE\_WHEEL\_INCREMENT - UPPER\_LIMIT - LOWER\_LIMIT (using LOWER\_RATIO) - AXIS - DRAG\_AXIS\_SCALE - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - DRAG\_SCALAR - INPUTEVENT\_VAR\_TYPE - INPUTEVENT\_VAR\_NAME Condition: Check(INFINITE) - Case: True Parameters set: - DRAG\_SPEED Condition: Check(DOUBLE\_WHEEL) - Case: True Parameters set: - NODE\_ID2 - Case: SWITCH Parameters set: - NODE\_ID (using ID) - ANIM\_NAME (using ID) - PART\_ID - OTHER\_PART\_ID - WWISE\_EVENT - COUNT - ANIMREF\_ID - ANIMTIP\_0\_ON\_CURSOR - ANIMTIP\_1\_ON\_CURSOR - ANIMTIP\_0 - ANIMTIP\_1 - TRIM\_LIMIT - SWITCH\_POSITION\_TYPE - SWITCH\_POSITION\_VAR (using IE\_ELEVATOR\_TRIM) - SWITCH\_POSITION\_TYPE\_TIMER - SWITCH\_POSITION\_VAR\_TIMER (using IE\_ELEVATOR\_TRIM) - Default Parameters set: - TOOLTIP\_ELEVATOR\_TRIM\_TITLE - TT\_DESCRIPTION\_ID - Override Parameters set: - TOOLTIP\_TITLE (using TOOLTIP\_ELEVATOR\_TRIM\_TITLE) - TOOLTIP\_ENTRY\_0 (using IE\_ELEVATOR\_TRIM) Condition: Switch(INTERACTION\_TYPE) - Case: WHEEL Condition: Check(INFINITE) - Case: True Parameters set: - UP\_CODE (using IE\_ELEVATOR\_TRIM) - DOWN\_CODE (using IE\_ELEVATOR\_TRIM) - Case: False Parameters set: - POSITIVE\_AXIS\_CODE (using MOUSE\_WHEEL\_INCREMENT, IE\_ELEVATOR\_TRIM) - NEGATIVE\_AXIS\_CODE (using MOUSE\_WHEEL\_INCREMENT, IE\_ELEVATOR\_TRIM) Condition: Valid(USE\_TRAJECTORY\_DRAG\_MODE) - Case: True Parameters set: - DRAG\_CODE (using UPPER\_LIMIT, LOWER\_LIMIT, IE\_ELEVATOR\_TRIM) - Case: False Condition: Valid(SLOW\_DRAG) - Case: True Parameters set: - DRAG\_CODE (using INPUTEVENT\_VAR\_TYPE, INPUTEVENT\_VAR\_NAME, INCREMENT, UPPER\_LIMIT, LOWER\_LIMIT, IE\_ELEVATOR\_TRIM) - Case: False Parameters set: - DRAG\_CODE (using INPUTEVENT\_VAR\_TYPE, INPUTEVENT\_VAR\_NAME, INCREMENT, UPPER\_LIMIT, LOWER\_LIMIT, IE\_ELEVATOR\_TRIM) Condition: Switch(INTERACTION\_TYPE) - Case: WHEEL Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - ELEVATOR\_TRIM\_ID Condition: Valid(SLOW\_DRAG) - Case: True   Templates used: - [ASOBO\_GT\_Update](../../generic/updates/#ASOBO_GT_Update) Parameters set: - UPDATE\_ONCE - UPDATE\_CODE (using DRAG\_AXIS\_SCALE) - [ASOBO\_GT\_Update](../../generic/updates/#ASOBO_GT_Update) Parameters set: - FREQUENCY - UPDATE\_CODE Condition: Valid(HIGHLIGHT\_NODE\_ID\_1) - Case: True Parameters set: - HIGHLIGHT\_NODE\_ID (using HIGHLIGHT\_NODE\_ID\_1) Condition: Check(INFINITE) - Case: True   Templates used: - [ASOBO\_GT\_Lever\_DraggingYAxis\_Code](../../generic/complex/lever/#ASOBO_GT_Lever_DraggingYAxis_Code) Parameters set: - IS\_LOOPING - Case: False   Templates used: - [ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis](../../generic/complex/lever/#ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis) Parameters set: - NO\_ARROWS - CURSOR - ANIM\_LENGTH - ANIM\_CODE (using IE\_ELEVATOR\_TRIM) Condition: Check(HIGHLIGHT\_NODE\_ID) - Case: True   Templates used: - [ASOBO\_GT\_ComponentWith\_PART\_ID](../../generic/complex/misc/#ASOBO_GT_ComponentWith_PART_ID) Parameters set: - NODE\_ID (using HIGHLIGHT\_NODE\_ID) Condition: Check(DOUBLE\_WHEEL) - Case: True Parameters read: - NODE\_ID2 Components: - \#NODE\_ID2\# (Node: \#NODE\_ID2\#) Condition: Valid(HIGHLIGHT\_NODE\_ID\_2) - Case: True Parameters set: - HIGHLIGHT\_NODE\_ID (using HIGHLIGHT\_NODE\_ID\_2) Condition: Check(INFINITE) - Case: True   Templates used: - [ASOBO\_GT\_Interaction\_DraggingYAxis\_Code](../../generic/interactions/#ASOBO_GT_Interaction_DraggingYAxis_Code) Parameters set: - HELPID - IS\_LOOPING - Case: False   Templates used: - [ASOBO\_GT\_Interaction\_WheelLeftDrag\_Axis](../../generic/interactions/#ASOBO_GT_Interaction_WheelLeftDrag_Axis) Parameters set: - NO\_ARROWS - CURSOR - Case: SWITCH   Templates used: - [ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template](handling-subtemplates/#ASOBO_HANDLING_Trim_Variable_Speed_Base_Template) Parameters set: - SWITCH\_DIRECTION - TRIM\_NAME - TRIM\_TYPE [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Combined\_Trim\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Combined\_Trim\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Combined\_Trim</NODE\_ID> <ANIM\_NAME\_L\_R>HANDLING\_\#INTERACTION\_TYPE\#\_Combined\_Trim\_L\_R</ANIM\_NAME\_L\_R> <ANIM\_NAME\_DN\_UP>HANDLING\_\#INTERACTION\_TYPE\#\_Combined\_Trim\_L\_R</ANIM\_NAME\_DN\_UP> <TRIM\_UPDATE\_FREQUENCY>20</TRIM\_UPDATE\_FREQUENCY> <WWISE\_PREFIX>trim</WWISE\_PREFIX> </Parameters> <Parameters Type="Override"> <TRIM\_TYPE\_0>\#L\_R\_TRIM\_TYPE\#</TRIM\_TYPE\_0> <TRIM\_TYPE\_1>\#UP\_DN\_TRIM\_TYPE\#</TRIM\_TYPE\_1> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>CUR\_ID</Param> <From>0</From> <Inc>1</Inc> <To>1</To> </Setup> <Do> <Parameters Type="Override"> <TRIM\_TYPE Process="Param">TRIM\_TYPE\_\#CUR\_ID\#</TRIM\_TYPE> </Parameters> <Switch Param="TRIM\_TYPE"> <Case Value="RUDDER"> <INC\_TRIM\_\#CUR\_ID\#>(>K:RUDDER\_TRIM\_RIGHT)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:RUDDER\_TRIM\_LEFT)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:RUDDER TRIM, degrees)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_KNOB\_RUDDER\_TRIM\_ACTION</TT\_TRIM\_\#CUR\_ID\#> </Case> <Case Value="AILERON"> <INC\_TRIM\_\#CUR\_ID\#>(>K:AILERON\_TRIM\_RIGHT)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:AILERON\_TRIM\_LEFT)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:AILERON TRIM, degrees)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_KNOB\_AILERON\_ACTION</TT\_TRIM\_\#CUR\_ID\#> </Case> <Case Value="ELEVATOR"> <INC\_TRIM\_\#CUR\_ID\#>(>K:ELEV\_TRIM\_DN)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:ELEV\_TRIM\_UP)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:ELEVATOR TRIM POSITION, degrees)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_SWITCH\_YOKE\_ELEVATORTRIM\_ACTION</TT\_TRIM\_\#CUR\_ID\#> <TT\_VALUE\_3>@TT\_Package.HANDLING\_WHEEL\_ELEVATOR\_STATE\_NOSEDOWN</TT\_VALUE\_3> <TT\_VALUE\_2>@TT\_Package.HANDLING\_WHEEL\_ELEVATOR\_STATE\_NOSEUP</TT\_VALUE\_2> </Case> <Case Value="LONGITUDINAL"> <INC\_TRIM\_\#CUR\_ID\#>(>K:ROTOR\_LONGITUDINAL\_TRIM\_DEC)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:ROTOR\_LONGITUDINAL\_TRIM\_INC)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:ROTOR LONGITUDINAL TRIM PCT, percent)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_JOYSTICK\_LONGITUDINAL\_TRIM\_ACTION</TT\_TRIM\_\#CUR\_ID\#> <FORMAT\_VALUE>'%.1f %%' @sprintf</FORMAT\_VALUE> </Case> <Case Value="LATERAL"> <INC\_TRIM\_\#CUR\_ID\#>(>K:ROTOR\_LATERAL\_TRIM\_INC)</INC\_TRIM\_\#CUR\_ID\#> <DEC\_TRIM\_\#CUR\_ID\#>(>K:ROTOR\_LATERAL\_TRIM\_DEC)</DEC\_TRIM\_\#CUR\_ID\#> <GET\_TRIM\_\#CUR\_ID\#>(A:ROTOR LATERAL TRIM PCT, percent)</GET\_TRIM\_\#CUR\_ID\#> <TT\_TRIM\_\#CUR\_ID\#>@TT\_Package.HANDLING\_JOYSTICK\_LATERAL\_TRIM\_ACTION</TT\_TRIM\_\#CUR\_ID\#> <FORMAT\_VALUE>'%.1f %%' @sprintf</FORMAT\_VALUE> </Case> </Switch> </Do> </Loop> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Parameters Type="Default"> <THRESHOLD\_X\_INPUT>0.01</THRESHOLD\_X\_INPUT> <THRESHOLD\_X\_MOUSE>0.001</THRESHOLD\_X\_MOUSE> <THRESHOLD\_Y\_INPUT>0.01</THRESHOLD\_Y\_INPUT> <THRESHOLD\_Y\_MOUSE>0.001</THRESHOLD\_Y\_MOUSE> <TOOLTIP\_TITLE>@TT\_Package.YOKE\_PUSH\_NOSE\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.YOKE\_PUSH\_NOSE\_ACTION</TT\_DESCRIPTION\_ID> <FORMAT\_VALUE>'%.1f°' @sprintf</FORMAT\_VALUE> <TT\_VALUE\_IS\_DYNAMIC>True</TT\_VALUE\_IS\_DYNAMIC> <STATE\_VAR>HANDLING\_\#TRIM\_TYPE\_0\#\_\#TRIM\_TYPE\_1\#\_Trim\_Position</STATE\_VAR> </Parameters> <UseTemplate Name="ASOBO\_HANDLING\_Axis\_Event\_Base\_Template"> <IE\_NAME>\#TRIM\_TYPE\_0\#\_Trim</IE\_NAME> <AXIS>X</AXIS> <LEFT\_CODE\_EXTERNAL>0 (>L:1:\#STATE\_VAR\#)</LEFT\_CODE\_EXTERNAL> <IE\_STANDBY\_CODE>4 (>L:1:\#STATE\_VAR\#)</IE\_STANDBY\_CODE> <RIGHT\_CODE\_EXTERNAL>1 (>L:1:\#STATE\_VAR\#)</RIGHT\_CODE\_EXTERNAL> <TT\_VALUE>\#GET\_TRIM\_0\# \#FORMAT\_VALUE\#</TT\_VALUE> <TT\_DESCRIPTION\_ID>\#TT\_TRIM\_0\#</TT\_DESCRIPTION\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_HANDLING\_Axis\_Event\_Base\_Template"> <IE\_NAME>\#TRIM\_TYPE\_1\#\_Trim</IE\_NAME> <AXIS>Y</AXIS> <LEFT\_CODE\_EXTERNAL>2 (>L:1:\#STATE\_VAR\#)</LEFT\_CODE\_EXTERNAL> <IE\_STANDBY\_CODE>4 (>L:1:\#STATE\_VAR\#)</IE\_STANDBY\_CODE> <RIGHT\_CODE\_EXTERNAL>3 (>L:1:\#STATE\_VAR\#)</RIGHT\_CODE\_EXTERNAL> <TT\_VALUE>\#GET\_TRIM\_1\# \#FORMAT\_VALUE\#</TT\_VALUE> <TT\_DESCRIPTION\_ID>\#TT\_TRIM\_1\#</TT\_DESCRIPTION\_ID> </UseTemplate> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>\#TRIM\_TYPE\_0\#\_\#TRIM\_TYPE\_1\#\_Trim</IE\_NAME> <JOYSTICK\_TYPE>5\_STATES</JOYSTICK\_TYPE> <JOYSTICK\_INTERACTION\_TYPE>POSITIONAL</JOYSTICK\_INTERACTION\_TYPE> <CREATE\_COMPONENT>False</CREATE\_COMPONENT> <IE\_ID\_EXTERNAL\_0>\#TRIM\_TYPE\_0\#\_Trim</IE\_ID\_EXTERNAL\_0> <IE\_ID\_EXTERNAL\_1>\#TRIM\_TYPE\_1\#\_Trim</IE\_ID\_EXTERNAL\_1> <ON\_POS\_LEFT>\#DEC\_TRIM\_0\#</ON\_POS\_LEFT> <ON\_POS\_RIGHT>\#INC\_TRIM\_0\#</ON\_POS\_RIGHT> <ON\_POS\_DOWN>\#DEC\_TRIM\_1\#</ON\_POS\_DOWN> <ON\_POS\_UP>\#INC\_TRIM\_1\#</ON\_POS\_UP> <GET\_STATE\_EXTERNAL>(L:1:\#STATE\_VAR\#) sp0</GET\_STATE\_EXTERNAL> <VAR\_TO\_WATCH\_0>\#STATE\_VAR\#</VAR\_TO\_WATCH\_0> <VAR\_TO\_WATCH\_0\_SCOPE>L</VAR\_TO\_WATCH\_0\_SCOPE> <FREQUENCY>\#TRIM\_UPDATE\_FREQUENCY\#</FREQUENCY> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME\_L\_R (using INTERACTION\_TYPE) - ANIM\_NAME\_DN\_UP (using INTERACTION\_TYPE) - TRIM\_UPDATE\_FREQUENCY - WWISE\_PREFIX - Override Parameters set: - TRIM\_TYPE\_0 (using L\_R\_TRIM\_TYPE) - TRIM\_TYPE\_1 (using UP\_DN\_TRIM\_TYPE) - Override Parameters set: - CUR\_ID - TRIM\_TYPE (using CUR\_ID) Condition: Switch(TRIM\_TYPE) - Case: RUDDER Parameters set: - INC\_TRIM\_\#CUR\_ID\# - DEC\_TRIM\_\#CUR\_ID\# - GET\_TRIM\_\#CUR\_ID\# - TT\_TRIM\_\#CUR\_ID\# - Case: AILERON Parameters set: - INC\_TRIM\_\#CUR\_ID\# - DEC\_TRIM\_\#CUR\_ID\# - GET\_TRIM\_\#CUR\_ID\# - TT\_TRIM\_\#CUR\_ID\# - Case: ELEVATOR Parameters set: - INC\_TRIM\_\#CUR\_ID\# - DEC\_TRIM\_\#CUR\_ID\# - GET\_TRIM\_\#CUR\_ID\# - TT\_TRIM\_\#CUR\_ID\# - TT\_VALUE\_3 - TT\_VALUE\_2 - Case: LONGITUDINAL Parameters set: - INC\_TRIM\_\#CUR\_ID\# - DEC\_TRIM\_\#CUR\_ID\# - GET\_TRIM\_\#CUR\_ID\# - TT\_TRIM\_\#CUR\_ID\# - FORMAT\_VALUE - Case: LATERAL Parameters set: - INC\_TRIM\_\#CUR\_ID\# - DEC\_TRIM\_\#CUR\_ID\# - GET\_TRIM\_\#CUR\_ID\# - TT\_TRIM\_\#CUR\_ID\# - FORMAT\_VALUE Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - THRESHOLD\_X\_INPUT - THRESHOLD\_X\_MOUSE - THRESHOLD\_Y\_INPUT - THRESHOLD\_Y\_MOUSE - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID - FORMAT\_VALUE - TT\_VALUE\_IS\_DYNAMIC - STATE\_VAR (using TRIM\_TYPE\_0, TRIM\_TYPE\_1)   Templates used: - [ASOBO\_HANDLING\_Axis\_Event\_Base\_Template](../handling/#ASOBO_HANDLING_Axis_Event_Base_Template) Parameters set: - IE\_NAME (using TRIM\_TYPE\_0) - AXIS - LEFT\_CODE\_EXTERNAL (using STATE\_VAR) - IE\_STANDBY\_CODE (using STATE\_VAR) - RIGHT\_CODE\_EXTERNAL (using STATE\_VAR) - TT\_VALUE (using GET\_TRIM\_0, FORMAT\_VALUE) - TT\_DESCRIPTION\_ID (using TT\_TRIM\_0) - [ASOBO\_HANDLING\_Axis\_Event\_Base\_Template](../handling/#ASOBO_HANDLING_Axis_Event_Base_Template) Parameters set: - IE\_NAME (using TRIM\_TYPE\_1) - AXIS - LEFT\_CODE\_EXTERNAL (using STATE\_VAR) - IE\_STANDBY\_CODE (using STATE\_VAR) - RIGHT\_CODE\_EXTERNAL (using STATE\_VAR) - TT\_VALUE (using GET\_TRIM\_1, FORMAT\_VALUE) - TT\_DESCRIPTION\_ID (using TT\_TRIM\_1) - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Parameters set: - IE\_NAME (using TRIM\_TYPE\_0, TRIM\_TYPE\_1) - JOYSTICK\_TYPE - JOYSTICK\_INTERACTION\_TYPE - CREATE\_COMPONENT - IE\_ID\_EXTERNAL\_0 (using TRIM\_TYPE\_0) - IE\_ID\_EXTERNAL\_1 (using TRIM\_TYPE\_1) - ON\_POS\_LEFT (using DEC\_TRIM\_0) - ON\_POS\_RIGHT (using INC\_TRIM\_0) - ON\_POS\_DOWN (using DEC\_TRIM\_1) - ON\_POS\_UP (using INC\_TRIM\_1) - GET\_STATE\_EXTERNAL (using STATE\_VAR) - VAR\_TO\_WATCH\_0 (using STATE\_VAR) - VAR\_TO\_WATCH\_0\_SCOPE - FREQUENCY (using TRIM\_UPDATE\_FREQUENCY) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_AP\_Trim\_Disc\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_AP\_Trim\_Disc\_SubTemplate"> <Parameters Type="Default"> <TYPE>RudderAileron</TYPE> <SET\_TRIM\_ELEVATOR/> <SET\_TRIM\_RUDDER/> <SET\_TRIM\_AILERON/> <SET\_TRIM\_ELECTRICAL/> <GET\_TRIM/> <ELECTRICAL\_POWER\_VAR\_NAME>XMLVAR\_Electrical\_Trim\_Disabled</ELECTRICAL\_POWER\_VAR\_NAME> <ELECTRICAL\_POWER\_VAR\_TYPE>L</ELECTRICAL\_POWER\_VAR\_TYPE> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="RudderAileron"> <SET\_TRIM\_RUDDER>l0 (>K:RUDDER\_TRIM\_DISABLED\_SET)</SET\_TRIM\_RUDDER> <SET\_TRIM\_AILERON>l0 (>K:AILERON\_TRIM\_DISABLED\_SET)</SET\_TRIM\_AILERON> <GET\_TRIM>(A:RUDDER TRIM DISABLED, Bool) (A:ELEVATOR TRIM DISABLED, Bool) and</GET\_TRIM> </Case> <Case Value="Elevator"> <SET\_TRIM\_ELEVATOR>l0 (>K:ELEVATOR\_TRIM\_DISABLED\_SET)</SET\_TRIM\_ELEVATOR> <GET\_TRIM>(A:ELEVATOR TRIM DISABLED, Bool)</GET\_TRIM> </Case> <Case Value="Aileron"> <SET\_TRIM\_ELEVATOR>l0 (>K:AILERON\_TRIM\_DISABLED\_SET)</SET\_TRIM\_ELEVATOR> <GET\_TRIM>(A:AILERON TRIM DISABLED, Bool)</GET\_TRIM> </Case> <Case Value="Electrical"> <SET\_TRIM\_ELECTRICAL>l0 (>\#ELECTRICAL\_POWER\_VAR\_TYPE\#:\#ELECTRICAL\_POWER\_VAR\_NAME\#)</SET\_TRIM\_ELECTRICAL> <GET\_TRIM>(\#ELECTRICAL\_POWER\_VAR\_TYPE\#:\#ELECTRICAL\_POWER\_VAR\_NAME\#)</GET\_TRIM> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Condition Valid="USE\_AP\_STATE\_FOR\_TT\_VALUE\_STATE"> <True> <TT\_VALUE\_STATE>(A:AUTOPILOT MASTER, bool) !</TT\_VALUE\_STATE> </True> <False> <TT\_VALUE\_STATE>\#GET\_TRIM\#</TT\_VALUE\_STATE> </False> </Condition> </Parameters> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_AP\_Trim\_Disc\_\#ID\#</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_AP\_Trim\_Disc\_\#ID\#</ANIM\_NAME> <SET\_TRIM>sp0 \#SET\_TRIM\_ELEVATOR\# \#SET\_TRIM\_RUDDER\# \#SET\_TRIM\_AILERON\# \#SET\_TRIM\_ELECTRICAL\#</SET\_TRIM> <Switch Param="INTERACTION\_TYPE"> <Case Value="PUSH"> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> <TT\_VALUE>\#TT\_VALUE\_STATE\# if{ (R:1:@TT\_Package.GT\_STATE\_DISCONNECTED) } els{ (R:1:@TT\_Package.GT\_STATE\_CONNECTED) }</TT\_VALUE> <TT\_VALUE\_IS\_DYNAMIC>True</TT\_VALUE\_IS\_DYNAMIC> </Case> <Case Value="SWITCH"> <WWISE\_EVENT\_1>yoke\_push\_button\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>yoke\_push\_button\_off</WWISE\_EVENT\_2> </Case> </Switch> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Parameters Type="Default"> <ANIM\_VAR>\_ButtonDown</ANIM\_VAR> <ANIM\_VAR\_TYPE>O</ANIM\_VAR\_TYPE> <TT\_DESCRIPTION\_ID\_PUSH>@TT\_Package.YOKE\_PUSH\_AP\_TRIM\_DISC\_ACTION</TT\_DESCRIPTION\_ID\_PUSH> <TOOLTIP\_TITLE\_PUSH>@TT\_Package.YOKE\_PUSH\_AP\_TRIM\_DISC\_TITLE</TOOLTIP\_TITLE\_PUSH> <TRIM\_DISC\_IE\_NAME>Trim\_Disconnect</TRIM\_DISC\_IE\_NAME> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="PUSH"> <Switch Param="VARIATION"> <Case Value="TOGGLE\_ON\_PUSH"> <PUSH\_EVENT> \#GET\_TRIM\# if{ 0 \#SET\_TRIM\# } els{ 1 \#SET\_TRIM\# 1 (>K:AUTOPILOT\_OFF) (>H:Generic\_Autopilot\_Disc) } 100 (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#) </PUSH\_EVENT> <RELEASE\_EVENT>0 (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</RELEASE\_EVENT> </Case> <Default> <PUSH\_EVENT>1 \#SET\_TRIM\# 1 (>K:AUTOPILOT\_OFF) (>H:Generic\_Autopilot\_Disc) 100 (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</PUSH\_EVENT> <RELEASE\_EVENT>0 \#SET\_TRIM\# 0 (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</RELEASE\_EVENT> </Default> </Switch> </Case> </Switch> <BTN\_ID>\#TRIM\_DISC\_IE\_NAME\#</BTN\_ID> <TOOLTIP\_TITLE>\#TOOLTIP\_TITLE\_PUSH\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_\#TRIM\_DISC\_IE\_NAME\#</TOOLTIP\_ENTRY\_0> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_PUSH\#</TT\_DESCRIPTION\_ID> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="PUSH"> <UseInputEvent ID="HANDLING"> <BINDING\_DEC\_0>Release</BINDING\_DEC\_0> <BINDING\_DEC\_0\_PARAM\_0>0</BINDING\_DEC\_0\_PARAM\_0> <SET\_STATE\_EXTERNAL>if{ \#PUSH\_EVENT\# } els{ \#RELEASE\_EVENT\# }</SET\_STATE\_EXTERNAL> <BINDING\_INC\_0>Push</BINDING\_INC\_0> <BINDING\_INC\_0\_PARAM\_0>1</BINDING\_INC\_0\_PARAM\_0> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Held"> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Push)</LEFT\_SINGLE\_CODE> <LEFT\_LEAVE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Release)</LEFT\_LEAVE\_CODE> <OVERRIDE\_ANIM\_CODE>(\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</OVERRIDE\_ANIM\_CODE> </UseTemplate> </Case> <Case Value="SWITCH"> <UseInputEvent ID="HANDLING"> <GET\_STATE\_EXTERNAL>\#GET\_TRIM\# sp0</GET\_STATE\_EXTERNAL> <SET\_STATE\_ON>1 \#SET\_TRIM\#</SET\_STATE\_ON> <SET\_STATE\_OFF>0 \#SET\_TRIM\#</SET\_STATE\_OFF> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> <ANIM\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) 100 \*</ANIM\_CODE> </UseTemplate> </Case> </Switch> </Component> </Template> Parameters initialization: - Default Parameters set: - TYPE - SET\_TRIM\_ELEVATOR - SET\_TRIM\_RUDDER - SET\_TRIM\_AILERON - SET\_TRIM\_ELECTRICAL - GET\_TRIM - ELECTRICAL\_POWER\_VAR\_NAME - ELECTRICAL\_POWER\_VAR\_TYPE - Override Condition: Switch(TYPE) - Case: RudderAileron Parameters set: - SET\_TRIM\_RUDDER - SET\_TRIM\_AILERON - GET\_TRIM - Case: Elevator Parameters set: - SET\_TRIM\_ELEVATOR - GET\_TRIM - Case: Aileron Parameters set: - SET\_TRIM\_ELEVATOR - GET\_TRIM - Case: Electrical Parameters set: - SET\_TRIM\_ELECTRICAL (using ELECTRICAL\_POWER\_VAR\_TYPE, ELECTRICAL\_POWER\_VAR\_NAME) - GET\_TRIM (using ELECTRICAL\_POWER\_VAR\_TYPE, ELECTRICAL\_POWER\_VAR\_NAME) - Default Condition: Valid(USE\_AP\_STATE\_FOR\_TT\_VALUE\_STATE) - Case: True Parameters set: - TT\_VALUE\_STATE - Case: False Parameters set: - TT\_VALUE\_STATE (using GET\_TRIM) - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE, ID) - ANIM\_NAME (using INTERACTION\_TYPE, ID) - SET\_TRIM (using SET\_TRIM\_ELEVATOR, SET\_TRIM\_RUDDER, SET\_TRIM\_AILERON, SET\_TRIM\_ELECTRICAL) Condition: Switch(INTERACTION\_TYPE) - Case: PUSH Parameters set: - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - TT\_VALUE (using TT\_VALUE\_STATE) - TT\_VALUE\_IS\_DYNAMIC - Case: SWITCH Parameters set: - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - ANIM\_VAR - ANIM\_VAR\_TYPE - TT\_DESCRIPTION\_ID\_PUSH - TOOLTIP\_TITLE\_PUSH - TRIM\_DISC\_IE\_NAME - BTN\_ID (using TRIM\_DISC\_IE\_NAME) - TOOLTIP\_TITLE (using TOOLTIP\_TITLE\_PUSH) - TOOLTIP\_ENTRY\_0 (using TRIM\_DISC\_IE\_NAME) - TT\_DESCRIPTION\_ID (using TT\_DESCRIPTION\_ID\_PUSH) Condition: Switch(INTERACTION\_TYPE) - Case: PUSH Condition: Switch(VARIATION) - Case: TOGGLE\_ON\_PUSH Parameters set: - PUSH\_EVENT (using GET\_TRIM, SET\_TRIM, ANIM\_VAR\_TYPE, ANIM\_VAR) - RELEASE\_EVENT (using ANIM\_VAR\_TYPE, ANIM\_VAR) - Default case: Parameters set: - PUSH\_EVENT (using SET\_TRIM, ANIM\_VAR\_TYPE, ANIM\_VAR) - RELEASE\_EVENT (using SET\_TRIM, ANIM\_VAR\_TYPE, ANIM\_VAR) Condition: Switch(INTERACTION\_TYPE) - Case: PUSH Parameters set: - BINDING\_DEC\_0 - BINDING\_DEC\_0\_PARAM\_0 - SET\_STATE\_EXTERNAL (using PUSH\_EVENT, RELEASE\_EVENT) - BINDING\_INC\_0 - BINDING\_INC\_0\_PARAM\_0 - ANIM   Templates used: - [ASOBO\_GT\_Push\_Button\_Held](../../generic/complex/pushbutton/#ASOBO_GT_Push_Button_Held) Parameters set: - LEFT\_SINGLE\_CODE (using BTN\_ID) - LEFT\_LEAVE\_CODE (using BTN\_ID) - OVERRIDE\_ANIM\_CODE (using ANIM\_VAR\_TYPE, ANIM\_VAR) - Case: SWITCH Parameters set: - GET\_STATE\_EXTERNAL (using GET\_TRIM) - SET\_STATE\_ON (using SET\_TRIM) - SET\_STATE\_OFF (using SET\_TRIM) - SIM\_STATE\_IS\_ON\_EXTERNAL - ANIM   Templates used: - [ASOBO\_GT\_Switch\_Code](../../generic/complex/switch/#ASOBO_GT_Switch_Code) Parameters set: - LEFT\_SINGLE\_CODE (using BTN\_ID) - ANIM\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template Definition from XML <Template Name="ASOBO\_HANDLING\_Trim\_Variable\_Speed\_Base\_Template"> <Parameters Type="Default"> <Switch Param="TRIM\_TYPE"> <Case Value="Elevator"> <GET\_TRIM>(A:ELEVATOR TRIM PCT, percent)</GET\_TRIM> <SET\_TRIM>(>K:ELEVATOR\_TRIM\_SET)</SET\_TRIM> <ELEVATOR\_TRIM\_ID>1</ELEVATOR\_TRIM\_ID> </Case> <Case Value="Rudder"> <GET\_TRIM>(A:RUDDER TRIM PCT, Percent)</GET\_TRIM> <SET\_TRIM>(>K:RUDDER\_TRIM\_SET\_EX1)</SET\_TRIM> <RUDDER\_TRIM\_ID>1</RUDDER\_TRIM\_ID> </Case> <Case Value="Ailerons"> <GET\_TRIM>(A:AILERON TRIM PCT, percent)</GET\_TRIM> <SET\_TRIM>(>K:AILERON\_TRIM\_SET\_EX1)</SET\_TRIM> <TRIM\_LIMIT>10</TRIM\_LIMIT> <AILERONS\_TRIM\_ID>1</AILERONS\_TRIM\_ID> </Case> </Switch> <UPDATE\_FREQ>10</UPDATE\_FREQ> <UPDATE\_COUNT\_BEFORE\_FAST\_MODE>40</UPDATE\_COUNT\_BEFORE\_FAST\_MODE> <UPDATE\_COUNT\_BEFORE\_REPEAT>5</UPDATE\_COUNT\_BEFORE\_REPEAT> <MOMENTARY\_MIN\_DURATION>0.1</MOMENTARY\_MIN\_DURATION> <TRIM\_LIMIT>10</TRIM\_LIMIT> <NORMAL\_INC\_DEGREES>0.1</NORMAL\_INC\_DEGREES> <FAST\_MODE\_SCALE>3</FAST\_MODE\_SCALE> <SCALE\_INCREMENT>163.83 \* 16383 min -16383 max</SCALE\_INCREMENT> <Condition Valid="LOCK\_NODE\_ID"> <VAR\_NAME\_TRIM\_LOCK\_UNLOCKED>XMLVAR\_\#TRIM\_NAME\#\#ID\#\_Unlocked</VAR\_NAME\_TRIM\_LOCK\_UNLOCKED> <VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED>I</VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED> </Condition> <Condition Check="SECONDARY"> <True> <ADDITIONAL\_TESTS>(B:HANDLING\_Secondary\_\#TRIM\_NAME\#\_Available, Bool) and</ADDITIONAL\_TESTS> </True> <False> <ADDITIONAL\_TESTS/> </False> </Condition> <SWITCH\_DIRECTION>Horizontal</SWITCH\_DIRECTION> <COUNT>2</COUNT> <ELECTRICAL\_POWER>False</ELECTRICAL\_POWER> <ELECTRICAL\_POWER\_VAR\_NAME>XMLVAR\_Electrical\_Trim\_Disabled</ELECTRICAL\_POWER\_VAR\_NAME> <ELECTRICAL\_POWER\_VAR\_TYPE>L</ELECTRICAL\_POWER\_VAR\_TYPE> </Parameters> <Parameters Type="Override"> <Condition Valid="ELECTRICAL\_POWER"> <True> <ADDITIONAL\_TESTS>\#ADDITIONAL\_TESTS\# (\#ELECTRICAL\_POWER\_VAR\_TYPE\#:\#ELECTRICAL\_POWER\_VAR\_NAME\#) ! and</ADDITIONAL\_TESTS> </True> </Condition> </Parameters> <Parameters Type="Override"> <NORMAL\_MODE\_PERCENT\_PER\_UPDATE process="Float">\#NORMAL\_INC\_DEGREES\# \#TRIM\_LIMIT\# / 100 \*</NORMAL\_MODE\_PERCENT\_PER\_UPDATE> <FAST\_MODE\_PERCENT\_PER\_UPDATE process="Float">\#NORMAL\_INC\_DEGREES\# \#TRIM\_LIMIT\# / \#FAST\_MODE\_SCALE\# \* 100 \*</FAST\_MODE\_PERCENT\_PER\_UPDATE> <STATE0\_TEST>(O:\_TrimDelta) 0 ></STATE0\_TEST> <STATE1\_TEST>(O:\_TrimDelta) 0 ==</STATE1\_TEST> <STATE2\_TEST>(O:\_TrimDelta) 0 <</STATE2\_TEST> <Condition Valid="LOCK\_NODE\_ID"> <True> <CODE\_POS\_0\_VERIF>(\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#)</CODE\_POS\_0\_VERIF> <CODE\_POS\_2\_VERIF>(\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#)</CODE\_POS\_2\_VERIF> </True> </Condition> </Parameters> <Condition Valid="LOCK\_NODE\_ID"> <True> <Component ID="\#LOCK\_NODE\_ID\#" Node="\#LOCK\_NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <ANIM\_NAME>\#LOCK\_ANIM\_NAME\#</ANIM\_NAME> <LEFT\_SINGLE\_CODE> (\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#) ! (>\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#) </LEFT\_SINGLE\_CODE> <ANIM\_CODE> (\#VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED\#:\#VAR\_NAME\_TRIM\_LOCK\_UNLOCKED\#) 100 \* </ANIM\_CODE> </UseTemplate> </Component> </True> </Condition> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Parameters Type="Override"> <INC\_STATE>0</INC\_STATE> <DEC\_STATE>2</DEC\_STATE> <CODE\_POS\_0> 1 (>O:\_TrimDelta) 1 \#ADDITIONAL\_TESTS\# if{ \#GET\_TRIM\# \#NORMAL\_MODE\_PERCENT\_PER\_UPDATE\# - \#SCALE\_INCREMENT\# \#SET\_TRIM\# } </CODE\_POS\_0> <CODE\_POS\_1> 0 (>O:\_TrimDelta) 0 (>O:\_UPDATE\_Count) </CODE\_POS\_1> <CODE\_POS\_2> -1 (>O:\_TrimDelta) 1 \#ADDITIONAL\_TESTS\# if{ \#GET\_TRIM\# \#NORMAL\_MODE\_PERCENT\_PER\_UPDATE\# + \#SCALE\_INCREMENT\# \#SET\_TRIM\# } </CODE\_POS\_2> <STATE\_MAX\_TIMER>\#MOMENTARY\_MIN\_DURATION\#</STATE\_MAX\_TIMER> <STATE0\_TIMER>\#MOMENTARY\_MIN\_DURATION\#</STATE0\_TIMER> </Parameters> <UseInputEvent ID="HANDLING"/> <UseTemplate Name="ASOBO\_GT\_Update"> <FREQUENCY>\#UPDATE\_FREQ\#</FREQUENCY> <UPDATE\_CODE> (O:\_TrimDelta) 0 != \#ADDITIONAL\_TESTS\# if{ (O:\_UPDATE\_Count) \#UPDATE\_COUNT\_BEFORE\_FAST\_MODE\# >= if{ (O:\_TrimDelta) 0 > if{ \#GET\_TRIM\# \#FAST\_MODE\_PERCENT\_PER\_UPDATE\# - \#SCALE\_INCREMENT\# \#SET\_TRIM\# } els{ \#GET\_TRIM\# \#FAST\_MODE\_PERCENT\_PER\_UPDATE\# + \#SCALE\_INCREMENT\# \#SET\_TRIM\# } } els{ (O:\_UPDATE\_Count) \#UPDATE\_COUNT\_BEFORE\_REPEAT\# >= if{ (O:\_TrimDelta) 0 > if{ \#GET\_TRIM\# \#NORMAL\_MODE\_PERCENT\_PER\_UPDATE\# - \#SCALE\_INCREMENT\# \#SET\_TRIM\# } els{ \#GET\_TRIM\# \#NORMAL\_MODE\_PERCENT\_PER\_UPDATE\# + \#SCALE\_INCREMENT\# \#SET\_TRIM\# } } (O:\_UPDATE\_Count) 1 + (>O:\_UPDATE\_Count) } } </UPDATE\_CODE> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Switch\_3States"> <MOMENTARY\_SWITCH/> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - UPDATE\_FREQ - UPDATE\_COUNT\_BEFORE\_FAST\_MODE - UPDATE\_COUNT\_BEFORE\_REPEAT - MOMENTARY\_MIN\_DURATION - TRIM\_LIMIT - NORMAL\_INC\_DEGREES - FAST\_MODE\_SCALE - SCALE\_INCREMENT - SWITCH\_DIRECTION - COUNT - ELECTRICAL\_POWER - ELECTRICAL\_POWER\_VAR\_NAME - ELECTRICAL\_POWER\_VAR\_TYPE Condition: Switch(TRIM\_TYPE) - Case: Elevator Parameters set: - GET\_TRIM - SET\_TRIM - ELEVATOR\_TRIM\_ID - Case: Rudder Parameters set: - GET\_TRIM - SET\_TRIM - RUDDER\_TRIM\_ID - Case: Ailerons Parameters set: - GET\_TRIM - SET\_TRIM - TRIM\_LIMIT - AILERONS\_TRIM\_ID Condition: Valid(LOCK\_NODE\_ID) - Case: True Parameters set: - VAR\_NAME\_TRIM\_LOCK\_UNLOCKED (using TRIM\_NAME, ID) - VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED Condition: Check(SECONDARY) - Case: True Parameters set: - ADDITIONAL\_TESTS (using TRIM\_NAME) - Case: False Parameters set: - ADDITIONAL\_TESTS - Override Condition: Valid(ELECTRICAL\_POWER) - Case: True Parameters set: - ADDITIONAL\_TESTS (using ADDITIONAL\_TESTS, ELECTRICAL\_POWER\_VAR\_TYPE, ELECTRICAL\_POWER\_VAR\_NAME) - Override Parameters set: - NORMAL\_MODE\_PERCENT\_PER\_UPDATE (using NORMAL\_INC\_DEGREES, TRIM\_LIMIT) - FAST\_MODE\_PERCENT\_PER\_UPDATE (using NORMAL\_INC\_DEGREES, TRIM\_LIMIT, FAST\_MODE\_SCALE) - STATE0\_TEST - STATE1\_TEST - STATE2\_TEST Condition: Valid(LOCK\_NODE\_ID) - Case: True Parameters set: - CODE\_POS\_0\_VERIF (using VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED, VAR\_NAME\_TRIM\_LOCK\_UNLOCKED) - CODE\_POS\_2\_VERIF (using VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED, VAR\_NAME\_TRIM\_LOCK\_UNLOCKED) Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - INC\_STATE - DEC\_STATE - CODE\_POS\_0 (using ADDITIONAL\_TESTS, GET\_TRIM, NORMAL\_MODE\_PERCENT\_PER\_UPDATE, SCALE\_INCREMENT, SET\_TRIM) - CODE\_POS\_1 - CODE\_POS\_2 (using ADDITIONAL\_TESTS, GET\_TRIM, NORMAL\_MODE\_PERCENT\_PER\_UPDATE, SCALE\_INCREMENT, SET\_TRIM) - STATE\_MAX\_TIMER (using MOMENTARY\_MIN\_DURATION) - STATE0\_TIMER (using MOMENTARY\_MIN\_DURATION)   Templates used: - [ASOBO\_GT\_Update](../../generic/updates/#ASOBO_GT_Update) Parameters set: - FREQUENCY (using UPDATE\_FREQ) - UPDATE\_CODE (using ADDITIONAL\_TESTS, UPDATE\_COUNT\_BEFORE\_FAST\_MODE, GET\_TRIM, FAST\_MODE\_PERCENT\_PER\_UPDATE, SCALE\_INCREMENT, SET\_TRIM, UPDATE\_COUNT\_BEFORE\_REPEAT, NORMAL\_MODE\_PERCENT\_PER\_UPDATE) - [ASOBO\_GT\_Switch\_3States](../../generic/complex/switch/#ASOBO_GT_Switch_3States) Parameters set: - MOMENTARY\_SWITCH Condition: Valid(LOCK\_NODE\_ID) - Case: True Parameters read: - LOCK\_NODE\_ID Components: - \#LOCK\_NODE\_ID\# (Node: \#LOCK\_NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Switch\_Code](../../generic/complex/switch/#ASOBO_GT_Switch_Code) Parameters set: - ANIM\_NAME (using LOCK\_ANIM\_NAME) - LEFT\_SINGLE\_CODE (using VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED, VAR\_NAME\_TRIM\_LOCK\_UNLOCKED) - ANIM\_CODE (using VAR\_SCOPE\_TRIM\_LOCK\_UNLOCKED, VAR\_NAME\_TRIM\_LOCK\_UNLOCKED) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Secondary\_Trim\_Available\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Secondary\_Trim\_Available\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Secondary\_\#TRIM\_NAME\#Trim\_Available</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Secondary\_\#TRIM\_NAME\#Trim\_Available</ANIM\_NAME> <COVER\_NODE\_ID>HANDLING\_Switch\_Secondary\_\#TRIM\_NAME\#Trim\_Available\_Cover</COVER\_NODE\_ID> <COVER\_ANIM\_NAME>HANDLING\_Switch\_Secondary\_\#TRIM\_NAME\#Trim\_Available\_Cover</COVER\_ANIM\_NAME> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Secondary\_\#TRIM\_NAME\#Trim\_Available</PART\_ID> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <COUNT>2</COUNT> <WWISE\_EVENT\_1>secondary\_trim\_switch\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>secondary\_trim\_switch\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> </Case> </Switch> <Switch Param="TRIM\_NAME"> <Case Value="Elevator"> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_PUSH\_ELEVATORTRIM\_SECONDARY\_ACTION\_SET</TT\_DESCRIPTION\_ID> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_PUSH\_ELEVATORTRIM\_SECONDARY\_TITLE</TOOLTIP\_TITLE> </Case> </Switch> </Parameters> <Parameters Type="Override"> <BTN\_ID>Secondary\_\#TRIM\_NAME\#Trim\_Available</BTN\_ID> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Airliner"> <INPUT\_EVENT\_ID>HANDLING</INPUT\_EVENT\_ID> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <SET\_STATE\_EXTERNAL>p0 (>O:XMLVAR\_\#BTN\_ID\#)</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(O:XMLVAR\_\#BTN\_ID\#) sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <SEQ1\_EMISSIVE\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool)</SEQ1\_EMISSIVE\_CODE> <SEQ2\_EMISSIVE\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) !</SEQ2\_EMISSIVE\_CODE> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </UseTemplate> </Case> </Switch> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE, TRIM\_NAME) - ANIM\_NAME (using INTERACTION\_TYPE, TRIM\_NAME) - COVER\_NODE\_ID (using TRIM\_NAME) - COVER\_ANIM\_NAME (using TRIM\_NAME) - PART\_ID (using INTERACTION\_TYPE, TRIM\_NAME) Condition: Switch(INTERACTION\_TYPE) - Case: Push Parameters set: - COUNT - WWISE\_EVENT\_1 - NORMALIZED\_TIME\_1 - WWISE\_EVENT\_2 - NORMALIZED\_TIME\_2 Condition: Switch(TRIM\_NAME) - Case: Elevator Parameters set: - TT\_DESCRIPTION\_ID - TOOLTIP\_TITLE - Override Parameters set: - BTN\_ID (using TRIM\_NAME) Condition: Switch(INTERACTION\_TYPE) - Case: Push   Templates used: - [ASOBO\_GT\_Push\_Button\_Airliner](../../generic/complex/pushbutton/#ASOBO_GT_Push_Button_Airliner) Parameters set: - INPUT\_EVENT\_ID - TOOLTIP\_ENTRY\_0 (using BTN\_ID) - SET\_STATE\_EXTERNAL (using BTN\_ID) - GET\_STATE\_EXTERNAL (using BTN\_ID) - SIM\_STATE\_IS\_ON\_EXTERNAL - SEQ1\_EMISSIVE\_CODE (using BTN\_ID) - SEQ2\_EMISSIVE\_CODE (using BTN\_ID) - LEFT\_SINGLE\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Spoilers\_Int\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Spoilers\_Int\_SubTemplate"> <Parameters Type="Default"> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Spoilers</ANIM\_NAME> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Spoilers</NODE\_ID> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Spoilers</PART\_ID> <WWISE\_PREFIX>spoilers</WWISE\_PREFIX> <RETRACT\_ARMED\_FULL>False</RETRACT\_ARMED\_FULL> <POS\_DOWN>1</POS\_DOWN> <POS\_ARM>0</POS\_ARM> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <DRAG\_AXIS\_SCALE>100</DRAG\_AXIS\_SCALE> <DRAG\_SPEED>30</DRAG\_SPEED> <Condition Valid="USE\_LOCK"> <TT\_ICON\_LOCK>MOVE\_Y</TT\_ICON\_LOCK> <WWISE\_EVENT\_LOCK\_1>lever\_spoiler\_lock\_on</WWISE\_EVENT\_LOCK\_1> <WWISE\_EVENT\_LOCK\_2>lever\_spoiler\_lock\_off</WWISE\_EVENT\_LOCK\_2> <LOCK\_NODE\_ID>HANDLING\_Lever\_Spoilers\_Lock</LOCK\_NODE\_ID> <LOCK\_ANIM\_NAME>HANDLING\_Lever\_Spoilers\_Lock</LOCK\_ANIM\_NAME> <LOCK\_VAR\_SCOPE>I</LOCK\_VAR\_SCOPE> <LOCK\_VAR\_NAME>XMLVAR\_LeverSpoilerLocked</LOCK\_VAR\_NAME> <TOOLTIP\_SPOILERS\_LOCK\_TITLE>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_LOCK\_TITLE</TOOLTIP\_SPOILERS\_LOCK\_TITLE> <TT\_DESCRIPTION\_ID\_SPOILERS\_LOCK>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_LOCK\_ACTION</TT\_DESCRIPTION\_ID\_SPOILERS\_LOCK> </Condition> <Switch Param="TYPE"> <Case Value="AIRLINER"> <Condition Valid="PHYSICAL\_AUTOSPOILER"> <True> <ARMED\_STATE\_TEST>(A:SPOILERS ARMED, Bool) (A:SPOILERS HANDLE POSITION, Percent over 100) 0 == and</ARMED\_STATE\_TEST> </True> <False> <ARMED\_STATE\_TEST>(A:SPOILERS ARMED, Bool)</ARMED\_STATE\_TEST> </False> </Condition> <ANIM\_TRIGGER\_COUNT>3</ANIM\_TRIGGER\_COUNT> <STEPS\_NUMBER>3</STEPS\_NUMBER> <USE\_GATES>True</USE\_GATES> <ANIM\_LENGTH>100</ANIM\_LENGTH> </Case> </Switch> <WWISE\_EVENT>lever\_speedbrakes</WWISE\_EVENT> <MIN\_VALUE>0</MIN\_VALUE> <MAX\_VALUE>@16k</MAX\_VALUE> <LEVER\_ANIM\_LAG>100</LEVER\_ANIM\_LAG> </Case> <Case Value="Switch"> <TIME\_TO\_FULL\_RANGE\_SEC>2</TIME\_TO\_FULL\_RANGE\_SEC> <REPEAT\_FREQUENCY>10</REPEAT\_FREQUENCY> <MOMENTARY\_TIMER>0.1</MOMENTARY\_TIMER> <POS\_DEC>0</POS\_DEC> <POS\_STANDBY>1</POS\_STANDBY> <POS\_INC>2</POS\_INC> <ADDITIONAL\_TESTS/> <Switch Param="PUSH\_TYPE"> <Case Value="EXTEND\_FULL"> <ANIM\_NAME\_PUSH>HANDLING\_\#INTERACTION\_TYPE\#\_Spoilers\_Push</ANIM\_NAME\_PUSH> <INVERT\_ANIM\_PUSH>False</INVERT\_ANIM\_PUSH> </Case> </Switch> </Case> </Switch> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_ACTION</TT\_DESCRIPTION\_ID> <TT\_DESCRIPTION\_ID\_EXTEND>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_ACTION\_EXTEND</TT\_DESCRIPTION\_ID\_EXTEND> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_LEVER\_SPOILERS\_TITLE</TOOLTIP\_TITLE> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Switch"> <INCREMENT Process="Int">16384 \#TIME\_TO\_FULL\_RANGE\_SEC\# / \#REPEAT\_FREQUENCY\# /</INCREMENT> <MOMENTARY\_SWITCH/> <STATE0\_TIMER>\#MOMENTARY\_TIMER\#</STATE0\_TIMER> <STATE\_MAX\_TIMER>\#MOMENTARY\_TIMER\#</STATE\_MAX\_TIMER> <STATE\_STANDBY>0</STATE\_STANDBY> <STATE\_INC>1</STATE\_INC> <STATE\_DEC>2</STATE\_DEC> <Switch Param="PUSH\_TYPE"> <Case Value="EXTEND\_FULL"> <ADDITIONAL\_TESTS>\#ADDITIONAL\_TESTS\# (B:HANDLING\_Spoilers\_Extend, Bool) ! and</ADDITIONAL\_TESTS> </Case> </Switch> </Case> </Switch> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <Condition Valid="USE\_GATES"> <Condition Valid="RETRACT\_ARMED\_FULL"> <True> <UseTemplate Name="ASOBO\_HANDLING\_Push\_Event\_Base\_Template"> <IE\_NAME>Spoilers\_Arm</IE\_NAME> <SET\_STATE\_EXTERNAL>p0 ! (A:SPOILERS HANDLE POSITION, position 16k) 0 == and (>K:SPOILERS\_ARM\_SET)</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:SPOILERS HANDLE POSITION, position 16k) 0 > if{ 0 (>K:SPOILERS\_ARM\_SET) } (A:SPOILERS ARMED, Bool) sp0 </GET\_STATE\_EXTERNAL> <STR\_STATE\_ON>Armed</STR\_STATE\_ON> <STR\_STATE\_OFF>Standby</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_ARMED)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_STANDBY)</TT\_VALUE\_OFF> <SIMVAR\_TO\_WATCH\_0>SPOILERS ARMED</SIMVAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_1>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_1> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_HANDLING\_Push\_Event\_Base\_Template"> <IE\_NAME>Spoilers\_Arm</IE\_NAME> <SET\_STATE\_EXTERNAL>p0 (A:SPOILERS HANDLE POSITION, position 16k) 0 == and (>K:SPOILERS\_ARM\_SET)</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:SPOILERS HANDLE POSITION, position 16k) 0 > if{ 0 (>K:SPOILERS\_ARM\_SET) } (A:SPOILERS ARMED, Bool) sp0 </GET\_STATE\_EXTERNAL> <STR\_STATE\_ON>Armed</STR\_STATE\_ON> <STR\_STATE\_OFF>Standby</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_ARMED)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_STANDBY)</TT\_VALUE\_OFF> <SIMVAR\_TO\_WATCH\_0>SPOILERS ARMED</SIMVAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_1>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_1> </UseTemplate> </False> </Condition> </Condition> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>Spoilers</IE\_NAME> <GATE\_DIRECTION>0</GATE\_DIRECTION> <DONT\_SYNC\_DRAG\_TO\_ANIM>True</DONT\_SYNC\_DRAG\_TO\_ANIM> <DRAG\_ANIM\_NAME>\#ANIM\_NAME\#</DRAG\_ANIM\_NAME> <DRAG\_NODE\_ID>\#NODE\_ID\#</DRAG\_NODE\_ID> <GET\_TT\_VALUE\_STATE>(A:SPOILERS ARMED, Bool) sp0 (A:SPOILERS HANDLE POSITION, Percent) sp1</GET\_TT\_VALUE\_STATE> <FORMAT\_VALUE>l0 if{ (R:1:@TT\_Package.GT\_STATE\_ARMED) } els{ l1 '%.1f%%' @sprintf }</FORMAT\_VALUE> <SIMVAR\_TO\_WATCH\_0>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_0> <GET\_STATE\_EXTERNAL>(A:SPOILERS HANDLE POSITION, position 16k)</GET\_STATE\_EXTERNAL> <SET\_STATE\_EXTERNAL>(>K:SPOILERS\_SET)</SET\_STATE\_EXTERNAL> <Condition Valid="USE\_LOCK"> <ON\_BEFORE\_SET\_CODE>(B:HANDLING\_Spoilers\_Lock, Bool) if{ quit } </ON\_BEFORE\_SET\_CODE> </Condition> <STATE\_TO\_POS\_EXTERNAL>@16k / 100 \*</STATE\_TO\_POS\_EXTERNAL> <INC\_PARAM\_0 Process="Int">@16k 10 /</INC\_PARAM\_0> <DEC\_PARAM\_0 Process="Int">@16k 10 /</DEC\_PARAM\_0> <Condition Valid="USE\_GATES"> <True> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Lever\_DraggingYAxis\_Gates</TEMPLATE\_TO\_USE> <DRAG\_CODE> (O:Position) 1 < s0 (>B:HANDLING\_Spoilers\_Arm\_Set) 0 (O:Position) 1 - \#STEPS\_NUMBER\# 1 - / @16k \* l0 ? (>B:HANDLING\_Spoilers\_Set) </DRAG\_CODE> <Condition Valid="RETRACT\_ARMED\_FULL"> <FORMAT\_VALUE>l0 if{ (R:1:@TT\_Package.GT\_STATE\_ARMED) } els{ l1 0 == if{ (R:1:@TT\_Package.GT\_STATE\_DOWN) } els{ l1 '%.1f%%' @sprintf } }</FORMAT\_VALUE> </Condition> <Condition NotEmpty="OVERRIDE\_ANIM\_CODE"> <False> <Condition Valid="RETRACT\_ARMED\_FULL"> <True> <OVERRIDE\_ANIM\_CODE>(A:SPOILERS ARMED, Bool) if{ \#POS\_ARM\# \#ANIM\_LENGTH\# \#STEPS\_NUMBER\# / \* } els{ (B:HANDLING\_Spoilers, percent over 100) s0 0 == if{ \#POS\_DOWN\# \#STEPS\_NUMBER\# / } els{ l0 \#STEPS\_NUMBER\# 1 - \#STEPS\_NUMBER\# / \* 1 \#STEPS\_NUMBER\# / + \#ANIM\_LENGTH\# \* } }</OVERRIDE\_ANIM\_CODE> </True> <False> <OVERRIDE\_ANIM\_CODE>(A:SPOILERS ARMED, Bool) if{ 0 } els{ (B:HANDLING\_Spoilers, percent over 100) \#STEPS\_NUMBER\# 1 - \#STEPS\_NUMBER\# / \* 1 \#STEPS\_NUMBER\# / + \#ANIM\_LENGTH\# \* }</OVERRIDE\_ANIM\_CODE> </False> </Condition> </False> </Condition> <ON\_AFTER\_INIT\_CODE> 0 (A:SPOILERS HANDLE POSITION, percent over 100) \#STEPS\_NUMBER\# 1 - \* 1 + (A:SPOILERS ARMED, Bool) ? (>O:Position)</ON\_AFTER\_INIT\_CODE> </True> <False> <GET\_TT\_VALUE\_STATE>(A:SPOILERS HANDLE POSITION, Percent)</GET\_TT\_VALUE\_STATE> <DRAG\_VALUE\_TO\_EVENT\_SET>@16k \*</DRAG\_VALUE\_TO\_EVENT\_SET> <Condition Valid="USE\_LOCK"> <True> <FORMAT\_VALUE>sp0 (B:HANDLING\_Spoilers\_Lock, Bool) if{ (R:1:@TT\_Package.GT\_STATE\_LOCKED) } els{ l0 '%.1f%%' @sprintf }</FORMAT\_VALUE> </True> <False> <FORMAT\_VALUE>'%.1f%%' @sprintf</FORMAT\_VALUE> </False> </Condition> </False> </Condition> <ANIM\_LAG>\#LEVER\_ANIM\_LAG\#</ANIM\_LAG> </UseTemplate> <Condition Valid="USE\_LOCK"> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <INTERACTION\_TYPE>Switch</INTERACTION\_TYPE> <TT\_ICON>\#TT\_ICON\_LOCK\#</TT\_ICON> <IE\_NAME>Spoilers\_Lock</IE\_NAME> <NODE\_ID>\#LOCK\_NODE\_ID\#</NODE\_ID> <ANIM\_NAME>\#LOCK\_ANIM\_NAME\#</ANIM\_NAME> <TOOLTIP\_TITLE>\#TOOLTIP\_SPOILERS\_LOCK\_TITLE\#</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_SPOILERS\_LOCK\#</TT\_DESCRIPTION\_ID> <WWISE\_EVENT\_1>\#WWISE\_EVENT\_LOCK\_1\#</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>\#WWISE\_EVENT\_LOCK\_2\#</WWISE\_EVENT\_2> <SIMVAR\_TO\_WATCH\_0>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_0> <SET\_STATE\_EXTERNAL>p0 (A:SPOILERS HANDLE POSITION, percent) 0 == and (>\#LOCK\_VAR\_SCOPE\#:\#LOCK\_VAR\_NAME\#)</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:SPOILERS HANDLE POSITION, percent) 0 > if{ 0 (>\#LOCK\_VAR\_SCOPE\#:\#LOCK\_VAR\_NAME\#) (\#LOCK\_VAR\_SCOPE\#:\#LOCK\_VAR\_NAME\#) sp0</GET\_STATE\_EXTERNAL> <COMP\_INIT\_CODE>(>B:HANDLING\_Spoilers\_Lock\_On)</COMP\_INIT\_CODE> <Condition Valid="INVERT\_LOCK\_ANIM"> <INVERT\_ANIM>\#INVERT\_LOCK\_ANIM\#</INVERT\_ANIM> </Condition> <CHECK\_STATE\_HAS\_CHANGED>True</CHECK\_STATE\_HAS\_CHANGED> </UseTemplate> </Condition> </Case> <Case Value="Switch"> <Switch Param="PUSH\_TYPE"> <Case Value="EXTEND\_FULL"> <UseTemplate Name="ASOBO\_HANDLING\_Push\_Event\_Base\_Template"> <IE\_NAME>Spoilers\_Extend</IE\_NAME> <SET\_STATE\_EXTERNAL>p0 (>O:XMLVAR\_Spoilers\_Extended) p0 \#ADDITIONAL\_TESTS\# if{ @16k (>K:SPOILERS\_SET) }</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(O:XMLVAR\_Spoilers\_Extended) s0 \#ADDITIONAL\_TESTS\# if{ (A:SPOILERS HANDLE POSITION, Position 16k) @16k != if{ @16k (>K:SPOILERS\_SET) } }</GET\_STATE\_EXTERNAL> <STR\_STATE\_ON>Extended</STR\_STATE\_ON> <STR\_STATE\_OFF>Standby</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_EXTENDED)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_STANDBY)</TT\_VALUE\_OFF> <TT\_DESCRIPTION\_ID>\#TT\_DESCRIPTION\_ID\_EXTEND\#</TT\_DESCRIPTION\_ID> <SIMVAR\_TO\_WATCH\_0>SPOILERS HANDLE POSITION</SIMVAR\_TO\_WATCH\_0> </UseTemplate> </Case> </Switch> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>Spoilers</IE\_NAME> <NUM\_STATES>3</NUM\_STATES> <COMP\_UPDATE\_CODE> (B:HANDLING\_Spoilers) \#POS\_STANDBY\# != \#ADDITIONAL\_TESTS\# if{ \#INCREMENT\# -\#INCREMENT\# (B:HANDLING\_Spoilers) \#POS\_INC\# == ? (A:SPOILERS HANDLE POSITION, Position 16k) + @16k min 0 max (>K:SPOILERS\_SET) } </COMP\_UPDATE\_CODE> <FREQUENCY>\#REPEAT\_FREQUENCY\#</FREQUENCY> <Switch Param="PUSH\_TYPE"> <Case Value="EXTEND\_FULL"> <IE\_ID\_EXTERNAL\_0>Spoilers\_Extend</IE\_ID\_EXTERNAL\_0> <ON\_PRIMARY\_EVENT>(B:HANDLING\_Spoilers) \#POS\_STANDBY\# == if{ (>B:HANDLING\_Spoilers\_Extend\_Toggle) }</ON\_PRIMARY\_EVENT> <ANIM\_CODE\_PUSH>(B:HANDLING\_Spoilers\_Extend, Bool) 100 \*</ANIM\_CODE\_PUSH> <OVERRIDE\_ANIM\_CODE>(B:HANDLING\_Spoilers) 100 \*</OVERRIDE\_ANIM\_CODE> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE>(O:HANDLING\_Spoilers\_Position) \#POS\_STANDBY\# != (B:HANDLING\_Spoilers\_Extend, Bool) and if{ \#POS\_STANDBY\# (>O:HANDLING\_Spoilers\_Position) }</ON\_STATE\_CHANGED\_EXTERNAL\_CODE> <WWISE\_PUSH\_EVENT\_1>spoilers\_switch\_push\_on</WWISE\_PUSH\_EVENT\_1> <WWISE\_PUSH\_EVENT\_2>spoilers\_switch\_push\_off</WWISE\_PUSH\_EVENT\_2> </Case> </Switch> <SET\_STATE\_\#POS\_INC\#>\#STATE\_INC\# (>O:XMLVAR\_Spoilers\_Switch\_Mode)</SET\_STATE\_\#POS\_INC\#> <SET\_STATE\_\#POS\_STANDBY\#>\#STATE\_STANDBY\# (>O:XMLVAR\_Spoilers\_Switch\_Mode)</SET\_STATE\_\#POS\_STANDBY\#> <SET\_STATE\_\#POS\_DEC\#>\#STATE\_DEC\# (>O:XMLVAR\_Spoilers\_Switch\_Mode)</SET\_STATE\_\#POS\_DEC\#> <TT\_VALUE>(A:SPOILERS HANDLE POSITION, percent) '%d%%' @sprintf</TT\_VALUE> <TT\_VALUE\_IS\_DYNAMIC>True</TT\_VALUE\_IS\_DYNAMIC> <STR\_STATE\_\#POS\_INC\#>Deploy</STR\_STATE\_\#POS\_INC\#> <STR\_STATE\_\#POS\_STANDBY\#>Standby</STR\_STATE\_\#POS\_STANDBY\#> <STR\_STATE\_\#POS\_DEC\#>Retract</STR\_STATE\_\#POS\_DEC\#> <GET\_STATE\_EXTERNAL>(O:XMLVAR\_Spoilers\_Switch\_Mode) sp0</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL>\#POS\_STANDBY\# sp1 l0 \#STATE\_STANDBY\# == if{ \#POS\_STANDBY\# sp1 g1 } l0 \#STATE\_INC\# == if{ \#POS\_INC\# sp1 g1 } l0 \#STATE\_DEC\# == if{ \#POS\_DEC\# sp1 g1 } :1 l1 </ENUM\_VAL\_TO\_POS\_EXTERNAL> </UseTemplate> </Case> </Switch> </Template> Parameters initialization: - Default Parameters set: - ANIM\_NAME (using INTERACTION\_TYPE) - NODE\_ID (using INTERACTION\_TYPE) - PART\_ID (using INTERACTION\_TYPE) - WWISE\_PREFIX - RETRACT\_ARMED\_FULL - POS\_DOWN - POS\_ARM - TT\_DESCRIPTION\_ID - TT\_DESCRIPTION\_ID\_EXTEND - TOOLTIP\_TITLE Condition: Switch(INTERACTION\_TYPE) - Case: Lever Parameters set: - DRAG\_AXIS\_SCALE - DRAG\_SPEED - WWISE\_EVENT - MIN\_VALUE - MAX\_VALUE - LEVER\_ANIM\_LAG Condition: Valid(USE\_LOCK) - Case: True Parameters set: - TT\_ICON\_LOCK - WWISE\_EVENT\_LOCK\_1 - WWISE\_EVENT\_LOCK\_2 - LOCK\_NODE\_ID - LOCK\_ANIM\_NAME - LOCK\_VAR\_SCOPE - LOCK\_VAR\_NAME - TOOLTIP\_SPOILERS\_LOCK\_TITLE - TT\_DESCRIPTION\_ID\_SPOILERS\_LOCK Condition: Switch(TYPE) - Case: AIRLINER Parameters set: - ANIM\_TRIGGER\_COUNT - STEPS\_NUMBER - USE\_GATES - ANIM\_LENGTH Condition: Valid(PHYSICAL\_AUTOSPOILER) - Case: True Parameters set: - ARMED\_STATE\_TEST - Case: False Parameters set: - ARMED\_STATE\_TEST - Case: Switch Parameters set: - TIME\_TO\_FULL\_RANGE\_SEC - REPEAT\_FREQUENCY - MOMENTARY\_TIMER - POS\_DEC - POS\_STANDBY - POS\_INC - ADDITIONAL\_TESTS Condition: Switch(PUSH\_TYPE) - Case: EXTEND\_FULL Parameters set: - ANIM\_NAME\_PUSH (using INTERACTION\_TYPE) - INVERT\_ANIM\_PUSH - Override Condition: Switch(INTERACTION\_TYPE) - Case: Switch Parameters set: - INCREMENT (using TIME\_TO\_FULL\_RANGE\_SEC, REPEAT\_FREQUENCY) - MOMENTARY\_SWITCH - STATE0\_TIMER (using MOMENTARY\_TIMER) - STATE\_MAX\_TIMER (using MOMENTARY\_TIMER) - STATE\_STANDBY - STATE\_INC - STATE\_DEC Condition: Switch(PUSH\_TYPE) - Case: EXTEND\_FULL Parameters set: - ADDITIONAL\_TESTS (using ADDITIONAL\_TESTS) Condition: Switch(INTERACTION\_TYPE) - Case: Lever   Templates used: - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Parameters set: - IE\_NAME - GATE\_DIRECTION - DONT\_SYNC\_DRAG\_TO\_ANIM - DRAG\_ANIM\_NAME (using ANIM\_NAME) - DRAG\_NODE\_ID (using NODE\_ID) - GET\_TT\_VALUE\_STATE - FORMAT\_VALUE - SIMVAR\_TO\_WATCH\_0 - GET\_STATE\_EXTERNAL - SET\_STATE\_EXTERNAL - STATE\_TO\_POS\_EXTERNAL - INC\_PARAM\_0 - DEC\_PARAM\_0 - ANIM\_LAG (using LEVER\_ANIM\_LAG) Condition: Valid(USE\_LOCK) - Case: True Parameters set: - ON\_BEFORE\_SET\_CODE Condition: Valid(USE\_GATES) - Case: True Parameters set: - TEMPLATE\_TO\_USE - DRAG\_CODE (using STEPS\_NUMBER) - ON\_AFTER\_INIT\_CODE (using STEPS\_NUMBER) Condition: Valid(RETRACT\_ARMED\_FULL) - Case: True Parameters set: - FORMAT\_VALUE Condition: NotEmpty(OVERRIDE\_ANIM\_CODE) - Case: False Condition: Valid(RETRACT\_ARMED\_FULL) - Case: True Parameters set: - OVERRIDE\_ANIM\_CODE (using POS\_ARM, ANIM\_LENGTH, STEPS\_NUMBER, POS\_DOWN) - Case: False Parameters set: - OVERRIDE\_ANIM\_CODE (using STEPS\_NUMBER, ANIM\_LENGTH) - Case: False Parameters set: - GET\_TT\_VALUE\_STATE - DRAG\_VALUE\_TO\_EVENT\_SET Condition: Valid(USE\_LOCK) - Case: True Parameters set: - FORMAT\_VALUE - Case: False Parameters set: - FORMAT\_VALUE Condition: Valid(USE\_GATES) - Case: True Condition: Valid(RETRACT\_ARMED\_FULL) - Case: True   Templates used: - [ASOBO\_HANDLING\_Push\_Event\_Base\_Template](../handling/#ASOBO_HANDLING_Push_Event_Base_Template) Parameters set: - IE\_NAME - SET\_STATE\_EXTERNAL - GET\_STATE\_EXTERNAL - STR\_STATE\_ON - STR\_STATE\_OFF - TT\_VALUE\_ON - TT\_VALUE\_OFF - SIMVAR\_TO\_WATCH\_0 - SIMVAR\_TO\_WATCH\_1 - Case: False   Templates used: - [ASOBO\_HANDLING\_Push\_Event\_Base\_Template](../handling/#ASOBO_HANDLING_Push_Event_Base_Template) Parameters set: - IE\_NAME - SET\_STATE\_EXTERNAL - GET\_STATE\_EXTERNAL - STR\_STATE\_ON - STR\_STATE\_OFF - TT\_VALUE\_ON - TT\_VALUE\_OFF - SIMVAR\_TO\_WATCH\_0 - SIMVAR\_TO\_WATCH\_1 Condition: Valid(USE\_LOCK) - Case: True   Templates used: - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Parameters set: - INTERACTION\_TYPE - TT\_ICON (using TT\_ICON\_LOCK) - IE\_NAME - NODE\_ID (using LOCK\_NODE\_ID) - ANIM\_NAME (using LOCK\_ANIM\_NAME) - TOOLTIP\_TITLE (using TOOLTIP\_SPOILERS\_LOCK\_TITLE) - TT\_DESCRIPTION\_ID (using TT\_DESCRIPTION\_ID\_SPOILERS\_LOCK) - WWISE\_EVENT\_1 (using WWISE\_EVENT\_LOCK\_1) - WWISE\_EVENT\_2 (using WWISE\_EVENT\_LOCK\_2) - SIMVAR\_TO\_WATCH\_0 - SET\_STATE\_EXTERNAL (using LOCK\_VAR\_SCOPE, LOCK\_VAR\_NAME) - GET\_STATE\_EXTERNAL (using LOCK\_VAR\_SCOPE, LOCK\_VAR\_NAME) - COMP\_INIT\_CODE - CHECK\_STATE\_HAS\_CHANGED Condition: Valid(INVERT\_LOCK\_ANIM) - Case: True Parameters set: - INVERT\_ANIM (using INVERT\_LOCK\_ANIM) - Case: Switch   Templates used: - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Parameters set: - IE\_NAME - NUM\_STATES - COMP\_UPDATE\_CODE (using POS\_STANDBY, ADDITIONAL\_TESTS, INCREMENT, POS\_INC) - FREQUENCY (using REPEAT\_FREQUENCY) - SET\_STATE\_\#POS\_INC\# (using STATE\_INC) - SET\_STATE\_\#POS\_STANDBY\# (using STATE\_STANDBY) - SET\_STATE\_\#POS\_DEC\# (using STATE\_DEC) - TT\_VALUE - TT\_VALUE\_IS\_DYNAMIC - STR\_STATE\_\#POS\_INC\# - STR\_STATE\_\#POS\_STANDBY\# - STR\_STATE\_\#POS\_DEC\# - GET\_STATE\_EXTERNAL - ENUM\_VAL\_TO\_POS\_EXTERNAL (using POS\_STANDBY, STATE\_STANDBY, STATE\_INC, POS\_INC, STATE\_DEC, POS\_DEC) Condition: Switch(PUSH\_TYPE) - Case: EXTEND\_FULL Parameters set: - IE\_ID\_EXTERNAL\_0 - ON\_PRIMARY\_EVENT (using POS\_STANDBY) - ANIM\_CODE\_PUSH - OVERRIDE\_ANIM\_CODE - ON\_STATE\_CHANGED\_EXTERNAL\_CODE (using POS\_STANDBY) - WWISE\_PUSH\_EVENT\_1 - WWISE\_PUSH\_EVENT\_2 Condition: Switch(PUSH\_TYPE) - Case: EXTEND\_FULL   Templates used: - [ASOBO\_HANDLING\_Push\_Event\_Base\_Template](../handling/#ASOBO_HANDLING_Push_Event_Base_Template) Parameters set: - IE\_NAME - SET\_STATE\_EXTERNAL (using ADDITIONAL\_TESTS) - GET\_STATE\_EXTERNAL (using ADDITIONAL\_TESTS) - STR\_STATE\_ON - STR\_STATE\_OFF - TT\_VALUE\_ON - TT\_VALUE\_OFF - TT\_DESCRIPTION\_ID (using TT\_DESCRIPTION\_ID\_EXTEND) - SIMVAR\_TO\_WATCH\_0 [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Flaps\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Flaps\_SubTemplate"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <UseTemplate Name="ASOBO\_HANDLING\_Flaps\_Lever\_SubTemplate"/> </Case> <Case Value="Push"> <UseTemplate Name="ASOBO\_HANDLING\_Flaps\_Button\_SubTemplate"/> </Case> </Switch> </Template> Condition: Switch(INTERACTION\_TYPE) - Case: Lever   Templates used: - [ASOBO\_HANDLING\_Flaps\_Lever\_SubTemplate](handling-subtemplates/#ASOBO_HANDLING_Flaps_Lever_SubTemplate) - Case: Push   Templates used: - [ASOBO\_HANDLING\_Flaps\_Button\_SubTemplate](handling-subtemplates/#ASOBO_HANDLING_Flaps_Button_SubTemplate) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Flaps\_Lever\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Flaps\_Lever\_SubTemplate"> <Parameters Type="Default"> <Condition Valid="HAS\_BUTTON"> <True> <ANIM\_NAME\_LEVER>HANDLING\_Lever\_Flaps</ANIM\_NAME\_LEVER> <ANIM\_NAME\_BUTTON>HANDLING\_Lever\_Button\_Flaps</ANIM\_NAME\_BUTTON> <NODE\_ID>HANDLING\_Lever\_Flaps</NODE\_ID> <PART\_ID>HANDLING\_Lever\_Flaps</PART\_ID> <ANIM\_TRIGGER\_COUNT>1</ANIM\_TRIGGER\_COUNT> <ANIM\_SPEED>5</ANIM\_SPEED> <DRAG\_DELTA>0.1</DRAG\_DELTA> <ANIMREF\_ID>1</ANIMREF\_ID> <AXIS>Y</AXIS> <MAX\_HANDLE\_INDEX>(A:FLAPS NUM HANDLE POSITIONS:1, Number)</MAX\_HANDLE\_INDEX> <MIN\_DELTA>0.25</MIN\_DELTA> <DONT\_SYNC\_DRAG\_TO\_ANIM/> <DONT\_CREATE\_SOUND\_ANIM\_TRIGGERS/> </True> <False> <ANIM\_NAME>HANDLING\_Lever\_Flaps</ANIM\_NAME> <NODE\_ID>HANDLING\_Lever\_Flaps</NODE\_ID> <PART\_ID>HANDLING\_Lever\_Flaps</PART\_ID> <ANIM\_TRIGGER\_COUNT>2</ANIM\_TRIGGER\_COUNT> <MIN\_DELTA>0.25</MIN\_DELTA> <MAX\_HANDLE\_INDEX>2</MAX\_HANDLE\_INDEX> <ANIM\_LAG>400</ANIM\_LAG> <HELPID>HELPID\_GAUGE\_FLAPS\_SWITCH</HELPID> <ANIMREF\_ID>0</ANIMREF\_ID> </False> </Condition> <ANIMTIP\_0\_ON\_PERCENT>0</ANIMTIP\_0\_ON\_PERCENT> <ANIMTIP\_1\_ON\_PERCENT>0.5</ANIMTIP\_1\_ON\_PERCENT> <ANIMTIP\_2\_ON\_PERCENT>1</ANIMTIP\_2\_ON\_PERCENT> <ANIMTIP\_0>TT:COCKPIT.TOOLTIPS.FLAPS\_LEVER\_UP</ANIMTIP\_0> <ANIMTIP\_1>TT:COCKPIT.TOOLTIPS.FLAPS\_LEVER\_TO</ANIMTIP\_1> <ANIMTIP\_2>TT:COCKPIT.TOOLTIPS.FLAPS\_LEVER\_LDG</ANIMTIP\_2> <TOOLTIP\_FLAPS\_TITLE>@TT\_Package.HANDLING\_LEVER\_FLAPS\_TITLE</TOOLTIP\_FLAPS\_TITLE> </Parameters> <Parameters Type="Override"> <TOOLTIP\_TITLE>\#TOOLTIP\_FLAPS\_TITLE\#</TOOLTIP\_TITLE> <TOOLTIP\_ENTRY\_0>HANDLING\_Flaps</TOOLTIP\_ENTRY\_0> <ANIM\_CODE>(B:HANDLING\_Flaps)</ANIM\_CODE> <STEP\_INCREMENT>16384 (A:FLAPS NUM HANDLE POSITIONS, Number) /</STEP\_INCREMENT> <Condition Valid="HAS\_BUTTON"> <False> <ANIM\_NAME\_LEVER>\#ANIM\_NAME\#</ANIM\_NAME\_LEVER> </False> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="INVERT\_INTERACTION"> <True> <DRAG\_POSITION>1 (M:DragPercent) - 16384 \*</DRAG\_POSITION> <INVERT\_ANIM>True</INVERT\_ANIM> </True> <False> <DRAG\_POSITION>(M:DragPercent) 16384 \*</DRAG\_POSITION> </False> </Condition> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <Condition Valid="HAS\_BUTTON"> <UseTemplate Name="ASOBO\_GT\_Anim\_Code"> <ANIM\_NAME>\#ANIM\_NAME\_BUTTON\#</ANIM\_NAME> <ANIM\_CODE> (O:XMLVAR\_Interacting\_With\_Lever) 100 \* </ANIM\_CODE> <Condition Check="BUTTON\_ANIM\_LAG"> <ANIM\_LAG>\#BUTTON\_ANIM\_LAG\#</ANIM\_LAG> </Condition> <ANIM\_LENGTH>100</ANIM\_LENGTH> </UseTemplate> </Condition> <UseInputEvent ID="HANDLING"> <FLAPS\_ID>1</FLAPS\_ID> </UseInputEvent> <Condition Check="USE\_TRAJECTORY\_DRAG\_MODE"> <True> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis"> <ANIM\_NAME>\#ANIM\_NAME\_LEVER\#</ANIM\_NAME> <DRAG\_ANIM\_NAME>\#ANIM\_NAME\_LEVER\#</DRAG\_ANIM\_NAME> <Condition Valid="HAS\_BUTTON"> <LOCK\_CODE>1 (>O:XMLVAR\_Interacting\_With\_Lever)</LOCK\_CODE> <UNLOCK\_CODE>0 (>O:XMLVAR\_Interacting\_With\_Lever)</UNLOCK\_CODE> </Condition> <DONT\_SYNC\_DRAG\_TO\_ANIM/> <NO\_ARROWS/> <CURSOR>Hand</CURSOR> <HELPID>HELPID\_GAUGE\_FLAPS\_SWITCH</HELPID> <TOOLTIPID>TOOLTIPTEXT\_FLAPS\_SWITCH</TOOLTIPID> <DRAG\_SIMVAR>FLAPS HANDLE PERCENT</DRAG\_SIMVAR> <DRAG\_CODE>\#DRAG\_POSITION\# (>B:HANDLING\_Flaps\_Set)</DRAG\_CODE> <POSITIVE\_AXIS\_CODE>\#STEP\_INCREMENT\# (>B:HANDLING\_Flaps\_Inc)</POSITIVE\_AXIS\_CODE> <NEGATIVE\_AXIS\_CODE>\#STEP\_INCREMENT\# (>B:HANDLING\_Flaps\_Dec)</NEGATIVE\_AXIS\_CODE> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Lever\_DraggingYAxis\_Code"> <ANIM\_NAME>\#ANIM\_NAME\_LEVER\#</ANIM\_NAME> <Condition Valid="HAS\_BUTTON"> <LEFT\_SINGLE\_CODE>1 (>O:XMLVAR\_Interacting\_With\_Lever)</LEFT\_SINGLE\_CODE> <LEFT\_RELEASE\_CODE>0 (>O:XMLVAR\_Interacting\_With\_Lever)</LEFT\_RELEASE\_CODE> </Condition> <ANIM\_LENGTH>100</ANIM\_LENGTH> <UP\_CODE>\#STEP\_INCREMENT\# (>B:HANDLING\_Flaps\_Dec)</UP\_CODE> <DOWN\_CODE>\#STEP\_INCREMENT\# (>B:HANDLING\_Flaps\_Inc)</DOWN\_CODE> <DRAG\_DELTA>0.05</DRAG\_DELTA> <DRAG\_SPEED>0.5</DRAG\_SPEED> <IS\_LOOPING/> </UseTemplate> </False> </Condition> <UseTemplate Name="ASOBO\_GT\_AnimTriggers\_SoundEvents\_Same"> <WWISE\_EVENT>lever\_flaps</WWISE\_EVENT> <COUNT>\#ANIM\_TRIGGER\_COUNT\#</COUNT> <ANIM\_NAME>\#ANIM\_NAME\_LEVER\#</ANIM\_NAME> </UseTemplate> <Condition Valid="HAS\_BUTTON"> <UseTemplate Name="ASOBO\_GT\_AnimTriggers\_2SoundEvents"> <ANIM\_NAME>\#ANIM\_NAME\_BUTTON\#</ANIM\_NAME> <WWISE\_EVENT\_1>flaps\_lever\_button\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <DIRECTION\_1>Forward</DIRECTION\_1> <WWISE\_EVENT\_2>flaps\_lever\_button\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.9</NORMALIZED\_TIME\_2> <DIRECTION\_2>Backward</DIRECTION\_2> </UseTemplate> <UseTemplate Name="ASOBO\_GT\_Visibility\_Code"> <VISIBILITY\_CODE>(L:XMLVAR\_LeverFlapsHidden) !</VISIBILITY\_CODE> </UseTemplate> </Condition> </Component> </Template> Parameters initialization: - Default Parameters set: - ANIMTIP\_0\_ON\_PERCENT - ANIMTIP\_1\_ON\_PERCENT - ANIMTIP\_2\_ON\_PERCENT - ANIMTIP\_0 - ANIMTIP\_1 - ANIMTIP\_2 - TOOLTIP\_FLAPS\_TITLE Condition: Valid(HAS\_BUTTON) - Case: True Parameters set: - ANIM\_NAME\_LEVER - ANIM\_NAME\_BUTTON - NODE\_ID - PART\_ID - ANIM\_TRIGGER\_COUNT - ANIM\_SPEED - DRAG\_DELTA - ANIMREF\_ID - AXIS - MAX\_HANDLE\_INDEX - MIN\_DELTA - DONT\_SYNC\_DRAG\_TO\_ANIM - DONT\_CREATE\_SOUND\_ANIM\_TRIGGERS - Case: False Parameters set: - ANIM\_NAME - NODE\_ID - PART\_ID - ANIM\_TRIGGER\_COUNT - MIN\_DELTA - MAX\_HANDLE\_INDEX - ANIM\_LAG - HELPID - ANIMREF\_ID - Override Parameters set: - TOOLTIP\_TITLE (using TOOLTIP\_FLAPS\_TITLE) - TOOLTIP\_ENTRY\_0 - ANIM\_CODE - STEP\_INCREMENT Condition: Valid(HAS\_BUTTON) - Case: False Parameters set: - ANIM\_NAME\_LEVER (using ANIM\_NAME) - Override Condition: Valid(INVERT\_INTERACTION) - Case: True Parameters set: - DRAG\_POSITION - INVERT\_ANIM - Case: False Parameters set: - DRAG\_POSITION Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - FLAPS\_ID   Templates used: - [ASOBO\_GT\_AnimTriggers\_SoundEvents\_Same](../../generic/animationtriggers/#ASOBO_GT_AnimTriggers_SoundEvents_Same) Parameters set: - WWISE\_EVENT - COUNT (using ANIM\_TRIGGER\_COUNT) - ANIM\_NAME (using ANIM\_NAME\_LEVER) Condition: Valid(HAS\_BUTTON) - Case: True   Templates used: - [ASOBO\_GT\_Anim\_Code](../../generic/animations/#ASOBO_GT_Anim_Code) Parameters set: - ANIM\_NAME (using ANIM\_NAME\_BUTTON) - ANIM\_CODE - ANIM\_LENGTH Condition: Check(BUTTON\_ANIM\_LAG) - Case: True Parameters set: - ANIM\_LAG (using BUTTON\_ANIM\_LAG) Condition: Check(USE\_TRAJECTORY\_DRAG\_MODE) - Case: True   Templates used: - [ASOBO\_GT\_Lever\_DraggingWheelLeftDrag\_Axis](../../generic/complex/lever/#ASOBO_GT_Lever_DraggingWheelLeftDrag_Axis) Parameters set: - ANIM\_NAME (using ANIM\_NAME\_LEVER) - DRAG\_ANIM\_NAME (using ANIM\_NAME\_LEVER) - DONT\_SYNC\_DRAG\_TO\_ANIM - NO\_ARROWS - CURSOR - HELPID - TOOLTIPID - DRAG\_SIMVAR - DRAG\_CODE (using DRAG\_POSITION) - POSITIVE\_AXIS\_CODE (using STEP\_INCREMENT) - NEGATIVE\_AXIS\_CODE (using STEP\_INCREMENT) Condition: Valid(HAS\_BUTTON) - Case: True Parameters set: - LOCK\_CODE - UNLOCK\_CODE - Case: False   Templates used: - [ASOBO\_GT\_Lever\_DraggingYAxis\_Code](../../generic/complex/lever/#ASOBO_GT_Lever_DraggingYAxis_Code) Parameters set: - ANIM\_NAME (using ANIM\_NAME\_LEVER) - ANIM\_LENGTH - UP\_CODE (using STEP\_INCREMENT) - DOWN\_CODE (using STEP\_INCREMENT) - DRAG\_DELTA - DRAG\_SPEED - IS\_LOOPING Condition: Valid(HAS\_BUTTON) - Case: True Parameters set: - LEFT\_SINGLE\_CODE - LEFT\_RELEASE\_CODE Condition: Valid(HAS\_BUTTON) - Case: True   Templates used: - [ASOBO\_GT\_AnimTriggers\_2SoundEvents](../../generic/animationtriggers/#ASOBO_GT_AnimTriggers_2SoundEvents) Parameters set: - ANIM\_NAME (using ANIM\_NAME\_BUTTON) - WWISE\_EVENT\_1 - NORMALIZED\_TIME\_1 - DIRECTION\_1 - WWISE\_EVENT\_2 - NORMALIZED\_TIME\_2 - DIRECTION\_2 - [ASOBO\_GT\_Visibility\_Code](../../generic/visibility/#ASOBO_GT_Visibility_Code) Parameters set: - VISIBILITY\_CODE [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Flaps\_Button\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Flaps\_Button\_SubTemplate"> <Parameters Type="Default"> <ANIM\_NAME>HANDLING\_Button\_Flaps</ANIM\_NAME> <NODE\_ID>HANDLING\_Button\_Flaps</NODE\_ID> <PART\_ID>HANDLING\_Button\_Flaps</PART\_ID> <MAX\_FLAPS\_DEGREE>45</MAX\_FLAPS\_DEGREE> <SELECTED\_FLAPS\_DEGREE>0</SELECTED\_FLAPS\_DEGREE> <WWISE\_PREFIX>flaps</WWISE\_PREFIX> </Parameters> <Parameters Type="Default"> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_BUTTON\_FLAPS\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_BUTTON\_FLAPS\_ACTION</TT\_DESCRIPTION\_ID> <TT\_DESCRIPTION\_INDEX>\#SELECTED\_FLAPS\_DEGREE\#</TT\_DESCRIPTION\_INDEX> </Parameters> <UseInputEvent ID="HANDLING"> <FLAPS\_ID>1</FLAPS\_ID> </UseInputEvent> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>Flaps\_Select\_\#SELECTED\_FLAPS\_DEGREE\#\_Degrees</IE\_NAME> <INTERACTION\_TYPE>Push</INTERACTION\_TYPE> <SET\_STATE\_EXTERNAL>16384 \#SELECTED\_FLAPS\_DEGREE\# \* \#MAX\_FLAPS\_DEGREE\# / (>B:HANDLING\_Flaps\_Set)</SET\_STATE\_EXTERNAL> <TT\_VALUE>(A:TRAILING EDGE FLAPS LEFT ANGLE, degree) '%d°' @sprintf</TT\_VALUE> <TT\_VALUE\_IS\_DYNAMIC>True</TT\_VALUE\_IS\_DYNAMIC> </UseTemplate> </Template> Parameters initialization: - Default Parameters set: - ANIM\_NAME - NODE\_ID - PART\_ID - MAX\_FLAPS\_DEGREE - SELECTED\_FLAPS\_DEGREE - WWISE\_PREFIX - Default Parameters set: - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID - TT\_DESCRIPTION\_INDEX (using SELECTED\_FLAPS\_DEGREE) Parameters set: - FLAPS\_ID   Templates used: - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Parameters set: - IE\_NAME (using SELECTED\_FLAPS\_DEGREE) - INTERACTION\_TYPE - SET\_STATE\_EXTERNAL (using SELECTED\_FLAPS\_DEGREE, MAX\_FLAPS\_DEGREE) - TT\_VALUE - TT\_VALUE\_IS\_DYNAMIC [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Autobrakes\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Autobrakes\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Autobrake\_\#ID\#</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Autobrake\_\#ID\#</ANIM\_NAME> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Autobrake</PART\_ID> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <TYPE>ON\_OFF</TYPE> <WWISE\_PREFIX>autobrake</WWISE\_PREFIX> <AUTOBRAKE\_LEVEL Process="Int">\#ID\# 1 +</AUTOBRAKE\_LEVEL> <AUTOBRAKE\_RTO>0</AUTOBRAKE\_RTO> <AUTOBRAKE\_OFF>1</AUTOBRAKE\_OFF> <Switch Param="ID"> <Case Value="1"> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_PUSH\_AUTOBKR\_ACTION\_LOW</TT\_DESCRIPTION\_ID> </Case> <Case Value="2"> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_PUSH\_AUTOBKR\_ACTION\_MED</TT\_DESCRIPTION\_ID> </Case> <Case Value="3"> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_PUSH\_AUTOBKR\_ACTION\_MAX</TT\_DESCRIPTION\_ID> </Case> </Switch> <IS\_AIRLINER>True</IS\_AIRLINER> <AUTODISABLE\_COUNTDOWN>3</AUTODISABLE\_COUNTDOWN> <Condition Valid="DISABLED\_IN\_FLIGHT"> <True> <TEST\_DISABLED>(A:SIM ON GROUND, Bool) !</TEST\_DISABLED> </True> <False> <TEST\_DISABLED>0</TEST\_DISABLED> </False> </Condition> </Case> <Case Value="Knob"> <TYPE>X\_STATES</TYPE> <WWISE\_PREFIX>autobrakes</WWISE\_PREFIX> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_KNOB\_ALT\_AUTOBRAKE\_ACTION</TT\_DESCRIPTION\_ID> <Switch Param="AIRLINER\_TYPE"> <Case Value="BOEING"> <POS\_RTO>0</POS\_RTO> <POS\_OFF>1</POS\_OFF> <POS\_DISARM>2</POS\_DISARM> <POS\_1>3</POS\_1> <POS\_2>4</POS\_2> <POS\_3>5</POS\_3> <POS\_4>6</POS\_4> <POS\_MAX\_AUTO>7</POS\_MAX\_AUTO> <NUM\_STATES>8</NUM\_STATES> </Case> </Switch> </Case> </Switch> <TOOLTIP\_TITLE>@TT\_Package.LANDING\_GEAR\_PUSH\_AUTOBKR\_TITLE</TOOLTIP\_TITLE> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="ON\_OFF"> <SET\_SIMVAR\_FROM\_POSITION> (\* SwimVar pos is handled there for interactions + in update for automatic state switches \*) -1 sp0 (A:SIM ON GROUND, Bool) if{ (L:XMLVAR\_Autobrake\_Level\_Armed) \#AUTOBRAKE\_OFF\# == if{ \#AUTOBRAKE\_OFF\# sp0 } els{ \#AUTOBRAKE\_RTO\# sp0 } } els{ (L:XMLVAR\_Autobrake\_Level\_Armed) sp0 } l0 -1 != l0 (A:AUTO BRAKE SWITCH CB, Enum) != and if{ l0 (>K:SET\_AUTOBRAKE\_CONTROL) } </SET\_SIMVAR\_FROM\_POSITION> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="ON\_OFF"> <LOCAL\_VAR\_TO\_WATCH\_0>XMLVAR\_Autobrake\_Level\_Armed</LOCAL\_VAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_0>ANTISKID BRAKES ACTIVE</SIMVAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_1>BRAKE LEFT POSITION EX1</SIMVAR\_TO\_WATCH\_1> <SIMVAR\_TO\_WATCH\_2>BRAKE RIGHT POSITION EX1</SIMVAR\_TO\_WATCH\_2> <SET\_STATE\_EXTERNAL> \#TEST\_DISABLED\# if{ 0 (>O:HANDLING\_Autobrake\_Level\_\#ID\#\_Position) } els{ p0 if{ \#AUTOBRAKE\_LEVEL\# (>L:XMLVAR\_Autobrake\_Level\_Armed) } els{ (L:XMLVAR\_Autobrake\_Level\_Armed) \#AUTOBRAKE\_LEVEL\# == if{ \#AUTOBRAKE\_OFF\# (>L:XMLVAR\_Autobrake\_Level\_Armed) } } } \#SET\_SIMVAR\_FROM\_POSITION\# </SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL> (L:XMLVAR\_Autobrake\_Level\_Armed) \#AUTOBRAKE\_LEVEL\# == sp0 (A:ANTISKID BRAKES ACTIVE, Bool) (A:BRAKE LEFT POSITION EX1, percent) 95 > (A:BRAKE RIGHT POSITION EX1, percent) 95 > or ! and sp1 l0 l1 ! and if{ \#AUTOBRAKE\_OFF\# (>L:XMLVAR\_Autobrake\_Level\_Armed) } l0 l1 and sp0 </GET\_STATE\_EXTERNAL> <Condition Check="ID" Match="1"> <COMP\_INIT\_CODE>(A:AUTO BRAKE SWITCH CB, Enum) (>L:XMLVAR\_Autobrake\_Level\_Armed) (A:GEAR HANDLE POSITION, Bool) (>O:\_Gear\_Position) \#SET\_SIMVAR\_FROM\_POSITION\#</COMP\_INIT\_CODE> <COMP\_UPDATE\_CODE> (\* Handle disarming after landing gear up \*) (O:\_Countdown\_Disable\_Autobrake) 0 > if{ (O:\_Countdown\_Disable\_Autobrake) 1 - (>O:\_Countdown\_Disable\_Autobrake) (O:\_Countdown\_Disable\_Autobrake) 0 <= if{ 1 (>K:SET\_AUTOBRAKE\_CONTROL) \#AUTOBRAKE\_OFF\# (>L:XMLVAR\_Autobrake\_Level\_Armed) } } (L:XMLVAR\_Autobrake\_Level\_Armed) \#AUTOBRAKE\_OFF\# > if{ (A:GEAR HANDLE POSITION, Bool) s0 (O:\_Gear\_Position) != sp1 l0 (>O:\_Gear\_Position) l1 l0 ! and if{ \#AUTODISABLE\_COUNTDOWN\# (>O:\_Countdown\_Disable\_Autobrake) } } </COMP\_UPDATE\_CODE> </Condition> <Condition Valid="IS\_AIRLINER"> <SEQ1\_EMISSIVE\_CODE>(B:HANDLING\_Autobrake\_Level\_\#ID\#, Bool) (A:AUTOBRAKES ACTIVE, Bool) (A:REJECTED TAKEOFF BRAKES ACTIVE, Bool) or and</SEQ1\_EMISSIVE\_CODE> <SEQ2\_EMISSIVE\_CODE>(B:HANDLING\_Autobrake\_Level\_\#ID\#, Bool)</SEQ2\_EMISSIVE\_CODE> </Condition> </Case> <Case Value="X\_STATES"> <KNOB\_TYPE>X\_STATES</KNOB\_TYPE> <SIMVAR\_TO\_WATCH\_0>AUTO BRAKE SWITCH CB</SIMVAR\_TO\_WATCH\_0> <Switch Param="AIRLINER\_TYPE"> <Case Value="BOEING"> <STR\_STATE\_\#POS\_RTO\#>RTO</STR\_STATE\_\#POS\_RTO\#> <STR\_STATE\_\#POS\_OFF\#>Off</STR\_STATE\_\#POS\_OFF\#> <STR\_STATE\_\#POS\_DISARM\#>Disarm</STR\_STATE\_\#POS\_DISARM\#> <STR\_STATE\_\#POS\_1\#>Level\_1</STR\_STATE\_\#POS\_1\#> <STR\_STATE\_\#POS\_2\#>Level\_2</STR\_STATE\_\#POS\_2\#> <STR\_STATE\_\#POS\_3\#>Level\_3</STR\_STATE\_\#POS\_3\#> <STR\_STATE\_\#POS\_4\#>Level\_4</STR\_STATE\_\#POS\_4\#> <STR\_STATE\_\#POS\_MAX\_AUTO\#>Max\_Auto</STR\_STATE\_\#POS\_MAX\_AUTO\#> <TT\_VALUE\_\#POS\_RTO\#>@TT\_Package.GT\_STATE\_RTO</TT\_VALUE\_\#POS\_RTO\#> <TT\_VALUE\_\#POS\_OFF\#>@TT\_Package.GT\_STATE\_OFF</TT\_VALUE\_\#POS\_OFF\#> <TT\_VALUE\_\#POS\_DISARM\#>@TT\_Package.GT\_STATE\_DISARM</TT\_VALUE\_\#POS\_DISARM\#> <TT\_VALUE\_\#POS\_1\#>'1'</TT\_VALUE\_\#POS\_1\#> <TT\_VALUE\_\#POS\_1\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#POS\_1\#\_IS\_DYNAMIC> <TT\_VALUE\_\#POS\_2\#>'2'</TT\_VALUE\_\#POS\_2\#> <TT\_VALUE\_\#POS\_2\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#POS\_2\#\_IS\_DYNAMIC> <TT\_VALUE\_\#POS\_3\#>'3'</TT\_VALUE\_\#POS\_3\#> <TT\_VALUE\_\#POS\_3\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#POS\_3\#\_IS\_DYNAMIC> <TT\_VALUE\_\#POS\_4\#>'4'</TT\_VALUE\_\#POS\_4\#> <TT\_VALUE\_\#POS\_4\#\_IS\_DYNAMIC>True</TT\_VALUE\_\#POS\_4\#\_IS\_DYNAMIC> <TT\_VALUE\_\#POS\_MAX\_AUTO\#>@TT\_Package.GT\_STATE\_MAXAUTO</TT\_VALUE\_\#POS\_MAX\_AUTO\#> <SET\_STATE\_\#POS\_RTO\#>0 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_RTO\#> <SET\_STATE\_\#POS\_OFF\#>1 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_OFF\#> <SET\_STATE\_\#POS\_DISARM\#>1 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_DISARM\#> <SET\_STATE\_\#POS\_1\#>2 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_1\#> <SET\_STATE\_\#POS\_2\#>3 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_2\#> <SET\_STATE\_\#POS\_3\#>4 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_3\#> <SET\_STATE\_\#POS\_4\#>5 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_4\#> <SET\_STATE\_\#POS\_MAX\_AUTO\#>6 (>K:SET\_AUTOBRAKE\_CONTROL)</SET\_STATE\_\#POS\_MAX\_AUTO\#> <GET\_STATE\_EXTERNAL>(A:AUTO BRAKE SWITCH CB, Number) sp0 (O:XMLVAR\_Autobrake\_Disarm) sp1</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL> l1 if{ \#POS\_DISARM\# sp2 g2 } els{ l0 0 == if{ \#POS\_RTO\# sp2 g2 } l0 1 == if{ \#POS\_OFF\# sp2 g2 } l0 2 == if{ \#POS\_1\# sp2 g2 } l0 3 == if{ \#POS\_2\# sp2 g2 } l0 4 == if{ \#POS\_3\# sp2 g2 } l0 5 == if{ \#POS\_4\# sp2 g2 } l0 6 == if{ \#POS\_MAX\_AUTO\# sp2 g2 } } :2 l2 </ENUM\_VAL\_TO\_POS\_EXTERNAL> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE>p0 \#POS\_DISARM\# == (>O:XMLVAR\_Autobrake\_Disarm)</ON\_STATE\_CHANGED\_EXTERNAL\_CODE> </Case> </Switch> </Case> </Switch> </Parameters> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <Switch Param="TYPE"> <Case Value="ON\_OFF"> <IE\_NAME>Autobrake\_Level\_\#ID\#</IE\_NAME> </Case> <Case Value="X\_STATES"> <IE\_NAME>Autobrake\_\#ID\#</IE\_NAME> </Case> </Switch> </UseTemplate> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE, ID) - ANIM\_NAME (using INTERACTION\_TYPE, ID) - PART\_ID (using INTERACTION\_TYPE) - TOOLTIP\_TITLE Condition: Switch(INTERACTION\_TYPE) - Case: Push Parameters set: - TYPE - WWISE\_PREFIX - AUTOBRAKE\_LEVEL (using ID) - AUTOBRAKE\_RTO - AUTOBRAKE\_OFF - IS\_AIRLINER - AUTODISABLE\_COUNTDOWN Condition: Switch(ID) - Case: 1 Parameters set: - TT\_DESCRIPTION\_ID - Case: 2 Parameters set: - TT\_DESCRIPTION\_ID - Case: 3 Parameters set: - TT\_DESCRIPTION\_ID Condition: Valid(DISABLED\_IN\_FLIGHT) - Case: True Parameters set: - TEST\_DISABLED - Case: False Parameters set: - TEST\_DISABLED - Case: Knob Parameters set: - TYPE - WWISE\_PREFIX - TT\_DESCRIPTION\_ID Condition: Switch(AIRLINER\_TYPE) - Case: BOEING Parameters set: - POS\_RTO - POS\_OFF - POS\_DISARM - POS\_1 - POS\_2 - POS\_3 - POS\_4 - POS\_MAX\_AUTO - NUM\_STATES - Override Condition: Switch(TYPE) - Case: ON\_OFF Parameters set: - SET\_SIMVAR\_FROM\_POSITION (using AUTOBRAKE\_OFF, AUTOBRAKE\_RTO) - Override Condition: Switch(TYPE) - Case: ON\_OFF Parameters set: - LOCAL\_VAR\_TO\_WATCH\_0 - SIMVAR\_TO\_WATCH\_0 - SIMVAR\_TO\_WATCH\_1 - SIMVAR\_TO\_WATCH\_2 - SET\_STATE\_EXTERNAL (using TEST\_DISABLED, ID, AUTOBRAKE\_LEVEL, AUTOBRAKE\_OFF, SET\_SIMVAR\_FROM\_POSITION) - GET\_STATE\_EXTERNAL (using AUTOBRAKE\_LEVEL, AUTOBRAKE\_OFF) Condition: Check(ID) - Case: True Parameters set: - COMP\_INIT\_CODE (using SET\_SIMVAR\_FROM\_POSITION) - COMP\_UPDATE\_CODE (using AUTOBRAKE\_OFF, AUTODISABLE\_COUNTDOWN) Condition: Valid(IS\_AIRLINER) - Case: True Parameters set: - SEQ1\_EMISSIVE\_CODE (using ID) - SEQ2\_EMISSIVE\_CODE (using ID) - Case: X\_STATES Parameters set: - KNOB\_TYPE - SIMVAR\_TO\_WATCH\_0 Condition: Switch(AIRLINER\_TYPE) - Case: BOEING Parameters set: - STR\_STATE\_\#POS\_RTO\# - STR\_STATE\_\#POS\_OFF\# - STR\_STATE\_\#POS\_DISARM\# - STR\_STATE\_\#POS\_1\# - STR\_STATE\_\#POS\_2\# - STR\_STATE\_\#POS\_3\# - STR\_STATE\_\#POS\_4\# - STR\_STATE\_\#POS\_MAX\_AUTO\# - TT\_VALUE\_\#POS\_RTO\# - TT\_VALUE\_\#POS\_OFF\# - TT\_VALUE\_\#POS\_DISARM\# - TT\_VALUE\_\#POS\_1\# - TT\_VALUE\_\#POS\_1\#\_IS\_DYNAMIC - TT\_VALUE\_\#POS\_2\# - TT\_VALUE\_\#POS\_2\#\_IS\_DYNAMIC - TT\_VALUE\_\#POS\_3\# - TT\_VALUE\_\#POS\_3\#\_IS\_DYNAMIC - TT\_VALUE\_\#POS\_4\# - TT\_VALUE\_\#POS\_4\#\_IS\_DYNAMIC - TT\_VALUE\_\#POS\_MAX\_AUTO\# - SET\_STATE\_\#POS\_RTO\# - SET\_STATE\_\#POS\_OFF\# - SET\_STATE\_\#POS\_DISARM\# - SET\_STATE\_\#POS\_1\# - SET\_STATE\_\#POS\_2\# - SET\_STATE\_\#POS\_3\# - SET\_STATE\_\#POS\_4\# - SET\_STATE\_\#POS\_MAX\_AUTO\# - GET\_STATE\_EXTERNAL - ENUM\_VAL\_TO\_POS\_EXTERNAL (using POS\_DISARM, POS\_RTO, POS\_OFF, POS\_1, POS\_2, POS\_3, POS\_4, POS\_MAX\_AUTO) - ON\_STATE\_CHANGED\_EXTERNAL\_CODE (using POS\_DISARM)   Templates used: - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Condition: Switch(TYPE) - Case: ON\_OFF Parameters set: - IE\_NAME (using ID) - Case: X\_STATES Parameters set: - IE\_NAME (using ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Wipers\_Controller\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Wipers\_Controller\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Wipers</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Wipers</ANIM\_NAME> <WWISE\_EVENT>wipers\_switch</WWISE\_EVENT> <TEMPLATE\_TO\_USE>ASOBO\_GT\_Switch\_XStates</TEMPLATE\_TO\_USE> <CIRCUIT\_ID\_WIPERS>1</CIRCUIT\_ID\_WIPERS> <Switch> <Case Valid="OFF\_INT\_LOW\_HIGH"> <POWER\_INT>30</POWER\_INT> <POWER\_LOW>75</POWER\_LOW> <POWER\_HIGH>100</POWER\_HIGH> <POS\_OFF>0</POS\_OFF> <POS\_INT>1</POS\_INT> <POS\_LOW>2</POS\_LOW> <POS\_HIGH>3</POS\_HIGH> <NUM\_STATES>4</NUM\_STATES> </Case> <Case Valid="PARK\_OFF\_NORM\_FAST"> <POWER\_FAST>100</POWER\_FAST> <POWER\_NORM>50</POWER\_NORM> <POS\_PARK>0</POS\_PARK> <POS\_OFF>1</POS\_OFF> <POS\_NORM>2</POS\_NORM> <POS\_FAST>3</POS\_FAST> <MOMENTARY\_MIN\_DURATION>0.1</MOMENTARY\_MIN\_DURATION> <CIRCUIT\_ID\_PARK>1</CIRCUIT\_ID\_PARK> <NUM\_STATES>4</NUM\_STATES> </Case> <Default> <POWER\_NORM>100</POWER\_NORM> <POWER\_SLOW>75</POWER\_SLOW> <POS\_NORM>0</POS\_NORM> <POS\_OFF>1</POS\_OFF> <POS\_SLOW>2</POS\_SLOW> <NUM\_STATES>3</NUM\_STATES> </Default> </Switch> <SWITCH\_DIRECTION>Horizontal</SWITCH\_DIRECTION> <IE\_WIPERS\_ID>Wipers</IE\_WIPERS\_ID> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Knob"> <ANIM>EXTERNAL</ANIM> <ARROW\_TYPE>Curved</ARROW\_TYPE> <TT\_ICON>Rotate</TT\_ICON> </Case> </Switch> <INPUT\_EVENT\_ID\_SOURCE>HANDLING</INPUT\_EVENT\_ID\_SOURCE> <USE\_INPUT\_EVENT\_ID>HANDLING</USE\_INPUT\_EVENT\_ID> <BTN\_ID>\#IE\_WIPERS\_ID\#</BTN\_ID> </Parameters> <Parameters Type="Override"> <SET\_POWER>\#CIRCUIT\_ID\_WIPERS\# (>K:2:ELECTRICAL\_CIRCUIT\_POWER\_SETTING\_SET)</SET\_POWER> <GET\_POWER>(A:CIRCUIT POWER SETTING:\#CIRCUIT\_ID\_WIPERS\#, Percent)</GET\_POWER> <Switch> <Case Valid="PARK\_OFF\_NORM\_FAST"> <PARK\_ON>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#, Bool) ! if{ \#CIRCUIT\_ID\_PARK\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</PARK\_ON> <PARK\_OFF>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#, Bool) if{ \#CIRCUIT\_ID\_PARK\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</PARK\_OFF> <IS\_PARK\_ON>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#, Bool)</IS\_PARK\_ON> <INIT\_WIPERS\_STATE> (A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#, Bool) if{ \#CIRCUIT\_ID\_PARK\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) } (A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool) if{ \#CIRCUIT\_ID\_WIPERS\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) } </INIT\_WIPERS\_STATE> <Condition> <Test> <GreaterOrEqual> <Number>\#POS\_PARK\#</Number> <Number>1</Number> </GreaterOrEqual> </Test> <True> <STATE\_MAX\_TIMER>\#MOMENTARY\_MIN\_DURATION\#</STATE\_MAX\_TIMER> <STATE0\_TIMER>0</STATE0\_TIMER> <REST\_STATE Process="Int">\#POS\_PARK\# 1 -</REST\_STATE> </True> <False> <STATE\_MAX\_TIMER>0</STATE\_MAX\_TIMER> <STATE0\_TIMER>\#MOMENTARY\_MIN\_DURATION\#</STATE0\_TIMER> <REST\_STATE Process="Int">1</REST\_STATE> </False> </Condition> </Case> <Default> <INIT\_WIPERS\_STATE>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool) if{ \#CIRCUIT\_ID\_WIPERS\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</INIT\_WIPERS\_STATE> </Default> </Switch> <WIPERS\_ON>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool) ! if{ \#CIRCUIT\_ID\_WIPERS\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</WIPERS\_ON> <WIPERS\_OFF>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool) if{ \#CIRCUIT\_ID\_WIPERS\# (>K:ELECTRICAL\_CIRCUIT\_TOGGLE) }</WIPERS\_OFF> <IS\_WIPERS\_ON>(A:CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#, Bool)</IS\_WIPERS\_ON> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="CIRCUIT\_ID\_WIPERS"> <SIMVAR\_TO\_WATCH\_0>CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_WIPERS\#</SIMVAR\_TO\_WATCH\_0> <SIMVAR\_TO\_WATCH\_1>CIRCUIT POWER SETTING:\#CIRCUIT\_ID\_WIPERS\#</SIMVAR\_TO\_WATCH\_1> </Condition> <Switch> <Case Valid="OFF\_INT\_LOW\_HIGH"> <GET\_STATE\_EXTERNAL>\#IS\_WIPERS\_ON\# sp0 \#GET\_POWER\# near sp1</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL> l0 if{ l1 \#POWER\_INT\# == if{ \#POS\_INT\# sp2 } els{ l1 \#POWER\_LOW\# == if{ \#POS\_LOW\# sp2 } els{ \#POS\_HIGH\# sp2 } } g2 } els{ \#POS\_OFF\# sp2 g2 } :2 l2 </ENUM\_VAL\_TO\_POS\_EXTERNAL> <SET\_STATE\_\#POS\_OFF\#>\#WIPERS\_OFF\#</SET\_STATE\_\#POS\_OFF\#> <SET\_STATE\_\#POS\_INT\#>\#WIPERS\_ON\# \#POWER\_INT\# \#SET\_POWER\#</SET\_STATE\_\#POS\_INT\#> <SET\_STATE\_\#POS\_LOW\#>\#WIPERS\_ON\# \#POWER\_LOW\# \#SET\_POWER\#</SET\_STATE\_\#POS\_LOW\#> <SET\_STATE\_\#POS\_HIGH\#>\#WIPERS\_ON\# \#POWER\_HIGH\# \#SET\_POWER\#</SET\_STATE\_\#POS\_HIGH\#> <STR\_STATE\_\#POS\_OFF\#>Off</STR\_STATE\_\#POS\_OFF\#> <STR\_STATE\_\#POS\_INT\#>Int</STR\_STATE\_\#POS\_INT\#> <STR\_STATE\_\#POS\_LOW\#>Low</STR\_STATE\_\#POS\_LOW\#> <STR\_STATE\_\#POS\_HIGH\#>High</STR\_STATE\_\#POS\_HIGH\#> <TT\_VALUE\_\#POS\_OFF\#>@TT\_Package.GT\_STATE\_OFF</TT\_VALUE\_\#POS\_OFF\#> <TT\_VALUE\_\#POS\_INT\#>@TT\_Package.GT\_STATE\_INT</TT\_VALUE\_\#POS\_INT\#> <TT\_VALUE\_\#POS\_LOW\#>@TT\_Package.GT\_STATE\_LOW</TT\_VALUE\_\#POS\_LOW\#> <TT\_VALUE\_\#POS\_HIGH\#>@TT\_Package.GT\_STATE\_HIGH</TT\_VALUE\_\#POS\_HIGH\#> <CODE\_POS\_\#POS\_OFF\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Off)</CODE\_POS\_\#POS\_OFF\#> <CODE\_POS\_\#POS\_INT\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Int)</CODE\_POS\_\#POS\_INT\#> <CODE\_POS\_\#POS\_LOW\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Low)</CODE\_POS\_\#POS\_LOW\#> <CODE\_POS\_\#POS\_HIGH\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_High)</CODE\_POS\_\#POS\_HIGH\#> <STATE\#POS\_OFF\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_OFF\# ==</STATE\#POS\_OFF\#\_TEST> <STATE\#POS\_INT\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_INT\# ==</STATE\#POS\_INT\#\_TEST> <STATE\#POS\_LOW\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_LOW\# ==</STATE\#POS\_LOW\#\_TEST> <STATE\#POS\_HIGH\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_HIGH\# ==</STATE\#POS\_HIGH\#\_TEST> </Case> <Case Valid="PARK\_OFF\_NORM\_FAST"> <SIMVAR\_TO\_WATCH\_2>CIRCUIT SWITCH ON:\#CIRCUIT\_ID\_PARK\#</SIMVAR\_TO\_WATCH\_2> <GET\_STATE\_EXTERNAL>\#IS\_WIPERS\_ON\# sp0 \#IS\_PARK\_ON\# sp1 \#GET\_POWER\# near sp2</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL> l0 if{ l2 \#POWER\_FAST\# == if{ \#POS\_FAST\# sp3 } els{ \#POS\_NORM\# sp3 } g2 } els{ l1 if{ \#POS\_PARK\# sp3 } els{ \#POS\_OFF\# sp3 } g2 } :2 l3 </ENUM\_VAL\_TO\_POS\_EXTERNAL> <CODE\_POS\_RETURN Process="Param">CODE\_POS\_\#REST\_STATE\#</CODE\_POS\_RETURN> <SET\_STATE\_\#POS\_FAST\#>\#PARK\_OFF\# \#WIPERS\_ON\# \#POWER\_FAST\# \#SET\_POWER\#</SET\_STATE\_\#POS\_FAST\#> <SET\_STATE\_\#POS\_NORM\#>\#PARK\_OFF\# \#WIPERS\_ON\# \#POWER\_NORM\# \#SET\_POWER\#</SET\_STATE\_\#POS\_NORM\#> <SET\_STATE\_\#POS\_OFF\#>\#PARK\_OFF\# \#WIPERS\_OFF\#</SET\_STATE\_\#POS\_OFF\#> <SET\_STATE\_\#POS\_PARK\#>\#PARK\_ON\# \#WIPERS\_OFF\#</SET\_STATE\_\#POS\_PARK\#> <STR\_STATE\_\#POS\_FAST\#>Fast</STR\_STATE\_\#POS\_FAST\#> <STR\_STATE\_\#POS\_NORM\#>Norm</STR\_STATE\_\#POS\_NORM\#> <STR\_STATE\_\#POS\_OFF\#>Off</STR\_STATE\_\#POS\_OFF\#> <STR\_STATE\_\#POS\_PARK\#>Park</STR\_STATE\_\#POS\_PARK\#> <TT\_VALUE\_\#POS\_FAST\#>@TT\_Package.GT\_STATE\_FAST</TT\_VALUE\_\#POS\_FAST\#> <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\_PARK\#>@TT\_Package.GT\_STATE\_PARK</TT\_VALUE\_\#POS\_PARK\#> <CODE\_POS\_\#POS\_FAST\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Fast)</CODE\_POS\_\#POS\_FAST\#> <CODE\_POS\_\#POS\_NORM\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Norm)</CODE\_POS\_\#POS\_NORM\#> <CODE\_POS\_\#POS\_OFF\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Off)</CODE\_POS\_\#POS\_OFF\#> <CODE\_POS\_\#POS\_PARK\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Park)</CODE\_POS\_\#POS\_PARK\#> <STATE\#POS\_FAST\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_FAST\# ==</STATE\#POS\_FAST\#\_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> <STATE\#POS\_PARK\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_PARK\# ==</STATE\#POS\_PARK\#\_TEST> <MOMENTARY\_SWITCH/> </Case> <Default> <GET\_STATE\_EXTERNAL>\#IS\_WIPERS\_ON\# sp0 \#GET\_POWER\# near sp1</GET\_STATE\_EXTERNAL> <ENUM\_VAL\_TO\_POS\_EXTERNAL>l0 if{ l1 \#POWER\_SLOW\# == if{ \#POS\_SLOW\# sp2 } els{ \#POS\_NORM\# sp2 } g2 } els{ \#POS\_OFF\# sp2 } :2 l2</ENUM\_VAL\_TO\_POS\_EXTERNAL> <SET\_STATE\_\#POS\_NORM\#>\#WIPERS\_ON\# \#POWER\_NORM\# \#SET\_POWER\#</SET\_STATE\_\#POS\_NORM\#> <SET\_STATE\_\#POS\_OFF\#>\#WIPERS\_OFF\#</SET\_STATE\_\#POS\_OFF\#> <SET\_STATE\_\#POS\_SLOW\#>\#WIPERS\_ON\# \#POWER\_SLOW\# \#SET\_POWER\#</SET\_STATE\_\#POS\_SLOW\#> <STR\_STATE\_\#POS\_NORM\#>Norm</STR\_STATE\_\#POS\_NORM\#> <STR\_STATE\_\#POS\_OFF\#>Off</STR\_STATE\_\#POS\_OFF\#> <STR\_STATE\_\#POS\_SLOW\#>Slow</STR\_STATE\_\#POS\_SLOW\#> <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\_SLOW\#>@TT\_Package.GT\_STATE\_SLOW</TT\_VALUE\_\#POS\_SLOW\#> <CODE\_POS\_\#POS\_NORM\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Norm)</CODE\_POS\_\#POS\_NORM\#> <CODE\_POS\_\#POS\_OFF\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Off)</CODE\_POS\_\#POS\_OFF\#> <CODE\_POS\_\#POS\_SLOW\#>(>B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#\_Slow)</CODE\_POS\_\#POS\_SLOW\#> <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> <STATE\#POS\_SLOW\#\_TEST>(B:\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#) \#POS\_SLOW\# ==</STATE\#POS\_SLOW\#\_TEST> </Default> </Switch> <TOOLTIP\_ENTRY\_0>\#INPUT\_EVENT\_ID\_SOURCE\#\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> </Parameters> <Parameters Type="Default"> <TOOLTIP\_TITLE>@TT\_Package.SAFETY\_KNOB\_WIPERS\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.SAFETY\_KNOB\_WIPERS\_LEFT\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_ONCE>True</UPDATE\_ONCE> <UPDATE\_CODE>\#INIT\_WIPERS\_STATE\#</UPDATE\_CODE> </UseTemplate> <UseInputEvent ID="\#USE\_INPUT\_EVENT\_ID\#"/> <UseTemplate Name="\#TEMPLATE\_TO\_USE\#"/> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - WWISE\_EVENT - TEMPLATE\_TO\_USE - CIRCUIT\_ID\_WIPERS - SWITCH\_DIRECTION - IE\_WIPERS\_ID Condition: Switch - Case: Valid(OFF\_INT\_LOW\_HIGH) Parameters set: - POWER\_INT - POWER\_LOW - POWER\_HIGH - POS\_OFF - POS\_INT - POS\_LOW - POS\_HIGH - NUM\_STATES - Case: Valid(PARK\_OFF\_NORM\_FAST) Parameters set: - POWER\_FAST - POWER\_NORM - POS\_PARK - POS\_OFF - POS\_NORM - POS\_FAST - MOMENTARY\_MIN\_DURATION - CIRCUIT\_ID\_PARK - NUM\_STATES - Default case: Parameters set: - POWER\_NORM - POWER\_SLOW - POS\_NORM - POS\_OFF - POS\_SLOW - NUM\_STATES - Override Parameters set: - INPUT\_EVENT\_ID\_SOURCE - USE\_INPUT\_EVENT\_ID - BTN\_ID (using IE\_WIPERS\_ID) Condition: Switch(INTERACTION\_TYPE) - Case: Knob Parameters set: - ANIM - ARROW\_TYPE - TT\_ICON - Override Parameters set: - SET\_POWER (using CIRCUIT\_ID\_WIPERS) - GET\_POWER (using CIRCUIT\_ID\_WIPERS) - WIPERS\_ON (using CIRCUIT\_ID\_WIPERS) - WIPERS\_OFF (using CIRCUIT\_ID\_WIPERS) - IS\_WIPERS\_ON (using CIRCUIT\_ID\_WIPERS) Condition: Switch - Case: Valid(PARK\_OFF\_NORM\_FAST) Parameters set: - PARK\_ON (using CIRCUIT\_ID\_PARK) - PARK\_OFF (using CIRCUIT\_ID\_PARK) - IS\_PARK\_ON (using CIRCUIT\_ID\_PARK) - INIT\_WIPERS\_STATE (using CIRCUIT\_ID\_PARK, CIRCUIT\_ID\_WIPERS) Condition: Test - Case: True Parameters set: - STATE\_MAX\_TIMER (using MOMENTARY\_MIN\_DURATION) - STATE0\_TIMER - REST\_STATE (using POS\_PARK) - Case: False Parameters set: - STATE\_MAX\_TIMER - STATE0\_TIMER (using MOMENTARY\_MIN\_DURATION) - REST\_STATE - Default case: Parameters set: - INIT\_WIPERS\_STATE (using CIRCUIT\_ID\_WIPERS) - Override Parameters set: - TOOLTIP\_ENTRY\_0 (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) Condition: NotEmpty(CIRCUIT\_ID\_WIPERS) - Case: True Parameters set: - SIMVAR\_TO\_WATCH\_0 (using CIRCUIT\_ID\_WIPERS) - SIMVAR\_TO\_WATCH\_1 (using CIRCUIT\_ID\_WIPERS) Condition: Switch - Case: Valid(OFF\_INT\_LOW\_HIGH) Parameters set: - GET\_STATE\_EXTERNAL (using IS\_WIPERS\_ON, GET\_POWER) - ENUM\_VAL\_TO\_POS\_EXTERNAL (using POWER\_INT, POS\_INT, POWER\_LOW, POS\_LOW, POS\_HIGH, POS\_OFF) - SET\_STATE\_\#POS\_OFF\# (using WIPERS\_OFF) - SET\_STATE\_\#POS\_INT\# (using WIPERS\_ON, POWER\_INT, SET\_POWER) - SET\_STATE\_\#POS\_LOW\# (using WIPERS\_ON, POWER\_LOW, SET\_POWER) - SET\_STATE\_\#POS\_HIGH\# (using WIPERS\_ON, POWER\_HIGH, SET\_POWER) - STR\_STATE\_\#POS\_OFF\# - STR\_STATE\_\#POS\_INT\# - STR\_STATE\_\#POS\_LOW\# - STR\_STATE\_\#POS\_HIGH\# - TT\_VALUE\_\#POS\_OFF\# - TT\_VALUE\_\#POS\_INT\# - TT\_VALUE\_\#POS\_LOW\# - TT\_VALUE\_\#POS\_HIGH\# - CODE\_POS\_\#POS\_OFF\# (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) - CODE\_POS\_\#POS\_INT\# (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) - CODE\_POS\_\#POS\_LOW\# (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) - CODE\_POS\_\#POS\_HIGH\# (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) - STATE\#POS\_OFF\#\_TEST (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID, POS\_OFF) - STATE\#POS\_INT\#\_TEST (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID, POS\_INT) - STATE\#POS\_LOW\#\_TEST (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID, POS\_LOW) - STATE\#POS\_HIGH\#\_TEST (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID, POS\_HIGH) - Case: Valid(PARK\_OFF\_NORM\_FAST) Parameters set: - SIMVAR\_TO\_WATCH\_2 (using CIRCUIT\_ID\_PARK) - GET\_STATE\_EXTERNAL (using IS\_WIPERS\_ON, IS\_PARK\_ON, GET\_POWER) - ENUM\_VAL\_TO\_POS\_EXTERNAL (using POWER\_FAST, POS\_FAST, POS\_NORM, POS\_PARK, POS\_OFF) - CODE\_POS\_RETURN (using REST\_STATE) - SET\_STATE\_\#POS\_FAST\# (using PARK\_OFF, WIPERS\_ON, POWER\_FAST, SET\_POWER) - SET\_STATE\_\#POS\_NORM\# (using PARK\_OFF, WIPERS\_ON, POWER\_NORM, SET\_POWER) - SET\_STATE\_\#POS\_OFF\# (using PARK\_OFF, WIPERS\_OFF) - SET\_STATE\_\#POS\_PARK\# (using PARK\_ON, WIPERS\_OFF) - STR\_STATE\_\#POS\_FAST\# - STR\_STATE\_\#POS\_NORM\# - STR\_STATE\_\#POS\_OFF\# - STR\_STATE\_\#POS\_PARK\# - TT\_VALUE\_\#POS\_FAST\# - TT\_VALUE\_\#POS\_NORM\# - TT\_VALUE\_\#POS\_OFF\# - TT\_VALUE\_\#POS\_PARK\# - CODE\_POS\_\#POS\_FAST\# (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) - CODE\_POS\_\#POS\_PARK\# (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) - STATE\#POS\_FAST\#\_TEST (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID, POS\_FAST) - 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) - STATE\#POS\_PARK\#\_TEST (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID, POS\_PARK) - MOMENTARY\_SWITCH - Default case: Parameters set: - GET\_STATE\_EXTERNAL (using IS\_WIPERS\_ON, GET\_POWER) - ENUM\_VAL\_TO\_POS\_EXTERNAL (using POWER\_SLOW, POS\_SLOW, POS\_NORM, POS\_OFF) - SET\_STATE\_\#POS\_NORM\# (using WIPERS\_ON, POWER\_NORM, SET\_POWER) - SET\_STATE\_\#POS\_OFF\# (using WIPERS\_OFF) - SET\_STATE\_\#POS\_SLOW\# (using WIPERS\_ON, POWER\_SLOW, SET\_POWER) - STR\_STATE\_\#POS\_NORM\# - STR\_STATE\_\#POS\_OFF\# - STR\_STATE\_\#POS\_SLOW\# - TT\_VALUE\_\#POS\_NORM\# - TT\_VALUE\_\#POS\_OFF\# - TT\_VALUE\_\#POS\_SLOW\# - CODE\_POS\_\#POS\_NORM\# (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) - CODE\_POS\_\#POS\_OFF\# (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) - CODE\_POS\_\#POS\_SLOW\# (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID) - 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) - STATE\#POS\_SLOW\#\_TEST (using INPUT\_EVENT\_ID\_SOURCE, BTN\_ID, POS\_SLOW) - Default Parameters set: - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters read: - USE\_INPUT\_EVENT\_ID - TEMPLATE\_TO\_USE   Templates used: - [ASOBO\_GT\_Update](../../generic/updates/#ASOBO_GT_Update) Parameters set: - UPDATE\_ONCE - UPDATE\_CODE (using INIT\_WIPERS\_STATE) - \#TEMPLATE\_TO\_USE\# - May resolve to the following template(s): - [ASOBO\_GT\_Switch\_XStates](../../generic/complex/switch/#ASOBO_GT_Switch_XStates) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Switch\_AerobaticsTrimFlaps\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Switch\_AerobaticsTrimFlaps\_SubTemplate"> <Parameters Type="Default"> <ANIM\_NAME>HANDLING\_Switch\_AerobaticsTrimFlaps</ANIM\_NAME> <NODE\_ID>HANDLING\_Switch\_AerobaticsTrimFlaps</NODE\_ID> <PART\_ID>HANDLING\_Switch\_AerobaticsTrimFlaps</PART\_ID> <BUS\_ID>-1</BUS\_ID> <CIRCUIT\_ID>1</CIRCUIT\_ID> <WWISE\_EVENT\_1>aerobaticstrimflaps\_switch\_on</WWISE\_EVENT\_1> <WWISE\_EVENT\_2>aerobaticstrimflaps\_switch\_off</WWISE\_EVENT\_2> <IE\_CIRCUIT\_ID>Aerobatic\_Trim\_Flaps</IE\_CIRCUIT\_ID> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_SWITCH\_AEROBATICSTRIMFLAPS\_ACTION</TT\_DESCRIPTION\_ID> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_SWITCH\_AEROBATICSTRIMFLAPS\_TITLE</TOOLTIP\_TITLE> </Parameters> <Parameters Type="Override"> <DISABLE\_TRIM> 1 (>K:RUDDER\_TRIM\_DISABLED\_SET) 1 (>K:AILERON\_TRIM\_DISABLED\_SET) 1 (>K:ELEVATOR\_TRIM\_DISABLED\_SET) </DISABLE\_TRIM> <ENABLE\_TRIM> 0 (>K:RUDDER\_TRIM\_DISABLED\_SET) 0 (>K:AILERON\_TRIM\_DISABLED\_SET) 0 (>K:ELEVATOR\_TRIM\_DISABLED\_SET) </ENABLE\_TRIM> </Parameters> <Parameters Type="Override"> <BTN\_ID>\#IE\_CIRCUIT\_ID\#</BTN\_ID> <IS\_CONNECTION\_ON>\#BUS\_ID\# (A:1:CIRCUIT CONNECTION ON:\#CIRCUIT\_ID\#, Bool)</IS\_CONNECTION\_ON> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_EXTERNAL> \#IS\_CONNECTION\_ON\# ! p0 != if{ \#CIRCUIT\_ID\# \#BUS\_ID\# (>K:2:ELECTRICAL\_BUS\_TO\_CIRCUIT\_CONNECTION\_TOGGLE) } \#IS\_CONNECTION\_ON\# if{ \#ENABLE\_TRIM\# } els{ \#DISABLE\_TRIM\# } </SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>\#IS\_CONNECTION\_ON\# ! sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <ANIM>EXTERNAL</ANIM> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <ANIM\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) 100 \*</ANIM\_CODE> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - ANIM\_NAME - NODE\_ID - PART\_ID - BUS\_ID - CIRCUIT\_ID - WWISE\_EVENT\_1 - WWISE\_EVENT\_2 - IE\_CIRCUIT\_ID - TT\_DESCRIPTION\_ID - TOOLTIP\_TITLE - Override Parameters set: - DISABLE\_TRIM - ENABLE\_TRIM - Override Parameters set: - BTN\_ID (using IE\_CIRCUIT\_ID) - IS\_CONNECTION\_ON (using BUS\_ID, CIRCUIT\_ID) Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - SET\_STATE\_EXTERNAL (using IS\_CONNECTION\_ON, CIRCUIT\_ID, BUS\_ID, ENABLE\_TRIM, DISABLE\_TRIM) - GET\_STATE\_EXTERNAL (using IS\_CONNECTION\_ON) - SIM\_STATE\_IS\_ON\_EXTERNAL - ANIM   Templates used: - [ASOBO\_GT\_Switch\_Code](../../generic/complex/switch/#ASOBO_GT_Switch_Code) Parameters set: - TOOLTIP\_ENTRY\_0 (using BTN\_ID) - ANIM\_CODE (using BTN\_ID) - LEFT\_SINGLE\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_InertSep\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_InertSep\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_InertSep</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_InertSep</ANIM\_NAME> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <WWISE\_EVENT\_1>Inertsep\_lever\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <DIRECTION\_1>Forward</DIRECTION\_1> <WWISE\_EVENT\_2>Inertsep\_lever\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.9</NORMALIZED\_TIME\_2> <DIRECTION\_2>Backward</DIRECTION\_2> <ANIM>EXTERNAL</ANIM> </Case> </Switch> <VAR\_NAME>XMLVAR\_InterSep</VAR\_NAME> <VAR\_SCOPE>L</VAR\_SCOPE> <TOOLTIP\_TITLE>@TT\_Package.DEICE\_SWITCH\_INERTSEP\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.DEICE\_SWITCH\_INERTSEP\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <BTN\_ID>InertSep</BTN\_ID> </Parameters> <Component ID="\#NODE\_ID\#" Node="\#NODE\_ID\#"> <UseInputEvent ID="HANDLING"> <SET\_STATE\_ON>1 (>\#VAR\_SCOPE\#:\#VAR\_NAME\#)</SET\_STATE\_ON> <SET\_STATE\_OFF>0 (>\#VAR\_SCOPE\#:\#VAR\_NAME\#)</SET\_STATE\_OFF> <GET\_STATE\_EXTERNAL>(\#VAR\_SCOPE\#:\#VAR\_NAME\#) sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <STR\_STATE\_OFF>Normal</STR\_STATE\_OFF> <STR\_STATE\_ON>Bypass</STR\_STATE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_NORMAL)</TT\_VALUE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_BYPASS)</TT\_VALUE\_ON> </UseInputEvent> <UseTemplate Name="ASOBO\_GT\_Switch\_Code"> <TOOLTIP\_ENTRY\_0>HANDLING\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <LEFT\_SINGLE\_CODE>(>B:HANDLING\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> <ANIM\_CODE>(B:HANDLING\_\#BTN\_ID\#, Bool) 100 \*</ANIM\_CODE> </UseTemplate> </Component> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - VAR\_NAME - VAR\_SCOPE - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID Condition: Switch(INTERACTION\_TYPE) - Case: Lever Parameters set: - WWISE\_EVENT\_1 - NORMALIZED\_TIME\_1 - DIRECTION\_1 - WWISE\_EVENT\_2 - NORMALIZED\_TIME\_2 - DIRECTION\_2 - ANIM - Override Parameters set: - BTN\_ID Parameters read: - NODE\_ID Components: - \#NODE\_ID\# (Node: \#NODE\_ID\#) Parameters set: - SET\_STATE\_ON (using VAR\_SCOPE, VAR\_NAME) - SET\_STATE\_OFF (using VAR\_SCOPE, VAR\_NAME) - GET\_STATE\_EXTERNAL (using VAR\_SCOPE, VAR\_NAME) - SIM\_STATE\_IS\_ON\_EXTERNAL - STR\_STATE\_OFF - STR\_STATE\_ON - TT\_VALUE\_OFF - TT\_VALUE\_ON   Templates used: - [ASOBO\_GT\_Switch\_Code](../../generic/complex/switch/#ASOBO_GT_Switch_Code) Parameters set: - TOOLTIP\_ENTRY\_0 (using BTN\_ID) - LEFT\_SINGLE\_CODE (using BTN\_ID) - ANIM\_CODE (using BTN\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_AutoSpoiler\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_AutoSpoiler\_SubTemplate"> <Parameters Type="Default"> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_AutoSpoiler</ANIM\_NAME> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_AutoSpoiler</NODE\_ID> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_AutoSpoiler</PART\_ID> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <WWISE\_EVENT\_1>autospoiler\_push\_button\_on</WWISE\_EVENT\_1> <NORMALIZED\_TIME\_1>0.1</NORMALIZED\_TIME\_1> <WWISE\_EVENT\_2>autospoiler\_push\_button\_off</WWISE\_EVENT\_2> <NORMALIZED\_TIME\_2>0.5</NORMALIZED\_TIME\_2> <PUSH\_TYPE>NORM\_DISARM</PUSH\_TYPE> </Case> </Switch> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_PUSH\_AUTOGROUNDSPOILERS\_ACTION</TT\_DESCRIPTION\_ID> <TOOLTIP\_TITLE>@TT\_Package.HANDLING\_PUSH\_AUTOGROUNDSPOILERS\_TITLE</TOOLTIP\_TITLE> </Parameters> <Parameters Type="Override"> <BTN\_ID>AutoSpoiler</BTN\_ID> </Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="Push"> <UseTemplate Name="ASOBO\_GT\_Push\_Button\_Airliner"> <Switch Param="PUSH\_TYPE"> <Case Value="NORM\_DISARM"> <STR\_STATE\_ON>Norm</STR\_STATE\_ON> <STR\_STATE\_OFF>Disarm</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_NORMAL)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_DISARM)</TT\_VALUE\_OFF> </Case> </Switch> <INPUT\_EVENT\_ID>ENGINE</INPUT\_EVENT\_ID> <TOOLTIP\_ENTRY\_0>ENGINE\_\#BTN\_ID\#</TOOLTIP\_ENTRY\_0> <SEQ1\_EMISSIVE\_CODE>(B:ENGINE\_\#BTN\_ID\#, Bool)</SEQ1\_EMISSIVE\_CODE> <SEQ2\_EMISSIVE\_CODE>(B:ENGINE\_\#BTN\_ID\#, Bool) !</SEQ2\_EMISSIVE\_CODE> <LEFT\_SINGLE\_CODE>(>B:ENGINE\_\#BTN\_ID\#\_Toggle)</LEFT\_SINGLE\_CODE> <SIMVAR\_TO\_WATCH\_0>SPOILERS ARMED</SIMVAR\_TO\_WATCH\_0> <SET\_STATE\_EXTERNAL>(A:SPOILERS ARMED, Bool) p0 != if{ (>K:SPOILERS\_ARM\_TOGGLE) }</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:SPOILERS ARMED, Bool) sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> </UseTemplate> </Case> </Switch> </Template> Parameters initialization: - Default Parameters set: - ANIM\_NAME (using INTERACTION\_TYPE) - NODE\_ID (using INTERACTION\_TYPE) - PART\_ID (using INTERACTION\_TYPE) - TT\_DESCRIPTION\_ID - TOOLTIP\_TITLE Condition: Switch(INTERACTION\_TYPE) - Case: Push Parameters set: - WWISE\_EVENT\_1 - NORMALIZED\_TIME\_1 - WWISE\_EVENT\_2 - NORMALIZED\_TIME\_2 - PUSH\_TYPE - Override Parameters set: - BTN\_ID Condition: Switch(INTERACTION\_TYPE) - Case: Push   Templates used: - [ASOBO\_GT\_Push\_Button\_Airliner](../../generic/complex/pushbutton/#ASOBO_GT_Push_Button_Airliner) Parameters set: - INPUT\_EVENT\_ID - TOOLTIP\_ENTRY\_0 (using BTN\_ID) - SEQ1\_EMISSIVE\_CODE (using BTN\_ID) - SEQ2\_EMISSIVE\_CODE (using BTN\_ID) - LEFT\_SINGLE\_CODE (using BTN\_ID) - SIMVAR\_TO\_WATCH\_0 - SET\_STATE\_EXTERNAL - GET\_STATE\_EXTERNAL - SIM\_STATE\_IS\_ON\_EXTERNAL Condition: Switch(PUSH\_TYPE) - Case: NORM\_DISARM Parameters set: - STR\_STATE\_ON - STR\_STATE\_OFF - TT\_VALUE\_ON - TT\_VALUE\_OFF [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_HANDLING\_Water\_Rudder\_Controller\_SubTemplate Definition from XML <Template Name="ASOBO\_HANDLING\_Water\_Rudder\_Controller\_SubTemplate"> <Parameters Type="Default"> <NODE\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Water\_Rudder</NODE\_ID> <ANIM\_NAME>HANDLING\_\#INTERACTION\_TYPE\#\_Water\_Rudder</ANIM\_NAME> <PART\_ID>HANDLING\_\#INTERACTION\_TYPE\#\_Water\_Rudder</PART\_ID> <WWISE\_PREFIX>water\_rudder</WWISE\_PREFIX> <Switch Param="INTERACTION\_TYPE"> <Case Value="Switch"> <TOOLTIP\_TITLE>@TT\_Package.HYDRA\_SWITCH\_WATERRUDDER\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.HYDRA\_SWITCH\_WATERRUDDER\_ACTION\_SET</TT\_DESCRIPTION\_ID> </Case> <Case Value="Lever"> <TOOLTIP\_TITLE>@TT\_Package.LANDING\_GEAR\_WATER\_RUDDER\_TITLE</TOOLTIP\_TITLE> <TT\_DESCRIPTION\_ID>@TT\_Package.LANDING\_GEAR\_WATER\_RUDDER\_ACTION</TT\_DESCRIPTION\_ID> </Case> </Switch> <Condition Valid="USE\_STATE\_INDICATOR"> <EMISSIVE\_NODE\_ID>HANDLING\_Indicator\_WaterRudder</EMISSIVE\_NODE\_ID> </Condition> </Parameters> <Condition Valid="USE\_STATE\_INDICATOR"> <Component ID="\#EMISSIVE\_NODE\_ID\#" Node="\#EMISSIVE\_NODE\_ID\#"> <UseTemplate Name="ASOBO\_GT\_Emissive\_Gauge"> <EMISSIVE\_CODE>(B:HANDLING\_Water\_Rudder, Bool)</EMISSIVE\_CODE> </UseTemplate> </Component> </Condition> <UseTemplate Name="ASOBO\_HANDLING\_Base\_Template"> <IE\_NAME>Water\_Rudder</IE\_NAME> <SET\_STATE\_EXTERNAL>p0 (A:WATER RUDDER HANDLE POSITION, percent over 100) 0 > != if{ (>K:TOGGLE\_WATER\_RUDDER) }</SET\_STATE\_EXTERNAL> <GET\_STATE\_EXTERNAL>(A:WATER RUDDER HANDLE POSITION, percent over 100) 0 > sp0</GET\_STATE\_EXTERNAL> <SIM\_STATE\_IS\_ON\_EXTERNAL>l0</SIM\_STATE\_IS\_ON\_EXTERNAL> <STR\_STATE\_ON>Down</STR\_STATE\_ON> <STR\_STATE\_OFF>Up</STR\_STATE\_OFF> <TT\_VALUE\_ON>(R:1:@TT\_Package.GT\_STATE\_DOWN)</TT\_VALUE\_ON> <TT\_VALUE\_OFF>(R:1:@TT\_Package.GT\_STATE\_UP)</TT\_VALUE\_OFF> <SIMVAR\_TO\_WATCH\_0>WATER RUDDER HANDLE POSITION</SIMVAR\_TO\_WATCH\_0> <Switch Param="INTERACTION\_TYPE"> <Case Value="Lever"> <LEVER\_TYPE>2\_STATES</LEVER\_TYPE> </Case> </Switch> </UseTemplate> </Template> Parameters initialization: - Default Parameters set: - NODE\_ID (using INTERACTION\_TYPE) - ANIM\_NAME (using INTERACTION\_TYPE) - PART\_ID (using INTERACTION\_TYPE) - WWISE\_PREFIX Condition: Switch(INTERACTION\_TYPE) - Case: Switch Parameters set: - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID - Case: Lever Parameters set: - TOOLTIP\_TITLE - TT\_DESCRIPTION\_ID Condition: Valid(USE\_STATE\_INDICATOR) - Case: True Parameters set: - EMISSIVE\_NODE\_ID   Templates used: - [ASOBO\_HANDLING\_Base\_Template](../handling/#ASOBO_HANDLING_Base_Template) Parameters set: - IE\_NAME - SET\_STATE\_EXTERNAL - GET\_STATE\_EXTERNAL - SIM\_STATE\_IS\_ON\_EXTERNAL - STR\_STATE\_ON - STR\_STATE\_OFF - TT\_VALUE\_ON - TT\_VALUE\_OFF - SIMVAR\_TO\_WATCH\_0 Condition: Switch(INTERACTION\_TYPE) - Case: Lever Parameters set: - LEVER\_TYPE Condition: Valid(USE\_STATE\_INDICATOR) - Case: True Parameters read: - EMISSIVE\_NODE\_ID Components: - \#EMISSIVE\_NODE\_ID\# (Node: \#EMISSIVE\_NODE\_ID\#)   Templates used: - [ASOBO\_GT\_Emissive\_Gauge](../../generic/emissive/#ASOBO_GT_Emissive_Gauge) Parameters set: - EMISSIVE\_CODE [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html)