/// <summary> /// This method is called to respond to a gizmo transform operation redone message. /// </summary> private void RespondToMessage(GizmoTransformOperationWasRedoneMessage message) { // When the transform operation is redone, it means the objects position/rotation/scale // has changed, so we have to recalculate the position and orientation of the active gizmo. EstablishActiveGizmoPosition(); UpdateActiveGizmoRotation(); }
/// <summary> /// This method can be called to redo the action. /// </summary> public void Redo() { // In order to redo this kind of action, we will loop through all post transform object snapshots // and apply them to the corresponding objects. foreach (ObjectTransformSnapshot snapshot in _postTransformObjectSnapshot) { snapshot.ApplySnapshot(); } // Send a gizmo transform operation redone message GizmoTransformOperationWasRedoneMessage.SendToInterestedListeners(_gizmoWhichTransformedObjects); }
/// <summary> /// Convenience function for sending a gizmo transform operation redone message to /// all interested listeners. /// </summary> /// <param name="gizmoInvolvedInTransformOperation"> /// This is the gizmo which is involved in the transform operation which was redone. /// </param> public static void SendToInterestedListeners(Gizmo gizmoInvolvedInTransformOperation) { var message = new GizmoTransformOperationWasRedoneMessage(gizmoInvolvedInTransformOperation); MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message); }