# Updates_Subtemplates.xml [[Go back to index]](..\..\..\Template_Explorer.html) Asobo\(Generic\)Subtemplates\\Updates\_Subtemplates.xml ------------------------------------------------------- Source XML <ModelBehaviors> <!-- DO NOT CALL THIS TEMPLATE - Use GT\_Interaction\_LeftSingle\_MultiStates instead --> <Template Name = "ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup"> <OverrideTemplateParameters> <START\_STATE Process="Int">\#NUM\_STATES\# 1 -</START\_STATE> </OverrideTemplateParameters> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1"> <CURRENT\_ID>\#START\_STATE\#</CURRENT\_ID> <POS\_MAX>\#START\_STATE\#</POS\_MAX> </UseTemplate> </Template> <Template Name = "ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1"> <DefaultTemplateParameters> <STATE\#CURRENT\_ID\#\_ACTION/> </DefaultTemplateParameters> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_2"> <CURRENT\_ENUM\_VAL\_POS Process="Param">ENUM\_VAL\_POS\_\#CURRENT\_ID\#</CURRENT\_ENUM\_VAL\_POS> </UseTemplate> </Template> <Template Name = "ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_2"> <DefaultTemplateParameters> <Condition NotEmpty="CURRENT\_ENUM\_VAL\_POS"> <True> <STATE\#CURRENT\_ID\#\_TEST> (A:\#ENUM\_SIMVAR\#, Enum) \#CURRENT\_ENUM\_VAL\_POS\# == </STATE\#CURRENT\_ID\#\_TEST> </True> <False> <STATE\#CURRENT\_ID\#\_TEST>0</STATE\#CURRENT\_ID\#\_TEST> </False> </Condition> </DefaultTemplateParameters> <OverrideTemplateParameters> <CURRENT\_ID Process="Int">\#CURRENT\_ID\# 1 -</CURRENT\_ID> </OverrideTemplateParameters> <Condition> <Test> <GreaterOrEqual> <Number>\#CURRENT\_ID\#</Number> <Number>0</Number> </GreaterOrEqual> </Test> <True> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1"> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive"> <CURRENT\_ID>\#START\_STATE\#</CURRENT\_ID> <NEXT\_ID Process="Int">\#START\_STATE\# 1 -</NEXT\_ID> </UseTemplate> </False> </Condition> </Template> <Template Name = "ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive"> <OverrideTemplateParameters> <CURRENT\_STATE\_TEST Process="Param">STATE\#CURRENT\_ID\#\_TEST</CURRENT\_STATE\_TEST> <CURRENT\_STATE\_ACTION Process="Param">STATE\#CURRENT\_ID\#\_ACTION</CURRENT\_STATE\_ACTION> </OverrideTemplateParameters> <Condition> <Test> <GreaterOrEqual> <Number>\#CURRENT\_ID\#</Number> <Number>0</Number> </GreaterOrEqual> </Test> <True> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive"> <Condition Check="CURRENT\_STATE\_TEST" Match="0"> <False> <UPDATE\_STATES> els{ \#CURRENT\_STATE\_TEST\# if{ (\#SWITCH\_POSITION\_TYPE\#:\#SWITCH\_POSITION\_VAR\#) \#CURRENT\_ID\# != if{ \#CURRENT\_ID\# (>\#SWITCH\_POSITION\_TYPE\#:\#SWITCH\_POSITION\_VAR\#) \#CURRENT\_STATE\_ACTION\# } } \#UPDATE\_STATES\# } </UPDATE\_STATES> </False> </Condition> <CURRENT\_ID>\#NEXT\_ID\#</CURRENT\_ID> <NEXT\_ID Process="Int">\#NEXT\_ID\# 1 -</NEXT\_ID> </UseTemplate> </True> <False> <Condition NotEmpty="UPDATE\_STATES"> <True> <UseTemplate Name="ASOBO\_GT\_Update"> <FREQUENCY>5</FREQUENCY> <UPDATE\_CODE> \#INIT\_VARS\# 0 if{ } \#UPDATE\_STATES\# </UPDATE\_CODE> </UseTemplate> </True> </Condition> </False> </Condition> </Template> </ModelBehaviors>     ### Templates Template list 1. [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup](#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_ParamSetup) 2. [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1](#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_ParamSetup_Recursive_1) 3. [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_2](#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_ParamSetup_Recursive_2) 4. [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive](#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_CodeSetup_Recursive) - #### ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup Definition from XML <Template Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup"> <OverrideTemplateParameters> <START\_STATE Process="Int">\#NUM\_STATES\# 1 -</START\_STATE> </OverrideTemplateParameters> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1"> <CURRENT\_ID>\#START\_STATE\#</CURRENT\_ID> <POS\_MAX>\#START\_STATE\#</POS\_MAX> </UseTemplate> </Template> Parameters initialization: - Override Parameters set: - START\_STATE (using NUM\_STATES)   Templates used: - [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1](updates-subtemplates/#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_ParamSetup_Recursive_1) Parameters set: - CURRENT\_ID (using START\_STATE) - POS\_MAX (using START\_STATE) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1 Definition from XML <Template Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1"> <DefaultTemplateParameters> <STATE\#CURRENT\_ID\#\_ACTION/> </DefaultTemplateParameters> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_2"> <CURRENT\_ENUM\_VAL\_POS Process="Param">ENUM\_VAL\_POS\_\#CURRENT\_ID\#</CURRENT\_ENUM\_VAL\_POS> </UseTemplate> </Template> Parameters initialization: - Default Parameters set: - STATE\#CURRENT\_ID\#\_ACTION   Templates used: - [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_2](updates-subtemplates/#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_ParamSetup_Recursive_2) Parameters set: - CURRENT\_ENUM\_VAL\_POS (using CURRENT\_ID) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_2 Definition from XML <Template Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_2"> <DefaultTemplateParameters> <Condition NotEmpty="CURRENT\_ENUM\_VAL\_POS"> <True> <STATE\#CURRENT\_ID\#\_TEST> (A:\#ENUM\_SIMVAR\#, Enum) \#CURRENT\_ENUM\_VAL\_POS\# == </STATE\#CURRENT\_ID\#\_TEST> </True> <False> <STATE\#CURRENT\_ID\#\_TEST>0</STATE\#CURRENT\_ID\#\_TEST> </False> </Condition> </DefaultTemplateParameters> <OverrideTemplateParameters> <CURRENT\_ID Process="Int">\#CURRENT\_ID\# 1 -</CURRENT\_ID> </OverrideTemplateParameters> <Condition> <Test> <GreaterOrEqual> <Number>\#CURRENT\_ID\#</Number> <Number>0</Number> </GreaterOrEqual> </Test> <True> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1"/> </True> <False> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive"> <CURRENT\_ID>\#START\_STATE\#</CURRENT\_ID> <NEXT\_ID Process="Int">\#START\_STATE\# 1 -</NEXT\_ID> </UseTemplate> </False> </Condition> </Template> Parameters initialization: - Default Condition: NotEmpty(CURRENT\_ENUM\_VAL\_POS) - Case: True Parameters set: - STATE\#CURRENT\_ID\#\_TEST (using ENUM\_SIMVAR, CURRENT\_ENUM\_VAL\_POS) - Case: False Parameters set: - STATE\#CURRENT\_ID\#\_TEST - Override Parameters set: - CURRENT\_ID (using CURRENT\_ID) Condition: Test - Case: True   Templates used: - [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_ParamSetup\_Recursive\_1](updates-subtemplates/#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_ParamSetup_Recursive_1) - Case: False   Templates used: - [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive](updates-subtemplates/#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_CodeSetup_Recursive) Parameters set: - CURRENT\_ID (using START\_STATE) - NEXT\_ID (using START\_STATE) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive Definition from XML <Template Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive"> <OverrideTemplateParameters> <CURRENT\_STATE\_TEST Process="Param">STATE\#CURRENT\_ID\#\_TEST</CURRENT\_STATE\_TEST> <CURRENT\_STATE\_ACTION Process="Param">STATE\#CURRENT\_ID\#\_ACTION</CURRENT\_STATE\_ACTION> </OverrideTemplateParameters> <Condition> <Test> <GreaterOrEqual> <Number>\#CURRENT\_ID\#</Number> <Number>0</Number> </GreaterOrEqual> </Test> <True> <UseTemplate Name="ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive"> <Condition Check="CURRENT\_STATE\_TEST" Match="0"> <False> <UPDATE\_STATES> els{ \#CURRENT\_STATE\_TEST\# if{ (\#SWITCH\_POSITION\_TYPE\#:\#SWITCH\_POSITION\_VAR\#) \#CURRENT\_ID\# != if{ \#CURRENT\_ID\# (>\#SWITCH\_POSITION\_TYPE\#:\#SWITCH\_POSITION\_VAR\#) \#CURRENT\_STATE\_ACTION\# } } \#UPDATE\_STATES\# } </UPDATE\_STATES> </False> </Condition> <CURRENT\_ID>\#NEXT\_ID\#</CURRENT\_ID> <NEXT\_ID Process="Int">\#NEXT\_ID\# 1 -</NEXT\_ID> </UseTemplate> </True> <False> <Condition NotEmpty="UPDATE\_STATES"> <True> <UseTemplate Name="ASOBO\_GT\_Update"> <FREQUENCY>5</FREQUENCY> <UPDATE\_CODE> \#INIT\_VARS\# 0 if{ } \#UPDATE\_STATES\# </UPDATE\_CODE> </UseTemplate> </True> </Condition> </False> </Condition> </Template> Parameters initialization: - Override Parameters set: - CURRENT\_STATE\_TEST (using CURRENT\_ID) - CURRENT\_STATE\_ACTION (using CURRENT\_ID) Condition: Test - Case: True   Templates used: - [ASOBO\_GT\_Update\_EnsureVariableConsistency\_MultiStates\_CodeSetup\_Recursive](updates-subtemplates/#ASOBO_GT_Update_EnsureVariableConsistency_MultiStates_CodeSetup_Recursive) Parameters set: - CURRENT\_ID (using NEXT\_ID) - NEXT\_ID (using NEXT\_ID) Condition: Check(CURRENT\_STATE\_TEST) - Case: False Parameters set: - UPDATE\_STATES (using CURRENT\_STATE\_TEST, SWITCH\_POSITION\_TYPE, SWITCH\_POSITION\_VAR, CURRENT\_ID, CURRENT\_STATE\_ACTION, UPDATE\_STATES) - Case: False Condition: NotEmpty(UPDATE\_STATES) - Case: True   Templates used: - [ASOBO\_GT\_Update](../updates/#ASOBO_GT_Update) Parameters set: - FREQUENCY - UPDATE\_CODE (using INIT\_VARS, UPDATE\_STATES) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html)