public ScenePainter(DynamicCase scene) { Scene = scene; Pen spherePen = new Pen(Brushes.DarkGray, 2); Pen selectedSpherePen = new Pen(Brushes.Black, 2); foreach (Sphere3d @object in scene.Spheres) { PaintableSphere3d paintableSphere = new PaintableSphere3d(@object, spherePen); Objects.Add(paintableSphere); } Objects.Add(new CollisionPainter(scene.Spheres)); PaintableSphere3d selectedSphere = null; OnKeyDown = (KeyEventArgs keys) => { }; Vector3d mousePosition = new Vector3d(); OnMouseMove = (MouseEventArgs e) => { return(false); }; }
protected override void OnKeyDown(KeyEventArgs keys) { switch (keys.KeyCode) { case Keys.D1: if (selectedSphere != null) { selectedSphere.Pen = spherePen; } selectedSphere = formScene.Objects[0] as PaintableSphere3d; break; case Keys.D2: if (selectedSphere != null) { selectedSphere.Pen = spherePen; } selectedSphere = formScene.Objects[1] as PaintableSphere3d; break; case Keys.D3: if (selectedSphere != null) { selectedSphere.Pen = spherePen; } selectedSphere = formScene.Objects[2] as PaintableSphere3d; break; case Keys.D0: selectedSphere = null; break; } if (selectedSphere != null) { selectedSphere.Pen = selectedSpherePen; } Refresh(); }