Exemplo n.º 1
0
        private void Rectangle3D(Rectangle3DCommand command, FlatBufferBuilder builder, List <Offset <RenderMessage> > messages)
        {
            //FlatBuffer doesn't like nesting "create" commands within each other so declare them early instead (vectors are immune for some reason)
            var color = command.Color.ToFlatBuffer(builder);

            RenderMessage.StartRenderMessage(builder);
            RenderMessage.AddRenderType(builder, command.Centered ? RenderType.DrawCenteredRect3D : RenderType.DrawRect3D);
            RenderMessage.AddColor(builder, color);
            RenderMessage.AddStart(builder, command.Position.ToFlatBuffer(builder));
            RenderMessage.AddScaleX(builder, command.Width);
            RenderMessage.AddScaleY(builder, command.Height);
            RenderMessage.AddIsFilled(builder, command.Filled);
            messages.Add(RenderMessage.EndRenderMessage(builder));
        }
Exemplo n.º 2
0
        private void DrawRect3D(Color color, Vector3 position, int width, int height, bool filled, bool centered)
        {
            var colorOffset = color.ToOffsetColor(Builder);

            RenderMessage.StartRenderMessage(Builder);
            RenderMessage.AddRenderType(Builder, centered ? RenderType.DrawCenteredRect3D : RenderType.DrawRect3D);
            RenderMessage.AddColor(Builder, colorOffset);
            RenderMessage.AddStart(Builder, position.ToOffsetVector(Builder));
            RenderMessage.AddScaleX(Builder, width);
            RenderMessage.AddScaleY(Builder, height);
            RenderMessage.AddIsFilled(Builder, filled);
            var finalOffset = RenderMessage.EndRenderMessage(Builder);

            _renderMessageOffsets.Add(finalOffset);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Draws a 2D rectangle in screen space.
        /// </summary>
        /// <param name="color">The color of the rectangle.</param>
        /// <param name="upperLeft">The upper left corner of the rectangle.</param>
        /// <param name="width">The width in pixels.</param>
        /// <param name="height">The height in pixels</param>
        /// <param name="filled">Flag indicating whether the rectangle should be filled in</param>
        public void DrawRectangle2D(Color color, Vector2 upperLeft, int width, int height, bool filled)
        {
            var colorOffset = color.ToOffsetColor(Builder);

            RenderMessage.StartRenderMessage(Builder);
            RenderMessage.AddRenderType(Builder, RenderType.DrawRect2D);
            RenderMessage.AddColor(Builder, colorOffset);
            RenderMessage.AddStart(Builder, upperLeft.ToOffsetVector(Builder));
            RenderMessage.AddScaleX(Builder, width);
            RenderMessage.AddScaleY(Builder, height);
            RenderMessage.AddIsFilled(Builder, filled);
            var finalOffset = RenderMessage.EndRenderMessage(Builder);

            _renderMessageOffsets.Add(finalOffset);
        }