Dans la nouvelle StateMachine, il faut prendre en compte une optimisation possible via les scopes de variables. Les activités State disposent toutes d'un scope de variables qui est accessible à leurs transitions sortantes.
Prenons par exemple une machine à état disposant de 4 état. Voici une représentation de l’étendue du scope de State1
L’étendue du scope de State2
L’étendue du scope de State3
Résultat : on peut très bien conditionner un Trigger en utilisant une variable de l'état courant. Avec ce scope, on peut donc limiter le nombre de variables présentes dans le scope de la StateMachine racine, et donc améliorer les performances (temps de chargements et d'accès à la StateMachine et aux variables).
Et pour les petits fainéants qui trouvent qu’il est toujours plus facile de créer une variable à la racine, voici une petite capture de la commande d’accès rapide qui permet d’ajouter une variable au scope d’un état :
On ne peut pas faire plus simple et plus court