using System;
namespace SpriteWave
{
public interface IPiece
{
EdgeKind EdgeKind { get; }
}
public class Selection : IEquatable<Selection>
{
protected TileWindow _wnd;
public TileWindow Window { get { return _wnd; } }
protected Position _loc;
public Position Location { get { return _loc; } }
protected IPiece _piece;
public IPiece Piece { get { return _piece; } }
public Selection(IPiece selObj, TileWindow wnd, Position loc)
{
_piece = selObj;
_wnd = wnd;
_loc = loc;
}
public bool Equals(Selection obj)
{
var sel = obj as Selection;
if (sel == null)
return false;
return
sel.Window == _wnd &&
sel.Location.col == _loc.col &&
sel.Location.row == _loc.row
;
}
}
}