Beispiel #1
0
 public void Render(Vector2 v1, Vector2 v2)
 {
     // Ok this is dumb. You have to draw a non existant filledrectangle so the verts will draw, as drawing
     // one of these makes gorgon accept a TriangleList when you use the Draw() method, otherwise it will
     // want a pointlist which is no good to us.
     CluwneLib.drawRectangle(0, 0, 0, 0, Color.Black);
 }
        public virtual void Render(Vector2f topLeft, Vector2f bottomRight)
        {
            //Render slaves beneath
            IEnumerable <SpriteComponent> renderablesBeneath = from SpriteComponent c in slaves
                                                               //FIXTHIS
                                                               orderby c.DrawDepth ascending
                                                               where c.DrawDepth < DrawDepth
                                                               select c;

            foreach (SpriteComponent component in renderablesBeneath.ToList())
            {
                component.Render(topLeft, bottomRight);
            }

            //Render this sprite
            if (!visible)
            {
                return;
            }
            if (currentBaseSprite == null)
            {
                return;
            }

            Sprite spriteToRender = GetActiveDirectionalSprite();

            Vector2f renderPos = CluwneLib.WorldToScreen(Owner.GetComponent <TransformComponent>(ComponentFamily.Transform).Position);
            var      bounds    = spriteToRender.GetLocalBounds();

            SetSpriteCenter(spriteToRender, renderPos);

            if (Owner.GetComponent <TransformComponent>(ComponentFamily.Transform).Position.X + bounds.Left + bounds.Width < topLeft.X ||
                Owner.GetComponent <TransformComponent>(ComponentFamily.Transform).Position.X > bottomRight.X ||
                Owner.GetComponent <TransformComponent>(ComponentFamily.Transform).Position.Y + bounds.Top + bounds.Height < topLeft.Y ||
                Owner.GetComponent <TransformComponent>(ComponentFamily.Transform).Position.Y > bottomRight.Y)
            {
                return;
            }

            spriteToRender.Scale = new SFML.System.Vector2f(HorizontalFlip ? -1 : 1, 1);
            spriteToRender.Draw();

            //Render slaves above
            IEnumerable <SpriteComponent> renderablesAbove = from SpriteComponent c in slaves
                                                             //FIXTHIS
                                                             orderby c.DrawDepth ascending
                                                             where c.DrawDepth >= DrawDepth
                                                             select c;

            foreach (SpriteComponent component in renderablesAbove.ToList())
            {
                component.Render(topLeft, bottomRight);
            }


            //Draw AABB
            var aabb = AABB;

            CluwneLib.drawRectangle((int)(renderPos.X - aabb.Width / 2), (int)(renderPos.Y - aabb.Height / 2), aabb.Width, aabb.Height, new SFML.Graphics.Color(0, 255, 0));
        }
        public void DrawTooltip() //Has to be separate so it draws on top of all buttons.
        {
            if (showTooltip)
            {
                string leftStr = Math.Truncate(assignedEffect.expiresAt.Subtract(DateTime.Now).TotalSeconds).ToString();

                string tooltipStr = assignedEffect.name +
                                    (assignedEffect.family != StatusEffectFamily.None
                                         ? Environment.NewLine + "(" + assignedEffect.family.ToString() + ")"
                                         : "") + Environment.NewLine + Environment.NewLine +
                                    assignedEffect.description +
                                    (assignedEffect.doesExpire
                                         ? Environment.NewLine + Environment.NewLine + leftStr + " sec"
                                         : "");

                tooltip.Text = tooltipStr;
                var x_pos = (tooltipPos.X + 10 + tooltip.Width + 5) > CluwneLib.CurrentClippingViewport.Width
                                  ? 0 - tooltip.Width - 10
                                  : 10 + 5;
                tooltip.Position = new Vector2i(tooltipPos.X + x_pos + 5, tooltipPos.Y + 5 + 10);
                CluwneLib.drawRectangle(tooltipPos.X + x_pos, tooltipPos.Y + 10, tooltip.Width + 5,
                                        tooltip.Height + 5, new Color(70, 130, 180));
                CluwneLib.drawRectangle(tooltipPos.X + x_pos, tooltipPos.Y + 10, tooltip.Width + 5,
                                        tooltip.Height + 5, new Color(72, 61, 139));
                tooltip.Draw();
            }
        }
        public override void Render()
        {
            CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height,
                                    selected ? new Color4(34, 139, 34, 255) : new Color4(255, 250, 240, 255));

            objectSprite.Draw();
            name.Draw();
        }
