Exemplo n.º 1
0
        /// <summary>
        /// Draws a line joined by several points in screen space.
        /// </summary>
        /// <param name="color">The color of the line.</param>
        /// <param name="vectors">The vectors of the line.</param>
        public void DrawPolyLine2D(Color color, Vector2[] vectors)
        {
            if (vectors.Length < 2)
            {
                throw new ArgumentException("DrawPolyLine2D: vectors array must contain at least 2 vectors!");
            }

            var colorOffset = color.ToOffsetColor(Builder);

            for (int i = 0; i < vectors.Length - 1; i++)
            {
                RenderMessage.StartRenderMessage(Builder);
                RenderMessage.AddRenderType(Builder, RenderType.DrawLine2D);
                RenderMessage.AddColor(Builder, colorOffset);
                RenderMessage.AddStart(Builder, vectors[i].ToOffsetVector(Builder));
                RenderMessage.AddEnd(Builder, vectors[i + 1].ToOffsetVector(Builder));
                var finalOffset = RenderMessage.EndRenderMessage(Builder);
                _renderMessageOffsets.Add(finalOffset);
            }
        }