Esta acción almacena el grupo de la pieza unida en una variable local, de modo que podemos seleccionar piezas del mismo grupo.
Añadimos un sub-evento con la condición:
System Pick All ActualPiece
Esto vaciará nuestra selección, de modo que buscaremos las piezas del grupo Group2 entre todas las piezas (y no solo dentro de las ya seleccionadas).
Añadimos otro subevento (un sub-subevento) con las condiciones:
System Pick All ActualPiece
System For each actualpiece
Actualpiece.Group=Group2
(Sistema: Elija todos los objetos ActualPiece. Por cada Actualpiece donde el grupo de ActualPiece sea Grupo 2...)
Este sub-subevento buscará piezas dentro de Group2. Esas piezas estarán "unidas" a la pieza que estamos uniendo a MyGroup, de manera que tenemos que unir también esas piezas.
Ponemos las siguientes acciones dentro:
Set ActualPiece group to Mygroup
Set ActualPiece position to (ActualPiece.PlaceX-CompareX)[i]PieceStepX+MyX, (ActualPiece.PlaceY-CompareY)[/i]PieceStepY+MyY
(Establece la variable local "Grupo" de Actualpiece en "MyGroup" y la posición en (ActualPiece.PlaceX-CompareX)[i]PieceStepX+MyX, (ActualPiece.PlaceY-CompareY)[/i]PieceStepY+MyY )
Todas las piezas cuyo grupo es el de la pieza con la que nos estamos encajando (la pieza "encajada" y todas las unidas a ella) cambiarán al grupo de la pieza que estamos moviendo, y se alinearán con el grupo. Observe que los cálculos en "Set Position to..." son los mismos que empleamos para calcular las posiciones ideales "IdealX" e "IdealY". Si no podemos usar "IdealX" e "IdealY" es porque esas coordenadas solo son válidas para la primera pieza "unida", y no para todo su grupo.