UltimateZoneBuilder/Source/Editing/UndoSnapshot.cs

74 lines
1.8 KiB
C#
Raw Normal View History

2007-11-12 22:43:01 +00:00
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
using CodeImp.DoomBuilder.Windows;
2007-11-12 22:43:01 +00:00
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.Rendering;
using System.Diagnostics;
using CodeImp.DoomBuilder.Actions;
2007-11-12 22:43:01 +00:00
#endregion
namespace CodeImp.DoomBuilder.Editing
{
2008-12-24 18:27:13 +00:00
public class UndoSnapshot
2007-11-12 22:43:01 +00:00
{
2008-12-24 18:27:13 +00:00
// Variables
private MemoryStream mapdata;
private string description;
private int ticketid; // For safe withdrawing
2007-11-12 22:43:01 +00:00
2008-12-24 18:27:13 +00:00
// Properties
internal MemoryStream MapData { get { return mapdata; } }
public string Description { get { return description; } }
public int TicketID { get { return ticketid; } }
2007-11-12 22:43:01 +00:00
// Constructor
2008-12-24 18:27:13 +00:00
internal UndoSnapshot(string description, MemoryStream mapdata, int ticketid)
2007-11-12 22:43:01 +00:00
{
this.ticketid = ticketid;
this.description = description;
this.mapdata = mapdata;
2007-11-12 22:43:01 +00:00
}
// Constructor
2008-12-24 18:27:13 +00:00
internal UndoSnapshot(UndoSnapshot info, MemoryStream mapdata)
2007-11-12 22:43:01 +00:00
{
this.ticketid = info.ticketid;
this.description = info.description;
this.mapdata = mapdata;
2007-11-12 22:43:01 +00:00
}
2008-12-24 18:27:13 +00:00
// Disposer
public void Dispose()
{
if(mapdata != null) mapdata.Dispose();
mapdata = null;
}
2007-11-12 22:43:01 +00:00
}
}