# Updates.xml [[Go back to index]](..\..\Template_Explorer.html) Asobo\(Generic\)Updates.xml --------------------------- Source XML <ModelBehaviors> <Include RelativeFile="Subtemplates\\\\Updates\_Subtemplates.xml"/> <!-- \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# --> <!-- \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# Update Templates \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# --> <!-- \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# --> <!-- This template is used to ensure switches that have multiple state have the right state if their Simvar is changed. This should be the only entry point. Do not call GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_XStates. NUM\_STATES can be set to decide how many states the switch should have. --> <Template Name = "ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates"> <DefaultTemplateParameters> <NUM\_STATES>2</NUM\_STATES> <SWITCH\_POSITION\_TYPE>O</SWITCH\_POSITION\_TYPE> <SWITCH\_POSITION\_VAR>SwitchState</SWITCH\_POSITION\_VAR> <INIT\_VARS/> <UPDATE\_STATES/> </DefaultTemplateParameters> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup"> </UseTemplate> </Template> <Template Name = "ASOBO\_GT\_Update\_SmoothLeverMovement"> <Parameters Type="Default"> <DRAG\_ANIMATION\_VARIABLE\_TYPE>O</DRAG\_ANIMATION\_VARIABLE\_TYPE> <DRAG\_ANIMATION\_VARIABLE\_NAME>XMLVAR\_\#NODE\_ID\#\_Animation\_Position</DRAG\_ANIMATION\_VARIABLE\_NAME> <DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE>O</DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE> <DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME>XMLVAR\_\#NODE\_ID\#\_Animation\_Target\_Position</DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME> <PERCENT\_PER\_SECONDS>100</PERCENT\_PER\_SECONDS> <FREQUENCY>30</FREQUENCY> </Parameters> <Parameters Type="Override"> <CHECK\_SETTER\_FAR\_FROM\_TARGET>\#ANIMATION\_CODE\_SETTER\# (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) - abs 0.1 ></CHECK\_SETTER\_FAR\_FROM\_TARGET> <CHECK\_ANIM\_FAR\_FROM\_TARGET>(\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) l0 - abs 0.1 ></CHECK\_ANIM\_FAR\_FROM\_TARGET> <Condition Valid="IS\_LOOPING"> <True> <SET\_TARGET> (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) (\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) - abs \#ANIM\_LENGTH\# 0.5 \* <= if{ (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) sp0 } els{ (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) \#ANIM\_LENGTH\# 0.5 \* < if{ \#ANIM\_LENGTH\# (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) + sp0 } els{ (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) \#ANIM\_LENGTH\# - sp0 } } </SET\_TARGET> </True> <False> <SET\_TARGET>(\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) sp0</SET\_TARGET> </False> </Condition> </Parameters> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_CODE> \#CHECK\_SETTER\_FAR\_FROM\_TARGET\# if{ \#ANIMATION\_CODE\_SETTER\# (>\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) } \#SET\_TARGET\# \#CHECK\_ANIM\_FAR\_FROM\_TARGET\# if{ (\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) l0 > if{ (\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) \#PERCENT\_PER\_SECONDS\# \#FREQUENCY\# / - l0 max (>\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) } els{ (\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) \#PERCENT\_PER\_SECONDS\# \#FREQUENCY\# / + l0 min (>\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) } } els{ (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) (>\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) } </UPDATE\_CODE> </UseTemplate> </Template> <Template Name="ASOBO\_GT\_Update"> <DefaultTemplateParameters> <FREQUENCY>1</FREQUENCY> <UPDATE\_CODE></UPDATE\_CODE> <INTERACTION\_MODEL>All</INTERACTION\_MODEL> </DefaultTemplateParameters> <Condition Check="UPDATE\_ONCE"> <True> <Update Once="True" InteractionModel="\#INTERACTION\_MODEL\#"> \#UPDATE\_CODE\# </Update> </True> <False> <Update Frequency="\#FREQUENCY\#" InteractionModel="\#INTERACTION\_MODEL\#"> \#UPDATE\_CODE\# </Update> </False> </Condition> </Template> </ModelBehaviors>     ### Includes - RelativeFile: [Subtemplates\\\\Updates\_Subtemplates.xml](subtemplates/updates-subtemplates/) ### Templates Template list 1. [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates](#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates) 2. [ASOBO\_GT\_Update\_SmoothLeverMovement](#ASOBO_GT_Update_SmoothLeverMovement) 3. [ASOBO\_GT\_Update](#ASOBO_GT_Update) - #### ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates Definition from XML <Template Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates"> <DefaultTemplateParameters> <NUM\_STATES>2</NUM\_STATES> <SWITCH\_POSITION\_TYPE>O</SWITCH\_POSITION\_TYPE> <SWITCH\_POSITION\_VAR>SwitchState</SWITCH\_POSITION\_VAR> <INIT\_VARS/> <UPDATE\_STATES/> </DefaultTemplateParameters> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup"/> </Template> Parameters initialization: - Default Parameters set: - NUM\_STATES - SWITCH\_POSITION\_TYPE - SWITCH\_POSITION\_VAR - INIT\_VARS - UPDATE\_STATES   Templates used: - [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup](subtemplates/updates-subtemplates/#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_ParamSetup) [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html) - #### ASOBO\_GT\_Update\_SmoothLeverMovement Definition from XML <Template Name="ASOBO\_GT\_Update\_SmoothLeverMovement"> <Parameters Type="Default"> <DRAG\_ANIMATION\_VARIABLE\_TYPE>O</DRAG\_ANIMATION\_VARIABLE\_TYPE> <DRAG\_ANIMATION\_VARIABLE\_NAME>XMLVAR\_\#NODE\_ID\#\_Animation\_Position</DRAG\_ANIMATION\_VARIABLE\_NAME> <DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE>O</DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE> <DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME>XMLVAR\_\#NODE\_ID\#\_Animation\_Target\_Position</DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME> <PERCENT\_PER\_SECONDS>100</PERCENT\_PER\_SECONDS> <FREQUENCY>30</FREQUENCY> </Parameters> <Parameters Type="Override"> <CHECK\_SETTER\_FAR\_FROM\_TARGET>\#ANIMATION\_CODE\_SETTER\# (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) - abs 0.1 ></CHECK\_SETTER\_FAR\_FROM\_TARGET> <CHECK\_ANIM\_FAR\_FROM\_TARGET>(\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) l0 - abs 0.1 ></CHECK\_ANIM\_FAR\_FROM\_TARGET> <Condition Valid="IS\_LOOPING"> <True> <SET\_TARGET> (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) (\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) - abs \#ANIM\_LENGTH\# 0.5 \* <= if{ (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) sp0 } els{ (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) \#ANIM\_LENGTH\# 0.5 \* < if{ \#ANIM\_LENGTH\# (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) + sp0 } els{ (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) \#ANIM\_LENGTH\# - sp0 } } </SET\_TARGET> </True> <False> <SET\_TARGET>(\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) sp0</SET\_TARGET> </False> </Condition> </Parameters> <UseTemplate Name="ASOBO\_GT\_Update"> <UPDATE\_CODE> \#CHECK\_SETTER\_FAR\_FROM\_TARGET\# if{ \#ANIMATION\_CODE\_SETTER\# (>\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) } \#SET\_TARGET\# \#CHECK\_ANIM\_FAR\_FROM\_TARGET\# if{ (\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) l0 > if{ (\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) \#PERCENT\_PER\_SECONDS\# \#FREQUENCY\# / - l0 max (>\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) } els{ (\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) \#PERCENT\_PER\_SECONDS\# \#FREQUENCY\# / + l0 min (>\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) } } els{ (\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME\#) (>\#DRAG\_ANIMATION\_VARIABLE\_TYPE\#:\#DRAG\_ANIMATION\_VARIABLE\_NAME\#) } </UPDATE\_CODE> </UseTemplate> </Template> Parameters initialization: - Default Parameters set: - DRAG\_ANIMATION\_VARIABLE\_TYPE - DRAG\_ANIMATION\_VARIABLE\_NAME (using NODE\_ID) - DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE - DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME (using NODE\_ID) - PERCENT\_PER\_SECONDS - FREQUENCY - Override Parameters set: - CHECK\_SETTER\_FAR\_FROM\_TARGET (using ANIMATION\_CODE\_SETTER, DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE, DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME) - CHECK\_ANIM\_FAR\_FROM\_TARGET (using DRAG\_ANIMATION\_VARIABLE\_TYPE, DRAG\_ANIMATION\_VARIABLE\_NAME) Condition: Valid(IS\_LOOPING) - Case: True Parameters set: - SET\_TARGET (using DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE, DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME, DRAG\_ANIMATION\_VARIABLE\_TYPE, DRAG\_ANIMATION\_VARIABLE\_NAME, ANIM\_LENGTH) - Case: False Parameters set: - SET\_TARGET (using DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE, DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME)   Templates used: - [ASOBO\_GT\_Update](updates/#ASOBO_GT_Update) Parameters set: - UPDATE\_CODE (using CHECK\_SETTER\_FAR\_FROM\_TARGET, ANIMATION\_CODE\_SETTER, DRAG\_ANIMATION\_TARGET\_VARIABLE\_TYPE, DRAG\_ANIMATION\_TARGET\_VARIABLE\_NAME, SET\_TARGET, CHECK\_ANIM\_FAR\_FROM\_TARGET, DRAG\_ANIMATION\_VARIABLE\_TYPE, DRAG\_ANIMATION\_VARIABLE\_NAME, PERCENT\_PER\_SECONDS, FREQUENCY) [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html) - #### ASOBO\_GT\_Update Definition from XML <Template Name="ASOBO\_GT\_Update"> <DefaultTemplateParameters> <FREQUENCY>1</FREQUENCY> <UPDATE\_CODE/> <INTERACTION\_MODEL>All</INTERACTION\_MODEL> </DefaultTemplateParameters> <Condition Check="UPDATE\_ONCE"> <True> <Update Once="True" InteractionModel="\#INTERACTION\_MODEL\#"> \#UPDATE\_CODE\# </Update> </True> <False> <Update Frequency="\#FREQUENCY\#" InteractionModel="\#INTERACTION\_MODEL\#"> \#UPDATE\_CODE\# </Update> </False> </Condition> </Template> Parameters initialization: - Default Parameters set: - FREQUENCY - UPDATE\_CODE - INTERACTION\_MODEL Condition: Check(UPDATE\_ONCE) - Case: True Parameters read: - INTERACTION\_MODEL - UPDATE\_CODE - Case: False Parameters read: - FREQUENCY - INTERACTION\_MODEL - UPDATE\_CODE [[Go back to top]](#top) [[Go back to index]](..\..\Template_Explorer.html)