ASPropeller.xml
Asobo\(Misc\)ASPropeller.xml
Source XML
<ModelBehaviors> <Include RelativeFile=“Inputs\\Misc_Inputs.xml”/> <Template Name=“ASOBO_ASPropeller_Template”> <Parameters Type=“Default”> <SWITCH_AUTO_MANUAL_NODE_ID>ASPropeller_Switch_Propeller_AutoManual</SWITCH_AUTO_MANUAL_NODE_ID> <SWITCH_AUTO_MANUAL_ANIM_NAME>ASPropeller_Switch_Propeller_AutoManual</SWITCH_AUTO_MANUAL_ANIM_NAME> <KNOB_INC_DEC_NODE_ID>ASPropeller_Knob_Propeller_RPM</KNOB_INC_DEC_NODE_ID> <KNOB_INC_DEC_ANIM_NAME>ASPropeller_Knob_Propeller_RPM</KNOB_INC_DEC_ANIM_NAME> <SWITCH_INC_DEC_NODE_ID>ASPropeller_Switch_Propeller_RPM</SWITCH_INC_DEC_NODE_ID> <SWITCH_INC_DEC_ANIM_NAME>ASPropellerSwitch_Propeller_RPM</SWITCH_INC_DEC_ANIM_NAME> <MIN_EMISSIVE_NODE_ID>ASPropeller_Emissive_Pitch_Min</MIN_EMISSIVE_NODE_ID> <MAX_EMISSIVE_NODE_ID>ASPropeller_Emissive_Pitch_Max</MAX_EMISSIVE_NODE_ID> <SCREEN_NODE_ID>ASPropeller_Screen</SCREEN_NODE_ID> <AS_PROPELLER>ASPropeller</AS_PROPELLER> <UPDATE_FREQ>10</UPDATE_FREQ> <UPDATE_COUNT_BEFORE_REPEAT>5</UPDATE_COUNT_BEFORE_REPEAT> <ADDITIONAL_TESTS/> <MOMENTARY_MIN_DURATION>0.1</MOMENTARY_MIN_DURATION> </Parameters> <Component ID=“ASPropeller_Switch_Propeller_AutoManual” Node="#SWITCH_AUTO_MANUAL_NODE_ID#"> <UseTemplate Name=“ASOBO_GT_Interaction_Tooltip”> <NODE_ID>#SWITCH_AUTO_MANUAL_NODE_ID#</NODE_ID><!– no time for this feature as of now, stick to auto –> <ANIM_POS>0</ANIM_POS> <ANIM_NAME>#SWITCH_AUTO_MANUAL_ANIM_NAME#</ANIM_NAME> </UseTemplate> </Component> <Component ID=“ASPropeller_Knob_Propeller_RPM” Node="#KNOB_INC_DEC_NODE_ID#"> <UseTemplate Name=“ASOBO_GT_Interaction_Tooltip”> <NODE_ID>#KNOB_INC_DEC_NODE_ID#</NODE_ID><!– no time for this feature as of now, stick to auto –> <ANIM_POS>0</ANIM_POS> <ANIM_NAME>#KNOB_INC_DEC_ANIM_NAME#</ANIM_NAME> </UseTemplate> </Component> <Component ID=“ASPropeller_Switch_Propeller_RPM” Node="#SWITCH_INC_DEC_NODE_ID#"> <Parameters Type=“Override”> <POS_INC>0</POS_INC> <POS_STATIC>1</POS_STATIC> <POS_DEC>2</POS_DEC> <BTN_ID>RPM_Switch</BTN_ID> </Parameters> <UseTemplate Name=“ASOBO_GT_Update”> <FREQUENCY>#UPDATE_FREQ#</FREQUENCY> <UPDATE_CODE> (O:_Delta) 0 != #ADDITIONAL_TESTS# if{ (O:_UPDATE_Count) #UPDATE_COUNT_BEFORE_REPEAT# >= if{ (O:_Delta) 0 > if{ (>H:#AS_PROPELLER#_Switch_Inc) } els{ (>H:#AS_PROPELLER#_Switch_Dec) } } (O:_UPDATE_Count) 1 + (>O:_UPDATE_Count) } </UPDATE_CODE> </UseTemplate> <UseInputEvent ID=“AS_Propeller”> <NUM_STATES>3</NUM_STATES> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> <GET_STATE_EXTERNAL>(O:_Delta) 1 - abs sp0</GET_STATE_EXTERNAL> <TT_DESCRIPTION_ID>@TT_Package.AS_PROPELLER_SWITCH_ACTION</TT_DESCRIPTION_ID> <TT_VALUE>(L:#AS_PROPELLER#_Commanded_RPM) ‘%d RPM’ @sprintf</TT_VALUE> <!– INC –> <SET_STATE_#POS_INC#>(>H:#AS_PROPELLER#_Switch_Inc) 1 (>O:_Delta)</SET_STATE_#POS_INC#> <STR_STATE_#POS_INC#>Increase</STR_STATE_#POS_INC#> <!– STATIC –> <SET_STATE_#POS_STATIC#>0 (>O:_Delta) 0 (>O:_UPDATE_Count)</SET_STATE_#POS_STATIC#> <STR_STATE_#POS_STATIC#>Static</STR_STATE_#POS_STATIC#> <!– DEC –> <SET_STATE_#POS_DEC#>(>H:#AS_PROPELLER#_Switch_Dec) -1 (>O:_Delta)</SET_STATE_#POS_DEC#> <STR_STATE_#POS_DEC#>Decrease</STR_STATE_#POS_DEC#> </UseInputEvent> <UseTemplate Name=“ASOBO_GT_Switch_3States”> <ANIM_NAME>#SWITCH_INC_DEC_ANIM_NAME#</ANIM_NAME> <MOMENTARY_SWITCH/> <STATE_MAX_TIMER>#MOMENTARY_MIN_DURATION#</STATE_MAX_TIMER> <STATE0_TIMER>#MOMENTARY_MIN_DURATION#</STATE0_TIMER> <SWITCH_DIRECTION>Vertical</SWITCH_DIRECTION> <THRESHOLD_INPUT>0.00025</THRESHOLD_INPUT> <THRESHOLD_MOUSE>0.005</THRESHOLD_MOUSE> <TOOLTIP_TITLE>@TT_Package.AS_PROPELLER_SWITCH_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>AS_Propeller_#BTN_ID#</TOOLTIP_ENTRY_0> <WWISE_EVENT>lever_propeller_switch</WWISE_EVENT> <!– INC –> <CODE_POS_#POS_INC#>(>B:AS_Propeller_#BTN_ID#_Increase)</CODE_POS_#POS_INC#> <STATE#POS_INC#_TEST>(B:AS_Propeller_#BTN_ID#) #POS_INC# ==</STATE#POS_INC#_TEST> <!– STATIC –> <CODE_POS_#POS_STATIC#>(>B:AS_Propeller_#BTN_ID#_Static)</CODE_POS_#POS_STATIC#> <STATE#POS_STATIC#_TEST>(B:AS_Propeller_#BTN_ID#) #POS_STATIC# ==</STATE#POS_STATIC#_TEST> <!– DEC –> <CODE_POS_#POS_DEC#>(>B:AS_Propeller_#BTN_ID#_Decrease) -1 (>O:_Delta)</CODE_POS_#POS_DEC#> <STATE#POS_DEC#_TEST>(B:AS_Propeller_#BTN_ID#) #POS_DEC# ==</STATE#POS_DEC#_TEST> </UseTemplate> </Component> <UseTemplate Name=“ASOBO_GT_Component_Emissive_Gauge”> <NODE_ID>#MIN_EMISSIVE_NODE_ID#</NODE_ID> <EMISSIVE_CODE>(L:#AS_PROPELLER#_Pitch_Min) 0 ></EMISSIVE_CODE> </UseTemplate> <UseTemplate Name=“ASOBO_GT_Component_Emissive_Gauge”> <NODE_ID>#MAX_EMISSIVE_NODE_ID#</NODE_ID> <EMISSIVE_CODE>(L:#AS_PROPELLER#_Pitch_Max) 0 ></EMISSIVE_CODE> </UseTemplate> <UseTemplate Name=“ASOBO_GT_Component_Emissive_Gauge”> <NODE_ID>#SCREEN_NODE_ID#</NODE_ID> <EMISSIVE_CODE>0.5</EMISSIVE_CODE> </UseTemplate> </Template> </ModelBehaviors>
Includes
- RelativeFile: Inputs\\Misc_Inputs.xml
Templates
Template list
ASOBO_ASPropeller_Template
Definition from XML
<Template Name=“ASOBO_ASPropeller_Template”> <Parameters Type=“Default”> <SWITCH_AUTO_MANUAL_NODE_ID>ASPropeller_Switch_Propeller_AutoManual</SWITCH_AUTO_MANUAL_NODE_ID> <SWITCH_AUTO_MANUAL_ANIM_NAME>ASPropeller_Switch_Propeller_AutoManual</SWITCH_AUTO_MANUAL_ANIM_NAME> <KNOB_INC_DEC_NODE_ID>ASPropeller_Knob_Propeller_RPM</KNOB_INC_DEC_NODE_ID> <KNOB_INC_DEC_ANIM_NAME>ASPropeller_Knob_Propeller_RPM</KNOB_INC_DEC_ANIM_NAME> <SWITCH_INC_DEC_NODE_ID>ASPropeller_Switch_Propeller_RPM</SWITCH_INC_DEC_NODE_ID> <SWITCH_INC_DEC_ANIM_NAME>ASPropellerSwitch_Propeller_RPM</SWITCH_INC_DEC_ANIM_NAME> <MIN_EMISSIVE_NODE_ID>ASPropeller_Emissive_Pitch_Min</MIN_EMISSIVE_NODE_ID> <MAX_EMISSIVE_NODE_ID>ASPropeller_Emissive_Pitch_Max</MAX_EMISSIVE_NODE_ID> <SCREEN_NODE_ID>ASPropeller_Screen</SCREEN_NODE_ID> <AS_PROPELLER>ASPropeller</AS_PROPELLER> <UPDATE_FREQ>10</UPDATE_FREQ> <UPDATE_COUNT_BEFORE_REPEAT>5</UPDATE_COUNT_BEFORE_REPEAT> <ADDITIONAL_TESTS/> <MOMENTARY_MIN_DURATION>0.1</MOMENTARY_MIN_DURATION> </Parameters> <Component ID=“ASPropeller_Switch_Propeller_AutoManual” Node="#SWITCH_AUTO_MANUAL_NODE_ID#"> <UseTemplate Name=“ASOBO_GT_Interaction_Tooltip”> <NODE_ID>#SWITCH_AUTO_MANUAL_NODE_ID#</NODE_ID> <ANIM_POS>0</ANIM_POS> <ANIM_NAME>#SWITCH_AUTO_MANUAL_ANIM_NAME#</ANIM_NAME> </UseTemplate> </Component> <Component ID=“ASPropeller_Knob_Propeller_RPM” Node="#KNOB_INC_DEC_NODE_ID#"> <UseTemplate Name=“ASOBO_GT_Interaction_Tooltip”> <NODE_ID>#KNOB_INC_DEC_NODE_ID#</NODE_ID> <ANIM_POS>0</ANIM_POS> <ANIM_NAME>#KNOB_INC_DEC_ANIM_NAME#</ANIM_NAME> </UseTemplate> </Component> <Component ID=“ASPropeller_Switch_Propeller_RPM” Node="#SWITCH_INC_DEC_NODE_ID#"> <Parameters Type=“Override”> <POS_INC>0</POS_INC> <POS_STATIC>1</POS_STATIC> <POS_DEC>2</POS_DEC> <BTN_ID>RPM_Switch</BTN_ID> </Parameters> <UseTemplate Name=“ASOBO_GT_Update”> <FREQUENCY>#UPDATE_FREQ#</FREQUENCY> <UPDATE_CODE> (O:_Delta) 0 != #ADDITIONAL_TESTS# if{ (O:_UPDATE_Count) #UPDATE_COUNT_BEFORE_REPEAT# >= if{ (O:_Delta) 0 > if{ (>H:#AS_PROPELLER#_Switch_Inc) } els{ (>H:#AS_PROPELLER#_Switch_Dec) } } (O:_UPDATE_Count) 1 + (>O:_UPDATE_Count) } </UPDATE_CODE> </UseTemplate> <UseInputEvent ID=“AS_Propeller”> <NUM_STATES>3</NUM_STATES> <ENUM_VAL_TO_POS_EXTERNAL>l0</ENUM_VAL_TO_POS_EXTERNAL> <GET_STATE_EXTERNAL>(O:_Delta) 1 - abs sp0</GET_STATE_EXTERNAL> <TT_DESCRIPTION_ID>@TT_Package.AS_PROPELLER_SWITCH_ACTION</TT_DESCRIPTION_ID> <TT_VALUE>(L:#AS_PROPELLER#_Commanded_RPM) '%d RPM' @sprintf</TT_VALUE> <SET_STATE_#POS_INC#>(>H:#AS_PROPELLER#_Switch_Inc) 1 (>O:_Delta)</SET_STATE_#POS_INC#> <STR_STATE_#POS_INC#>Increase</STR_STATE_#POS_INC#> <SET_STATE_#POS_STATIC#>0 (>O:_Delta) 0 (>O:_UPDATE_Count)</SET_STATE_#POS_STATIC#> <STR_STATE_#POS_STATIC#>Static</STR_STATE_#POS_STATIC#> <SET_STATE_#POS_DEC#>(>H:#AS_PROPELLER#_Switch_Dec) -1 (>O:_Delta)</SET_STATE_#POS_DEC#> <STR_STATE_#POS_DEC#>Decrease</STR_STATE_#POS_DEC#> </UseInputEvent> <UseTemplate Name=“ASOBO_GT_Switch_3States”> <ANIM_NAME>#SWITCH_INC_DEC_ANIM_NAME#</ANIM_NAME> <MOMENTARY_SWITCH/> <STATE_MAX_TIMER>#MOMENTARY_MIN_DURATION#</STATE_MAX_TIMER> <STATE0_TIMER>#MOMENTARY_MIN_DURATION#</STATE0_TIMER> <SWITCH_DIRECTION>Vertical</SWITCH_DIRECTION> <THRESHOLD_INPUT>0.00025</THRESHOLD_INPUT> <THRESHOLD_MOUSE>0.005</THRESHOLD_MOUSE> <TOOLTIP_TITLE>@TT_Package.AS_PROPELLER_SWITCH_TITLE</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>AS_Propeller_#BTN_ID#</TOOLTIP_ENTRY_0> <WWISE_EVENT>lever_propeller_switch</WWISE_EVENT> <CODE_POS_#POS_INC#>(>B:AS_Propeller_#BTN_ID#_Increase)</CODE_POS_#POS_INC#> <STATE#POS_INC#_TEST>(B:AS_Propeller_#BTN_ID#) #POS_INC# ==</STATE#POS_INC#_TEST> <CODE_POS_#POS_STATIC#>(>B:AS_Propeller_#BTN_ID#_Static)</CODE_POS_#POS_STATIC#> <STATE#POS_STATIC#_TEST>(B:AS_Propeller_#BTN_ID#) #POS_STATIC# ==</STATE#POS_STATIC#_TEST> <CODE_POS_#POS_DEC#>(>B:AS_Propeller_#BTN_ID#_Decrease) -1 (>O:_Delta)</CODE_POS_#POS_DEC#> <STATE#POS_DEC#_TEST>(B:AS_Propeller_#BTN_ID#) #POS_DEC# ==</STATE#POS_DEC#_TEST> </UseTemplate> </Component> <UseTemplate Name=“ASOBO_GT_Component_Emissive_Gauge”> <NODE_ID>#MIN_EMISSIVE_NODE_ID#</NODE_ID> <EMISSIVE_CODE>(L:#AS_PROPELLER#_Pitch_Min) 0 ></EMISSIVE_CODE> </UseTemplate> <UseTemplate Name=“ASOBO_GT_Component_Emissive_Gauge”> <NODE_ID>#MAX_EMISSIVE_NODE_ID#</NODE_ID> <EMISSIVE_CODE>(L:#AS_PROPELLER#_Pitch_Max) 0 ></EMISSIVE_CODE> </UseTemplate> <UseTemplate Name=“ASOBO_GT_Component_Emissive_Gauge”> <NODE_ID>#SCREEN_NODE_ID#</NODE_ID> <EMISSIVE_CODE>0.5</EMISSIVE_CODE> </UseTemplate> </Template>
Parameters initialization:
Default Parameters set:
- SWITCH_AUTO_MANUAL_NODE_ID
- SWITCH_AUTO_MANUAL_ANIM_NAME
- KNOB_INC_DEC_NODE_ID
- KNOB_INC_DEC_ANIM_NAME
- SWITCH_INC_DEC_NODE_ID
- SWITCH_INC_DEC_ANIM_NAME
- MIN_EMISSIVE_NODE_ID
- MAX_EMISSIVE_NODE_ID
- SCREEN_NODE_ID
- AS_PROPELLER
- UPDATE_FREQ
- UPDATE_COUNT_BEFORE_REPEAT
- ADDITIONAL_TESTS
- MOMENTARY_MIN_DURATION
Parameters read:
- SWITCH_AUTO_MANUAL_NODE_ID
- KNOB_INC_DEC_NODE_ID
- SWITCH_INC_DEC_NODE_ID
Components:
ASPropeller_Switch_Propeller_AutoManual (Node: #SWITCH_AUTO_MANUAL_NODE_ID#)
Templates used:
ASOBO_GT_Interaction_Tooltip Parameters set:
- NODE_ID (using SWITCH_AUTO_MANUAL_NODE_ID)
- ANIM_POS
- ANIM_NAME (using SWITCH_AUTO_MANUAL_ANIM_NAME)
ASPropeller_Knob_Propeller_RPM (Node: #KNOB_INC_DEC_NODE_ID#)
Templates used:
ASOBO_GT_Interaction_Tooltip Parameters set:
- NODE_ID (using KNOB_INC_DEC_NODE_ID)
- ANIM_POS
- ANIM_NAME (using KNOB_INC_DEC_ANIM_NAME)
ASPropeller_Switch_Propeller_RPM (Node: #SWITCH_INC_DEC_NODE_ID#) Parameters set:
- POS_INC
- POS_STATIC
- POS_DEC
- BTN_ID
- NUM_STATES
- ENUM_VAL_TO_POS_EXTERNAL
- GET_STATE_EXTERNAL
- TT_DESCRIPTION_ID
- TT_VALUE (using AS_PROPELLER)
- SET_STATE_#POS_INC# (using AS_PROPELLER)
- STR_STATE_#POS_INC#
- SET_STATE_#POS_STATIC#
- STR_STATE_#POS_STATIC#
- SET_STATE_#POS_DEC# (using AS_PROPELLER)
- STR_STATE_#POS_DEC#
Templates used:
ASOBO_GT_Update Parameters set:
- FREQUENCY (using UPDATE_FREQ)
- UPDATE_CODE (using ADDITIONAL_TESTS, UPDATE_COUNT_BEFORE_REPEAT, AS_PROPELLER)
ASOBO_GT_Switch_3States Parameters set:
- ANIM_NAME (using SWITCH_INC_DEC_ANIM_NAME)
- MOMENTARY_SWITCH
- STATE_MAX_TIMER (using MOMENTARY_MIN_DURATION)
- STATE0_TIMER (using MOMENTARY_MIN_DURATION)
- SWITCH_DIRECTION
- THRESHOLD_INPUT
- THRESHOLD_MOUSE
- TOOLTIP_TITLE
- TOOLTIP_ENTRY_0 (using BTN_ID)
- WWISE_EVENT
- CODE_POS_#POS_INC# (using BTN_ID)
- STATE#POS_INC#_TEST (using BTN_ID, POS_INC)
- CODE_POS_#POS_STATIC# (using BTN_ID)
- STATE#POS_STATIC#_TEST (using BTN_ID, POS_STATIC)
- CODE_POS_#POS_DEC# (using BTN_ID)
- STATE#POS_DEC#_TEST (using BTN_ID, POS_DEC)
Templates used:
ASOBO_GT_Component_Emissive_Gauge Parameters set:
- NODE_ID (using MIN_EMISSIVE_NODE_ID)
- EMISSIVE_CODE (using AS_PROPELLER)
ASOBO_GT_Component_Emissive_Gauge Parameters set:
- NODE_ID (using MAX_EMISSIVE_NODE_ID)
- EMISSIVE_CODE (using AS_PROPELLER)
ASOBO_GT_Component_Emissive_Gauge Parameters set:
- NODE_ID (using SCREEN_NODE_ID)
- EMISSIVE_CODE