public void drawBefore(QuarterViewDrawer view, DrawContextEx canvas)
 {
     if (anchor != UNPLACED && isPlacing)
     {
         canvas.tag = type.canBeBuilt(anchor, currentPos);
     }
 }
        public void drawVoxel(QuarterViewDrawer view, DrawContextEx canvas, Location loc, Point pt)
        {
            object tag = canvas.tag;

            if (tag != null && (bool)tag && inBetween(loc, anchor, currentPos))
            {
                Direction d = anchor.getDirectionTo(currentPos);
                draw(d, canvas, pt);
            }
        }
 public virtual void drawVoxel(QuarterViewDrawer view, DrawContextEx canvas, Location loc, Point pt)
 {
 }
 public virtual void drawBefore(QuarterViewDrawer view, DrawContextEx canvas)
 {
 }
 /// <summary>
 /// Draw the preview on the given point.
 /// </summary>
 protected abstract void draw(Direction d, DrawContextEx canvs, Point pt);
 public void drawAfter(QuarterViewDrawer view, DrawContextEx canvas)
 {
 }