Beispiel #5
0
 public override void Render()
 {
     CluwneLib.drawRectangle(ClientArea.X, ClientArea.Y, ClientArea.Width, ClientArea.Height,
                             selected ? Color.ForestGreen : Color.FloralWhite);
     CluwneLib.drawRectangle(ClientArea.X, ClientArea.Y, ClientArea.Width, ClientArea.Height,
                             Color.Black);
     objectSprite.Draw();
     name.Draw();
 }
Beispiel #6
0
 public override void Render()
 {
     CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height,
                             selected ? new SFML.Graphics.Color(34, 139, 34) : new SFML.Graphics.Color(255, 250, 240));
     CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height,
                             Color.Black);
     objectSprite.Draw();
     name.Draw();
 }
Beispiel #7
0
 public override void Render()
 {
     if (_bgcol != Color.Transparent)
     {
         CluwneLib.drawRectangle(ClientArea.X, ClientArea.Y, ClientArea.Width,
                                 ClientArea.Height, _bgcol);
     }
     _icon.Draw();
     Label.Draw();
 }
 public override void Render()
 {
     panelBG.Draw();
     healthMeterBg.Draw();
     CluwneLib.drawRectangle(healthMeterInner.Left, healthMeterInner.Top, healthMeterInner.Width, healthMeterInner.Height, interpCol);
     healthPc.Render();
     healthMeterGrid.Draw();
     RenderBlip();
     healthMeterOverlay.Draw();
 }
 public override void Draw()
 {
     base.Draw();
     foreach (ContextMenuButton button in _buttons)
     {
         button.Draw();
     }
     CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height,
                             Color4.Black);
 }
Beispiel #10
0
        public override void Render()
        {
            percent = (val - min) / (max - min);
            float barWidth = Size.X * percent;

            CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, backgroundColor);
            CluwneLib.drawHollowRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, barWidth, barColor);
            CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, borderColor);

            Text.Draw();
        }
Beispiel #11
0
 public override void Render()
 {
     if (_disposing || !IsVisible())
     {
         return;
     }
     CluwneLib.BlendingMode = BlendingModes.Modulated;
     CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, new SFML.Graphics.Color(0, 0, 0, 100));
     CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, new SFML.Graphics.Color(211, 211, 211, 100));
     CluwneLib.BlendingMode = BlendingModes.None;
     DrawLines();
 }
Beispiel #12
0
        public override void Render()
        {
            percent = (val - min) / (max - min);
            float barWidth = Size.Width * percent;

            CluwneLib.drawRectangle(ClientArea.X, ClientArea.Y, ClientArea.Width, ClientArea.Height, backgroundColor);
            //TODO : CluwneLib.DrawHollowRectangle (ClientArea.X, ClientArea.Y, (int)barWidth, ClientArea.Height, barColor);
            CluwneLib.drawRectangle(ClientArea.X, ClientArea.Y, ClientArea.Width, ClientArea.Height,
                                    borderColor);

            Text.Draw();
        }
Beispiel #13
0
 public override void Render()
 {
     if (_disposing || !IsVisible())
     {
         return;
     }
     CluwneLib.BlendingMode = BlendingModes.Modulated;
     CluwneLib.drawRectangle(ClientArea.X, ClientArea.Y, ClientArea.Width, ClientArea.Height, Color.FromArgb(100, Color.Black));
     CluwneLib.drawRectangle(ClientArea.X, ClientArea.Y, ClientArea.Width, ClientArea.Height, Color.FromArgb(100, Color.LightGray));
     CluwneLib.BlendingMode = BlendingModes.None;
     DrawLines();
 }
