Exemplo n.º 1
0
 /// <summary> Adds road element to terrain. </summary>
 /// <param name="roadElement">Road element</param>
 public void AddRoad(RoadElement roadElement)
 {
     lock (Roads)
     {
         Roads.Add(roadElement);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Генерация нового элемента дороги
        /// </summary>
        /// <param name="start"></param>
        /// <returns></returns>
        private RoadElement GetRoadElement(Point start, double currentAngle)
        {
            var roadElement = new RoadElement();

            var random   = new Random();
            var newAngle = _roadElements.Count == 0 ? 0 : random.Next(GameSettings.MinAngle, GameSettings.MaxAngle);

            roadElement.Angle      = newAngle + currentAngle;
            roadElement.Width      = GameSettings.RoadWidth;
            roadElement.Height     = random.Next(GameSettings.MinRoadLength, GameSettings.MaxRoadLength);
            roadElement.StartPoint = new Point(start.X, start.Y);

            return(roadElement);
        }