protected void StampPart( HeroQuestPart part ) { lock (FilledPositions) { Rectangle rect = part.GetRect(); for ( int y = rect.Top; y <= rect.Bottom; y++) { for ( int x = rect.Left; x <= rect.Right; x++ ) FilledPositions.Add(new Point(x,y),part); } } }
protected bool PartIsClear( HeroQuestPart part ) { lock (FilledPositions) { Rectangle rect = part.GetRect(); for ( int y = rect.Top; y <= rect.Bottom; y++) { for ( int x = rect.Left; x <= rect.Right; x++ ) { if (FilledPositions.ContainsKey(new Point(x,y))) return false; } } } return true; }