Beispiel #14
0
 public override void Render()
 {
     if (_disposing || !IsVisible())
     {
         return;
     }
     CluwneLib.BlendingMode = BlendingModes.Modulated;
     CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, new Color4(0, 0, 0, 100));
     CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, new Color4(211, 211, 211, 100));
     CluwneLib.BlendingMode = BlendingModes.None;
     base.Render();
     input.Render();
 }
        public override void Render()
        {
            base.Render();
            var bounds   = _iconSprite.GetLocalBounds();
            var iconRect = Box2i.FromDimensions(ClientArea.Left + 3,
                                                ClientArea.Top + (int)(ClientArea.Height / 2f) - (int)(bounds.Height / 2f),
                                                (int)bounds.Width, (int)bounds.Height);

            CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, _currentColor);
            _textLabel.Render();
            _iconSprite.SetTransformToRect(iconRect);
            _iconSprite.Draw();
        }
Beispiel #16
0
 public override void Render()
 {
     if (DrawBackground)
     {
         CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, BackgroundColor);
     }
     if (DrawTextHighlight)
     {
         CluwneLib.drawRectangle((int)(Text.Position.X + 3), (int)Text.Position.Y + 4, (int)Text.Width, (int)Text.Height - 9, BackgroundColor);
     }
     if (DrawBorder)
     {
         CluwneLib.drawHollowRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, BorderWidth, BorderColor);
     }
     Text.Draw();
 }
Beispiel #17
0
 public override void Render()
 {
     if (!IsVisible())
     {
         return;
     }
     if (drawBackground)
     {
         CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height, new Color(47, 79, 79));
     }
     scrollbarButton.SetTransformToRect(clientAreaButton);
     scrollbarButton.Draw();
     DEBUG.Position = new Vector2i(ClientArea.Left + 20, ClientArea.Top + 20);
     DEBUG.Text     = "current: " + actualVal.ToString();
     if (DRAW_DEBUG)
     {
         DEBUG.Draw();
     }
 }
 public override void Render()
 {
     if (!IsVisible())
     {
         return;
     }
     if (drawBackground)
     {
         CluwneLib.drawRectangle(ClientArea.X, ClientArea.Y, ClientArea.Width, ClientArea.Height, Color.DarkSlateGray);
     }
     scrollbarButton.Draw(clientAreaButton);
     DEBUG.Position = new Vector2(ClientArea.Location.X + 20, ClientArea.Location.Y + 20);
     DEBUG.Text     = "current: " + actualVal.ToString();
     if (DRAW_DEBUG)
     {
         DEBUG.Draw();
     }
     CluwneLib.drawRectangle(ClientArea.X + 0, ClientArea.Y + 0, ClientArea.Width - 0, ClientArea.Height - 0, Color.Black);
 }
        public override void Render()
        {
            if (buttons.Count == 0)
            {
                return;
            }

            CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height,
                                    new SFML.Graphics.Color(105, 105, 105));

            foreach (StatusEffectButton button in buttons)
            {
                button.Render();
            }

            foreach (StatusEffectButton button in buttons) //Needs to be separate so its drawn on top of all buttons.
            {
                button.DrawTooltip();
            }
        }
