add removal of mapactors via rmb; add highlight on mouseover

This commit is contained in:
Chris Forbes
2010-05-10 18:13:52 +12:00
parent 2921618067
commit e275677d11

View File

@@ -70,8 +70,7 @@ namespace OpenRA.Editor
if (e.Button == MouseButtons.Left && Actor != null) if (e.Button == MouseButtons.Left && Actor != null)
DrawWithActor(); DrawWithActor();
if (Brush != null || Actor != null) Invalidate();
Invalidate();
} }
} }
@@ -114,6 +113,9 @@ namespace OpenRA.Editor
{ {
Actor = null; Actor = null;
Brush = null; Brush = null;
var key = Map.Actors.FirstOrDefault(a => a.Value.Location == GetBrushLocation());
if (key.Key != null) Map.Actors.Remove(key.Key);
} }
if (e.Button == MouseButtons.Left && Brush != null) if (e.Button == MouseButtons.Left && Brush != null)
@@ -172,6 +174,17 @@ namespace OpenRA.Editor
: int2.Zero)).ToPoint())); : int2.Zero)).ToPoint()));
} }
void DrawActorBorder(System.Drawing.Graphics g, int2 p, ActorTemplate t)
{
var origin = (24 * p + Offset
- (t.Centered
? new int2(t.Bitmap.Width / 2 - 12, t.Bitmap.Height / 2 - 12)
: int2.Zero)).ToPoint();
g.DrawRectangle(CordonPen,
origin.X, origin.Y,
t.Bitmap.Width, t.Bitmap.Height );
}
protected override void OnPaint(PaintEventArgs e) protected override void OnPaint(PaintEventArgs e)
{ {
if (Map == null) return; if (Map == null) return;
@@ -197,6 +210,13 @@ namespace OpenRA.Editor
if (Actor != null) if (Actor != null)
DrawActor(e.Graphics, GetBrushLocation(), Actor); DrawActor(e.Graphics, GetBrushLocation(), Actor);
if (Brush == null && Actor == null)
{
var x = Map.Actors.FirstOrDefault(a => a.Value.Location == GetBrushLocation());
if (x.Key != null)
DrawActorBorder(e.Graphics, x.Value.Location, ActorTemplates[x.Value.Name]);
}
} }
} }
} }