public void Draw(ClusterPlayer observer) { double m = observer.Magnification; double r = Radius * m; if (r > 0.5) { Vector obs = observer.Position; Color c = Colors.White; IGraphics g = observer.Output.Graphics; Vector p = Position.Translated(-obs).Scaled(m).ToOrigin(); g.CCircle(c, p, r); } }
public void Draw(ClusterPlayer observer) { Vector p = Position - observer.Position; double m = observer.Magnification; IGraphics g = observer.Output.Graphics; if (true) { foreach (Segment part in Ship) { Segment seg = part.Scaled(Size).Rotated(Angle).Translated(p).Scaled(m).ToOrigin(); g.LLine(LocalColor, seg.Start, seg.End); } if (Weapon == 0) { foreach (Segment part in Gun) { Segment seg = part.Scaled(Size).Rotated(Angle).Translated(p).Scaled(m).ToOrigin(); g.LLine(LocalColor, seg.Start, seg.End); } } foreach (LBeam lbeam in LBeams) { lbeam.Draw(observer); } } if (Constants.Debug) { g.CCircle(LocalColor, p.Scaled(m).ToOrigin(), View * m); g.LLine(LocalColor, p.Scaled(m).ToOrigin(), (p + 5 * Heading).Scaled(m).ToOrigin()); g.LLine(Colors.Blue, p.Scaled(m).ToOrigin(), (p + 5 * Velocity.Normalized).Scaled(m).ToOrigin()); } }