Beispiel #20
0
        private void DrawGraph()
        {
            int    totalRecBytes     = 0;
            int    totalSentBytes    = 0;
            double totalMilliseconds = 0d;

            for (int i = 0; i < MaxDataPoints; i++)
            {
                if (_dataPoints.Count <= i)
                {
                    continue;
                }

                totalMilliseconds += _dataPoints[i].ElapsedMilliseconds;
                totalRecBytes     += _dataPoints[i].ReceivedBytes;
                totalSentBytes    += _dataPoints[i].SentBytes;

                CluwneLib.ResetRenderTarget();

                //Draw recieved line
                CluwneLib.drawRectangle((int)CluwneLib.CurrentRenderTarget.Size.X - (4 * (MaxDataPoints - i)),
                                        (int)CluwneLib.CurrentRenderTarget.Size.Y - (int)(_dataPoints[i].ReceivedBytes * 0.1f),
                                        2,
                                        (int)(_dataPoints[i].ReceivedBytes * 0.1f),
                                        SFML.Graphics.Color.Red.WithAlpha(180));

                CluwneLib.drawRectangle((int)CluwneLib.CurrentRenderTarget.Size.X - (4 * (MaxDataPoints - i)) + 2,
                                        (int)CluwneLib.CurrentRenderTarget.Size.Y - (int)(_dataPoints[i].SentBytes * 0.1f),
                                        2,
                                        (int)(_dataPoints[i].SentBytes * 0.1f),
                                        new SFML.Graphics.Color(0, 128, 0).WithAlpha(180));
            }

            _textSprite.Text     = String.Format("Up: {0} kb/s.", Math.Round(totalSentBytes / totalMilliseconds, 6));
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - (4 * MaxDataPoints) - 100, (int)CluwneLib.CurrentRenderTarget.Size.Y - 30);
            _textSprite.Draw();

            _textSprite.Text     = String.Format("Down: {0} kb/s.", Math.Round(totalRecBytes / totalMilliseconds, 6));
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - (4 * MaxDataPoints) - 100, (int)CluwneLib.CurrentRenderTarget.Size.Y - 60);
            _textSprite.Draw();
        }
Beispiel #21
0
        public override void Render()
        {
            if (buttons.Count > 0)
            {
                CluwneLib.drawRectangle(ClientArea.Left, ClientArea.Top, ClientArea.Width, ClientArea.Height,
                                        new SFML.Graphics.Color(105, 105, 105));
            }

            CluwneLib.drawCircle(Position.X, Position.Y, 3, Color.White);
            CluwneLib.drawCircle(Position.X, Position.Y, 2, new SFML.Graphics.Color(128, 128, 128));

            foreach (StatusEffectButton button in buttons)
            {
                button.Render();
            }

            foreach (StatusEffectButton button in buttons) //Needs to be separate so its drawn on top of all buttons.
            {
                button.DrawTooltip();
            }
        }
Beispiel #22
0
        public void DrawTooltip(Vector2i offset) //Has to be separate so it draws on top of all buttons.
        {
            if (showTooltip)
            {
                string tooltipStr = assignedAction.Name +
                                    Environment.NewLine + Environment.NewLine +
                                    assignedAction.Description +
                                    (cooldownLeft > 0
                                         ? Environment.NewLine + Environment.NewLine + "Cooldown : " +
                                     cooldownLeft.ToString() + " sec"
                                         : "");

                tooltip.Text = tooltipStr;
                var x_pos = (tooltipPos.X + 10 + tooltip.Width + 5 + offset.X) > CluwneLib.CurrentClippingViewport.Width
                                  ? 0 - tooltip.Width - 10
                                  : 10 + 5;
                tooltip.Position = new Vector2i(tooltipPos.X + x_pos + 5 + offset.X, tooltipPos.Y + 5 + 10 + offset.Y);
                CluwneLib.drawRectangle(tooltipPos.X + x_pos + offset.X, tooltipPos.Y + 10 + offset.Y, tooltip.Width + 5, tooltip.Height + 5, new Color(70, 130, 180));
                CluwneLib.drawRectangle(tooltipPos.X + x_pos + offset.X, tooltipPos.Y + 10 + offset.Y, tooltip.Width + 5, (tooltip.Height + 5), new Color(72, 61, 139));
                tooltip.Draw();
            }
        }
Beispiel #23
0
 public override void Draw()
 {
     CluwneLib.drawRectangle(0, 0, (int)CluwneLib.CurrentRenderTarget.Size.X, (int)CluwneLib.CurrentRenderTarget.Size.Y, Color4.Black);
     _message.Draw();
     _mainMenuButton.Draw();
 }
