コード例 #1
0
        public void Redo(TasMovie movie)
        {
            bool wasRecording = movie.ChangeLog.IsRecording;
            bool wasBinding   = movie.BindMarkersToInput;

            movie.ChangeLog.IsRecording = false;
            movie.BindMarkersToInput    = _bindMarkers;

            if (_undoLength != Length)
            {
                movie.InsertEmptyFrame(FirstFrame, Length - _undoLength);
            }

            if (_redoLength != Length)
            {
                movie.RemoveFrames(FirstFrame, movie.InputLogLength - _redoLength);
            }

            for (int i = 0; i < _redoLength; i++)
            {
                movie.SetFrame(FirstFrame + i, _newLog[i]);
            }

            movie.ChangeLog.IsRecording = wasRecording;
            movie.BindMarkersToInput    = _bindMarkers;
        }
コード例 #2
0
        public void Undo(TasMovie movie)
        {
            bool wasRecording = movie.ChangeLog.IsRecording;
            bool wasBinding   = movie.BindMarkersToInput;

            movie.ChangeLog.IsRecording = false;
            movie.BindMarkersToInput    = bindMarkers;

            if (redoLength != length)
            {
                movie.InsertEmptyFrame(movie.InputLogLength, length - redoLength);
            }

            for (int i = 0; i < undoLength; i++)
            {
                movie.SetFrame(FirstFrame + i, oldLog[i]);
            }

            if (undoLength != length)
            {
                movie.RemoveFrames(FirstFrame + undoLength, movie.InputLogLength);
            }

            movie.ChangeLog.IsRecording = wasRecording;
            movie.BindMarkersToInput    = bindMarkers;
        }
コード例 #3
0
ファイル: TasMovie.History.cs プロジェクト: henke37/BizHawk
		public void Redo(TasMovie movie)
		{
			bool wasRecording = movie.ChangeLog.IsRecording;
			bool wasBinding = movie.BindMarkersToInput;
			movie.ChangeLog.IsRecording = false;
			movie.BindMarkersToInput = bindMarkers;

			if (undoLength != length)
				movie.InsertEmptyFrame(movie.InputLogLength, length - undoLength);

			for (int i = 0; i < redoLength; i++)
				movie.SetFrame(FirstFrame + i, newLog[i]);

			if (redoLength != length)
				movie.RemoveFrames(FirstFrame + redoLength, movie.InputLogLength);

			movie.ChangeLog.IsRecording = wasRecording;
			movie.BindMarkersToInput = bindMarkers;
		}