Example #1
0
        /// <summary>
        /// This is just to try passing back an invalid memento.
        /// </summary>
        public void BadUnexecute()
        {
            Console.WriteLine("\nBad Undo!\n");
            ConstraintSolver solver = ConstraintSolver.Instance();

            // Restore bad state
            solver.SetMemento(_state);

            // Adjust constraints for reversed movement
            solver.Solve();
        }
Example #2
0
        public void Unexecute()
        {
            Console.WriteLine("\nUndo!\n");
            ConstraintSolver solver = ConstraintSolver.Instance();

            // Reverse graphic movement
            _delta.X = -_delta.X;
            _delta.Y = -_delta.Y;
            _target.Move(_delta);

            // Restore state
            solver.SetMemento(_state);

            // Adjust constraints for reversed movement
            solver.Solve();
        }