[Go back to index]

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# &gt;= if{ (O:_Delta) 0 &gt; if{ (&gt;H:#AS_PROPELLER#_Switch_Inc) } els{ (&gt;H:#AS_PROPELLER#_Switch_Dec) } } (O:_UPDATE_Count) 1 + (&gt;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#>(&gt;H:#AS_PROPELLER#_Switch_Inc) 1 (&gt;O:_Delta)</SET_STATE_#POS_INC#> <STR_STATE_#POS_INC#>Increase</STR_STATE_#POS_INC#> <!-- STATIC --> <SET_STATE_#POS_STATIC#>0 (&gt;O:_Delta) 0 (&gt;O:_UPDATE_Count)</SET_STATE_#POS_STATIC#> <STR_STATE_#POS_STATIC#>Static</STR_STATE_#POS_STATIC#> <!-- DEC --> <SET_STATE_#POS_DEC#>(&gt;H:#AS_PROPELLER#_Switch_Dec) -1 (&gt;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#>(&gt;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#>(&gt;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#>(&gt;B:AS_Propeller_#BTN_ID#_Decrease) -1 (&gt;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 &gt;</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 &gt;</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

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# &gt;= if{ (O:_Delta) 0 &gt; if{ (&gt;H:#AS_PROPELLER#_Switch_Inc) } els{ (&gt;H:#AS_PROPELLER#_Switch_Dec) } } (O:_UPDATE_Count) 1 + (&gt;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) &apos;%d RPM&apos; @sprintf</TT_VALUE> <SET_STATE_#POS_INC#>(&gt;H:#AS_PROPELLER#_Switch_Inc) 1 (&gt;O:_Delta)</SET_STATE_#POS_INC#> <STR_STATE_#POS_INC#>Increase</STR_STATE_#POS_INC#> <SET_STATE_#POS_STATIC#>0 (&gt;O:_Delta) 0 (&gt;O:_UPDATE_Count)</SET_STATE_#POS_STATIC#> <STR_STATE_#POS_STATIC#>Static</STR_STATE_#POS_STATIC#> <SET_STATE_#POS_DEC#>(&gt;H:#AS_PROPELLER#_Switch_Dec) -1 (&gt;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#>(&gt;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#>(&gt;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#>(&gt;B:AS_Propeller_#BTN_ID#_Decrease) -1 (&gt;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 &gt;</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 &gt;</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:

    • 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: