Exemple #1
0
        private void DrawConnections(Graphics graphics, TileConnectionCollection collection, Brush fillBrush, int tileSize)
        {
            for (int i = 0; i < collection.Count; i++)
            {
                var source      = collection[i].Source;
                var destination = collection[i].Destination;

                Rectangle sourceStringRect;
                Rectangle destinationStringRect;
                if (i >= 9)
                {
                    sourceStringRect      = new Rectangle((source.X + 1) * tileSize - 16, (source.Y + 1) * tileSize - 12, 15, 10);
                    destinationStringRect = new Rectangle((destination.X + 1) * tileSize - 16, (destination.Y + 1) * tileSize - 12, 15, 10);
                }
                else
                {
                    sourceStringRect      = new Rectangle((source.X + 1) * tileSize - 14, (source.Y + 1) * tileSize - 12, 10, 10);
                    destinationStringRect = new Rectangle((destination.X + 1) * tileSize - 14, (destination.Y + 1) * tileSize - 12, 10, 10);
                }
                graphics.FillEllipse(fillBrush, sourceStringRect);
                graphics.DrawString((i + 1).ToString(CultureInfo.CurrentCulture), new Font("Segoe UI", 6, FontStyle.Bold), Brushes.White, sourceStringRect.X + 2, sourceStringRect.Y);
                graphics.FillEllipse(fillBrush, destinationStringRect);
                graphics.DrawString((i + 1).ToString(CultureInfo.CurrentCulture), new Font("Segoe UI", 6, FontStyle.Bold), Brushes.White, destinationStringRect.X + 2, destinationStringRect.Y);
            }
        }
Exemple #2
0
        public TileConnectionCollection Clone()
        {
            var result = new TileConnectionCollection(_maxItems);

            foreach (var item in _items)
            {
                result._items.Add(item);
            }
            return(result);
        }