/// <summary> Adds road element to terrain. </summary> /// <param name="roadElement">Road element</param> public void AddRoad(RoadElement roadElement) { lock (Roads) { Roads.Add(roadElement); } }
/// <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); }