Beispiel #24
0
        private void DrawGraph()
        {
            var totalRecBytes     = 0;
            var totalSentBytes    = 0;
            var totalMilliseconds = 0d;
            var totalRecPkts      = 0;
            var totalSentPkts     = 0;

            for (var i = 0; i < MaxDataPoints; i++)
            {
                if (_dataPoints.Count <= i)
                {
                    continue;
                }

                totalMilliseconds += _dataPoints[i].ElapsedMilliseconds;
                totalRecBytes     += _dataPoints[i].ReceivedBytes;
                totalSentBytes    += _dataPoints[i].SentBytes;
                totalRecPkts      += _dataPoints[i].ReceivedPkts;
                totalSentPkts     += _dataPoints[i].SentPkts;

                CluwneLib.ResetRenderTarget();

                CluwneLib.drawRectangle((int)CluwneLib.CurrentRenderTarget.Size.X - 2 * (MaxDataPoints - i) + 2,
                                        (int)CluwneLib.CurrentRenderTarget.Size.Y - (int)(_dataPoints[i].SentBytes * 0.1f),
                                        2,
                                        (int)(_dataPoints[i].SentBytes * 0.2f),
                                        new Color(0, 128, 0, 255));

                CluwneLib.drawRectangle((int)CluwneLib.CurrentRenderTarget.Size.X - 2 * (MaxDataPoints - i),
                                        (int)CluwneLib.CurrentRenderTarget.Size.Y - (int)(_dataPoints[i].ReceivedBytes * 0.1f),
                                        2,
                                        (int)(_dataPoints[i].ReceivedBytes * 0.2f),
                                        new Color(255, 0, 0, 128));
            }

            _textSprite.Text     = string.Format("Up: {0:0.00} kb/s", Math.Round(totalSentBytes / totalMilliseconds, 2));
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - 4 * MaxDataPoints - 125, (int)CluwneLib.CurrentRenderTarget.Size.Y - 4 * _textSprite.Height - 5);
            _textSprite.Draw();

            _textSprite.Text     = string.Format("Down: {0:0.00} kb/s", Math.Round(totalRecBytes / totalMilliseconds, 2));
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - 4 * MaxDataPoints - 125, (int)CluwneLib.CurrentRenderTarget.Size.Y - 3 * _textSprite.Height - 5);
            _textSprite.Draw();

            _textSprite.Text     = string.Format("Out: {0} pkts", Math.Round(totalSentPkts / (totalMilliseconds / 1000)));
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - 4 * MaxDataPoints - 125, (int)CluwneLib.CurrentRenderTarget.Size.Y - 2 * _textSprite.Height - 5);
            _textSprite.Draw();

            _textSprite.Text     = string.Format("In: {0} pkts", Math.Round(totalRecPkts / (totalMilliseconds / 1000)));
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - 4 * MaxDataPoints - 125, (int)CluwneLib.CurrentRenderTarget.Size.Y - 1 * _textSprite.Height - 5);
            _textSprite.Draw();

            _textSprite.Text     = string.Format("Ping: {0}ms", _networkManager.ServerChannel?.Ping ?? -1);
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - 4 * MaxDataPoints - 0, (int)CluwneLib.CurrentRenderTarget.Size.Y - 4 * _textSprite.Height - 5);
            _textSprite.Draw();

            _textSprite.Text     = string.Format("Frame Time: {0:0.00}ms ({1:0.00}FPS)", _timing.RealFrameTimeAvg.TotalMilliseconds, 1 / _timing.RealFrameTimeAvg.TotalSeconds);
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - 4 * MaxDataPoints - 0, (int)CluwneLib.CurrentRenderTarget.Size.Y - 3 * _textSprite.Height - 5);
            _textSprite.Draw();

            _textSprite.Text     = string.Format("Frame SD: {0:0.00}ms", _timing.RealFrameTimeStdDev.TotalMilliseconds);
            _textSprite.Position = new Vector2i((int)CluwneLib.CurrentRenderTarget.Size.X - 4 * MaxDataPoints - 0, (int)CluwneLib.CurrentRenderTarget.Size.Y - 2 * _textSprite.Height - 5);
            _textSprite.Draw();
        }