private void AddToUndoList(string Action)
{
for (int i = UndoListMaxSize - 2; i >= 0; --i)
{
UndoList[i + 1] = UndoList[i];
}
UndoList[0].Action = Action;
UndoList[0].Tiles = new List<MultiTile>();
UndoList[0].Width = Width;
UndoList[0].Height = Height;
foreach (MultiTile tile in Tiles)
{
if (tile.isVirtualFloor)
UndoList[0].Tiles.Add(new FloorTile(tile.X, tile.Y, tile.Y));
else
UndoList[0].Tiles.Add(new MultiTile(tile.ID, tile.X, tile.Y, tile.Z, tile.Invisible));
}
}