group tiles by category

This commit is contained in:
Chris Forbes
2012-06-26 19:33:11 +12:00
parent 0ec3e8b227
commit 9966b4efd1

View File

@@ -144,32 +144,38 @@ namespace OpenRA.Editor
// construct the palette of tiles // construct the palette of tiles
var palettes = new[] { tilePalette, actorPalette, resourcePalette }; var palettes = new[] { tilePalette, actorPalette, resourcePalette };
foreach (var p in palettes) { p.Visible = false; p.SuspendLayout(); } foreach (var p in palettes) { p.Visible = false; p.SuspendLayout(); }
foreach (var t in tileset.Templates)
foreach (var tc in tileset.Templates.GroupBy(t => t.Value.Category))
{ {
try var category = tc.Key ?? "(Uncategorized)";
foreach( var t in tc )
{ {
var bitmap = tileset.RenderTemplate((ushort)t.Key, palette); try
var ibox = new PictureBox
{ {
Image = bitmap, var bitmap = tileset.RenderTemplate((ushort)t.Key, palette);
Width = bitmap.Width / 2, var ibox = new PictureBox
Height = bitmap.Height / 2, {
SizeMode = PictureBoxSizeMode.StretchImage Image = bitmap,
}; Width = bitmap.Width / 2,
Height = bitmap.Height / 2,
var brushTemplate = new BrushTemplate { Bitmap = bitmap, N = t.Key }; SizeMode = PictureBoxSizeMode.StretchImage
ibox.Click += (_, e) => surface1.SetTool(new BrushTool(brushTemplate)); };
var template = t.Value; var brushTemplate = new BrushTemplate { Bitmap = bitmap, N = t.Key };
tilePalette.Controls.Add(ibox); ibox.Click += (_, e) => surface1.SetTool(new BrushTool(brushTemplate));
tt.SetToolTip(ibox,
"{1}:{0} ({2}x{3})".F( var template = t.Value;
template.Image, tilePalette.Controls.Add(ibox);
template.Id, tt.SetToolTip(ibox,
template.Size.X, "{1}:{0} ({2}x{3})".F(
template.Size.Y)); template.Image,
template.Id,
template.Size.X,
template.Size.Y));
}
catch { }
} }
catch { }
} }
var actorTemplates = new List<ActorTemplate>(); var actorTemplates = new List<ActorTemplate>();