예제 #1
0
        public void Redraw()
        {
            ColisionHelper.CalculateRoadPosition(line, first, second);

            foreach (var bus in buses)
            {
                bus.Redraw();
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
        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();
            }
        }
예제 #4
0
        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();
                }
            }
        }