public void Redraw() { ColisionHelper.CalculateRoadPosition(line, first, second); foreach (var bus in buses) { bus.Redraw(); } }
private void PlaceView(object sender, MouseEventArgs e) { var view = sender as UserControl; var cursorPos = Mouse.GetPosition(core.Canvas); var colisionHelper = new ColisionHelper(view, cursorPos, core.Canvas, StationCore.Views); Point response = colisionHelper.CalculateOffset(); cursorPos.Offset(response.X, response.Y); Panel.SetZIndex(view, StationCore.defaultZCoord); Canvas.SetLeft(view, cursorPos.X - view.ActualWidth / 2); Canvas.SetTop(view, cursorPos.Y - view.ActualHeight / 2); }
private void Activate() { line = new Line(); line.Stroke = Brushes.Black; line.StrokeThickness = 5; ColisionHelper.CalculateRoadPosition(line, first, second); view.Content = line; canvas.Children.Add(view); if (isLocked) { Lock(); } else { Unlock(); } }
private void DragMove(object sender, MouseEventArgs e) { if (Mouse.LeftButton == MouseButtonState.Pressed) { var view = sender as UserControl; var cursorPos = Mouse.GetPosition(core.Canvas); var colisionHelper = new ColisionHelper(view, cursorPos, core.Canvas, StationCore.Views); if (colisionHelper.CanMove() == false) { return; } Canvas.SetLeft(view, cursorPos.X - view.ActualWidth / 2); Canvas.SetTop(view, cursorPos.Y - view.ActualHeight / 2); // Make in proper!!! if (core is StationCore) { (core as StationCore).Redraw(); } } }