// WALL HANDLE ////////////////////////////////////////////////////////////////////////////////////////////////// private void FormMain_MouseUp_BuildWall(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Left) { return; } if (BuildType != ObstacleType.Wall) { return; } LeftMouseIsHolding = false; Obstacle NewObstacle = new Obstacle_Wall(LeftMouseDownPos, MousePos, IsBuildingMirrors); Obstacles.Add(NewObstacle); }
private void FormMain_Paint_BuildWall(object sender, PaintEventArgs e) { if (!LeftMouseIsHolding) { return; } if (BuildType != ObstacleType.Wall) { return; } Graphics g = e.Graphics; Pen p = new Pen(Color.LightPink, 5f); Obstacle o = new Obstacle_Wall(LeftMouseDownPos, MousePos, IsBuildingMirrors); o.Show(g, p); }
public Obstacle_Rectangle(PointF Corner1_, PointF Corner2_, bool Reflective) { this.Reflective = Reflective; PointF A = Corner1_; PointF B = new PointF(Corner1_.X, Corner2_.Y); PointF C = Corner2_; PointF D = new PointF(Corner2_.X, Corner1_.Y); Sides[0] = new Obstacle_Wall(A, B, Reflective); Sides[1] = new Obstacle_Wall(B, C, Reflective); Sides[2] = new Obstacle_Wall(C, D, Reflective); Sides[3] = new Obstacle_Wall(D, A, Reflective); DrawingRectangle = new Rectangle(); DrawingRectangle.Location = new PointF(Math.Min(A.X, C.X), Math.Min(A.Y, C.Y)); DrawingRectangle.Size = new SizeF(Math.Abs(A.X - C.X), Math.Abs(A.Y - C.Y)); }