public void OnMouseDown(object sender, MouseEventArgs e) { foreach (UsagerWidget roaduser in roadUsers) { VoitureWidget voitureCourante = roaduser as VoitureWidget; if (voitureCourante.Voiture.estClique(e.Location)) { voiture = voitureCourante.Voiture; return; } } // creation de la route si en mode edition if (ToolsBox.Visible) { Route w = Route.VersPositionCase(e.X, e.Y, ToolsBox.RouteSelectionnee); if (w != null) { List <RouteWidget> routes = new List <RouteWidget>(); foreach (RouteWidget r in Routes) { if (r.Route.Position != w.Position) { routes.Add(r); } } routes.Add(new RouteWidget(w)); Routes = routes; } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void Tick(object sender, System.EventArgs e) { if (bAvancer) { voiture.Accelerer(); } else if (bReculer) { if (voiture.Vitesse <= 0) { voiture.Reculer(); } else { voiture.Freiner(); } } else if (!bReculer && !bAvancer) { voiture.Ralentir(); } voiture.Avancer(); if (bGauche) { voiture.TournerGauche(); } if (bDroite) { voiture.TournerDroite(); } if (ToolsBox.Visible && _hoverWayWidget != null) { Point p = PointToClient(Cursor.Position); _hoverWayWidget.Route.Position = new Point(p.X / 100, p.Y / 100); } foreach (UsagerWidget roadUserWidget in roadUsers) { if (roadUserWidget is VoitureWidget) { VoitureWidget voitureWidget = roadUserWidget as VoitureWidget; foreach (RouteWidget route in Ways) { if (route.Route.DansLaRoute(voitureWidget.Voiture)) { voitureWidget.Couleur = Color.Green; Console.WriteLine("Voiture verte"); continue; } voitureWidget.Couleur = Color.Red; } } } Invalidate(); }
/// <summary> /// Constructeur par défaut. /// </summary> public EnVoitureForm() { InitializeComponent(); VoitureWidget v = new VoitureWidget(0, 0, 10, 20, 80); this._roadUsers.Add(v); this.voiture = v.Voiture; enVoiturePanel.ToolsBox = toolsBox; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timer_Tick(object sender, System.EventArgs e) { enVoiturePanel.Tick(sender, e); foreach (UsagerWidget roadUser in _roadUsers) { if (roadUser is VoitureWidget) { VoitureWidget voiture = roadUser as VoitureWidget; foreach (Route route in Ways) { if (route.DansLaRoute(voiture.Voiture)) { voiture.Couleur = Color.Green; MessageBox.Show("Voiture verte"); } } voiture.Couleur = Color.Red; } } }