Example #1
0
        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);
            }
        }
Example #2
0
        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());
            }
        }