public void AddBlock( AbstractBlock newBlock, Point pos ) { if ( newBlock == null || pos == null ) return; if ( newBlock.Parent != null ) newBlock.RemoveParent(); //newBlock.Margin = new Thickness( pos.X, pos.Y, 0, 0 ); if ( IsExist( newBlock ) ) Board.Children.Remove( newBlock ); Board.Children.Add( newBlock ); Canvas.SetLeft(newBlock, pos.X); Canvas.SetTop(newBlock, pos.Y); Canvas.SetRight(newBlock, pos.X + newBlock.Width); Canvas.SetBottom(newBlock, pos.Y + newBlock.Height); }
public virtual void Disconnect( AbstractBlock block ) { }
public virtual void Connect( AbstractBlock blcok ) { }
public abstract bool IsAllowBlockType( AbstractBlock target );
private bool IsExist( AbstractBlock block ) { return ( Board.Children.IndexOf( block ) == -1 ) ? false : true; }