public void RenderDebug(IGameContext gameContext, IRenderContext renderContext, Agent agent, I2DRenderUtilities twoDRenderUtilities) { var wndPos = new Vector2(this.WanderDistance, 0); var wldPos = agent.Project(wndPos); for (var i = 0; i < 10; i++) { var r = MathHelper.ToRadians(36 * i); var r2 = MathHelper.ToRadians(36 * (i + 1)); twoDRenderUtilities.RenderLine( renderContext, wldPos + (new Vector2((float)Math.Sin(r), (float)Math.Cos(r)) * this.WanderRadius), wldPos + (new Vector2((float)Math.Sin(r2), (float)Math.Cos(r2)) * this.WanderRadius), Color.Green); } wndPos = this.m_WanderTarget + new Vector2(this.WanderDistance, 0); wldPos = agent.Project(wndPos); for (var i = 0; i < 10; i++) { var r = MathHelper.ToRadians(36 * i); var r2 = MathHelper.ToRadians(36 * (i + 1)); twoDRenderUtilities.RenderLine( renderContext, wldPos + (new Vector2((float)Math.Sin(r), (float)Math.Cos(r)) * 3), wldPos + (new Vector2((float)Math.Sin(r2), (float)Math.Cos(r2)) * 3), Color.Red); } }
public void RenderDebug(IGameContext gameContext, IRenderContext renderContext, Agent agent, I2DRenderUtilities twoDRenderUtilities) { var wndPos = new Vector2(this.WanderDistance, 0); var wldPos = agent.Project(wndPos); for (var i = 0; i < 10; i++) { var r = MathHelper.ToRadians(36 * i); var r2 = MathHelper.ToRadians(36 * (i + 1)); twoDRenderUtilities.RenderLine( renderContext, wldPos + (new Vector2((float)Math.Sin(r), (float)Math.Cos(r)) * this.WanderRadius), wldPos + (new Vector2((float)Math.Sin(r2), (float)Math.Cos(r2)) * this.WanderRadius), Color.Green); } wndPos = this.m_WanderTarget + new Vector2(this.WanderDistance, 0); wldPos = agent.Project(wndPos); for (var i = 0; i < 10; i++) { var r = MathHelper.ToRadians(36 * i); var r2 = MathHelper.ToRadians(36 * (i + 1)); twoDRenderUtilities.RenderLine( renderContext, wldPos + (new Vector2((float)Math.Sin(r), (float)Math.Cos(r)) * 3), wldPos + (new Vector2((float)Math.Sin(r2), (float)Math.Cos(r2)) * 3), Color.Red); } }
public void Render(IGameContext gameContext, IRenderContext renderContext, Rectangle rectangle) { var graphicsMetrics = renderContext.GraphicsDevice.Metrics; var metrics = new[] { new Tuple <string, ulong, ulong>("cc", (ulong)graphicsMetrics.ClearCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("psc", (ulong)graphicsMetrics.PixelShaderCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("dc", (ulong)graphicsMetrics.DrawCount, 200), new Tuple <string, ulong, ulong>("pc", (ulong)graphicsMetrics.PrimitiveCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("sc", (ulong)graphicsMetrics.SpriteCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("tgc", (ulong)graphicsMetrics.TargetCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("txc", (ulong)graphicsMetrics.TextureCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("vsc", (ulong)graphicsMetrics.VertexShaderCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("vbc", (ulong)_renderCache.VertexBuffersCached, ulong.MaxValue), new Tuple <string, ulong, ulong>("ibc", (ulong)_renderCache.IndexBuffersCached, ulong.MaxValue), new Tuple <string, ulong, ulong>("vbac", (ulong)_renderAutoCache.VertexBuffersCached, ulong.MaxValue), new Tuple <string, ulong, ulong>("ibac", (ulong)_renderAutoCache.IndexBuffersCached, ulong.MaxValue), new Tuple <string, ulong, ulong>("bch", _renderBatcher.LastBatchCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("apy", _renderBatcher.LastApplyCount, ulong.MaxValue), new Tuple <string, ulong, ulong>("sav", _renderBatcher.LastBatchSaveCount, ulong.MaxValue), null, new Tuple <string, ulong, ulong>("pscr", ParameterSetsCreated, ulong.MaxValue), new Tuple <string, ulong, ulong>("rrcr", RenderRequestsCreated, ulong.MaxValue), }; _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X, rectangle.Y), new Vector2(rectangle.X, rectangle.Y + rectangle.Height - 1), Color.Green); _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X + 1, rectangle.Y), new Vector2(rectangle.X + 1, rectangle.Y + rectangle.Height - 1), Color.Green); for (var i = 0; i < metrics.Length; i++) { var y = i / 4 * 20; var x = i % 4 * ((rectangle.Width - 10) / 4) + 5; if (metrics[i] == null) { continue; } _renderUtilities.RenderText( renderContext, new Vector2(rectangle.X + x, rectangle.Y + y), metrics[i].Item1 + ": " + metrics[i].Item2, _defaultFont, textColor: metrics[i].Item2 > metrics[i].Item3 ? Color.Red : Color.White, renderShadow: false); } ParameterSetsCreated = 0; RenderRequestsCreated = 0; }
public void Render(IGameContext gameContext, IRenderContext renderContext, Rectangle rectangle) { var physicsMetrics = _physicsEngine.GetPhysicsMetrics(); var metrics = new[] { new Tuple <string, ulong>("sio", (ulong)physicsMetrics.StaticImmovableObjects), new Tuple <string, ulong>("po", (ulong)physicsMetrics.PhysicsObjects), null, null, new Tuple <string, ulong>("fr", (ulong)(physicsMetrics.SyncFromPhysicsTime * 1000)), new Tuple <string, ulong>("st", (ulong)(physicsMetrics.PhysicsStepTime * 1000)), new Tuple <string, ulong>("to", (ulong)(physicsMetrics.SyncToPhysicsTime * 1000)), }; _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X, rectangle.Y), new Vector2(rectangle.X, rectangle.Y + rectangle.Height - 1), Color.Cyan); _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X + 1, rectangle.Y), new Vector2(rectangle.X + 1, rectangle.Y + rectangle.Height - 1), Color.Cyan); for (var i = 0; i < metrics.Length; i++) { var y = i / 4 * 20; var x = i % 4 * ((rectangle.Width - 10) / 4) + 5; if (metrics[i] == null) { continue; } _renderUtilities.RenderText( renderContext, new Vector2(rectangle.X + x, rectangle.Y + y), metrics[i].Item1 + ": " + metrics[i].Item2, _defaultFont, renderShadow: false); } }
public void Render(IGameContext gameContext, IRenderContext renderContext, Rectangle rectangle) { var metrics = new[] { new Tuple <string, ulong>("rn", (ulong)_hierachy.RootNodes.Count), new Tuple <string, ulong>("lco", (ulong)_hierachy.LookupCacheObjectCount) }; _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X, rectangle.Y), new Vector2(rectangle.X, rectangle.Y + rectangle.Height - 1), Color.Orange); _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X + 1, rectangle.Y), new Vector2(rectangle.X + 1, rectangle.Y + rectangle.Height - 1), Color.Orange); for (var i = 0; i < metrics.Length; i++) { var y = i / 4 * 20; var x = i % 4 * ((rectangle.Width - 10) / 4) + 5; if (metrics[i] == null) { continue; } _renderUtilities.RenderText( renderContext, new Vector2(rectangle.X + x, rectangle.Y + y), metrics[i].Item1 + ": " + metrics[i].Item2, _defaultFont, renderShadow: false); } }
public void Render(IRenderContext renderContext, Rectangle layout, HorizontalSpacedContainer horizontalContainer) { var children = horizontalContainer.ChildrenWithLayouts(layout).ToArray(); for (var i = 0; i < children.Length; i++) { if (i < children.Length - 1) { _renderUtilities.RenderLine( renderContext, new Vector2(children[i].Value.Right, children[i].Value.Y), new Vector2(children[i].Value.Right, children[i].Value.Bottom), new Color(0, 0, 0, 72)); } } }
public void DrawRaised(IRenderContext context, Rectangle layout) { _renderUtilities.RenderRectangle(context, layout, _basicSkin.SurfaceColor, true); _renderUtilities.RenderLine( context, new Vector2(layout.X, layout.Y + layout.Height - 1), new Vector2(layout.X + layout.Width, layout.Y + layout.Height - 1), _basicSkin.DarkEdgeColor); _renderUtilities.RenderLine( context, new Vector2(layout.X + layout.Width - 1, layout.Y), new Vector2(layout.X + layout.Width - 1, layout.Y + layout.Height), _basicSkin.DarkEdgeColor); _renderUtilities.RenderLine( context, new Vector2(layout.X, layout.Y), new Vector2(layout.X + layout.Width, layout.Y), _basicSkin.LightEdgeColor); _renderUtilities.RenderLine( context, new Vector2(layout.X, layout.Y), new Vector2(layout.X, layout.Y + layout.Height), _basicSkin.LightEdgeColor); }
public void Render(IRenderContext renderContext, Rectangle rectangle) { var maxBytes = _bytesOverTime.DefaultIfEmpty(0).Max(); var maxCounts = _countsOverTime.DefaultIfEmpty(0).Max(); RenderHeader(renderContext, rectangle, Type, 0, _bytesOverTime.DefaultIfEmpty(0).Last(), maxBytes, "b"); RenderHeader(renderContext, rectangle, string.Empty, 16, _countsOverTime.DefaultIfEmpty(0).Last(), maxCounts, "#"); if (maxBytes > 0) { var a = 0; for (var i = _bytesOverTime.Count - 1; i >= 0; i--) { _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X + rectangle.Width - a - 1, rectangle.Y + 56), new Vector2(rectangle.X + rectangle.Width - a - 1, rectangle.Y + 56 - (int)((_bytesOverTime[i] / (float)maxBytes) * 20)), _bytesOverTime[i] > 512 ? Color.Red : Color.Cyan); a++; } } }
public void RenderDebug(IGameContext gameContext, IRenderContext renderContext, I2DRenderUtilities twodRenderUtilities) { for (var i = 0; i < 10; i++) { var r = MathHelper.ToRadians(36 * i); var r2 = MathHelper.ToRadians(36 * (i + 1)); twodRenderUtilities.RenderLine( renderContext, this.Position + (new Vector2((float)Math.Sin(r), (float)Math.Cos(r)) * 8f), this.Position + (new Vector2((float)Math.Sin(r2), (float)Math.Cos(r2)) * 8f), Color.Gray); } twodRenderUtilities.RenderLine( renderContext, this.Project(new Vector2(0, 0)), this.Project(new Vector2(10, 0)), Color.OrangeRed); twodRenderUtilities.RenderLine( renderContext, this.Position, this.Position + (this.Heading * 10f), Color.Cyan); twodRenderUtilities.RenderLine( renderContext, this.Position, this.Position + (this.LastAccel * 10f), Color.Blue); twodRenderUtilities.RenderLine( renderContext, this.Position, this.Position + (this.Velocity * 10f), Color.Pink); foreach (var feeler in this.m_WallFeelers) { twodRenderUtilities.RenderLine(renderContext, this.Position, this.Project(feeler), Color.Orange); } this.AI.RenderDebug(gameContext, renderContext, this, twodRenderUtilities); }
public void RenderDebug(IGameContext gameContext, IRenderContext renderContext, I2DRenderUtilities twodRenderUtilities) { for (var i = 0; i < 10; i++) { var r = MathHelper.ToRadians(36 * i); var r2 = MathHelper.ToRadians(36 * (i + 1)); twodRenderUtilities.RenderLine( renderContext, this.Position + (new Vector2((float)Math.Sin(r), (float)Math.Cos(r)) * 8f), this.Position + (new Vector2((float)Math.Sin(r2), (float)Math.Cos(r2)) * 8f), Color.Gray); } twodRenderUtilities.RenderLine( renderContext, this.Project(new Vector2(0, 0)), this.Project(new Vector2(10, 0)), Color.OrangeRed); twodRenderUtilities.RenderLine( renderContext, this.Position, this.Position + (this.Heading * 10f), Color.Cyan); twodRenderUtilities.RenderLine( renderContext, this.Position, this.Position + (this.LastAccel * 10f), Color.Blue); twodRenderUtilities.RenderLine( renderContext, this.Position, this.Position + (this.Velocity * 10f), Color.Pink); foreach (var feeler in this.m_WallFeelers) { twodRenderUtilities.RenderLine(renderContext, this.Position, this.Project(feeler), Color.Orange); } this.AI.RenderDebug(gameContext, renderContext, this, twodRenderUtilities); }
public void Render(IGameContext gameContext, IRenderContext renderContext, Rectangle rectangle) { #if PLATFORM_WINDOWS || PLATFORM_MACOS || PLATFORM_LINUX long gen0Value, gen1Value, gen2Value; if (_gen0PerformanceCounter == null) { gen0Value = 0; } else { var v = _gen0PerformanceCounter.RawValue; gen0Value = v - _lastGen0Count; _lastGen0Count = v; } if (_gen1PerformanceCounter == null) { gen1Value = 0; } else { var v = _gen1PerformanceCounter.RawValue; gen1Value = v - _lastGen1Count; _lastGen1Count = v; } if (_gen2PerformanceCounter == null) { gen2Value = 0; } else { var v = _gen2PerformanceCounter.RawValue; gen2Value = v - _lastGen2Count; _lastGen2Count = v; } var metrics = new[] { new Tuple <string, ulong>("gen0", (ulong)gen0Value), new Tuple <string, ulong>("gen1", (ulong)gen1Value), new Tuple <string, ulong>("gen2", (ulong)gen2Value) }; #endif _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X, rectangle.Y), new Vector2(rectangle.X, rectangle.Y + rectangle.Height - 1), Color.Red); _renderUtilities.RenderLine( renderContext, new Vector2(rectangle.X + 1, rectangle.Y), new Vector2(rectangle.X + 1, rectangle.Y + rectangle.Height - 1), Color.Red); #if PLATFORM_WINDOWS || PLATFORM_MACOS || PLATFORM_LINUX for (var i = 0; i < metrics.Length; i++) { var y = i / 4 * 20; var x = i % 4 * ((rectangle.Width - 10) / 4) + 5; if (metrics[i] == null) { continue; } _renderUtilities.RenderText( renderContext, new Vector2(rectangle.X + x, rectangle.Y + y), metrics[i].Item1 + ": " + metrics[i].Item2, _defaultFont); } #else _renderUtilities.RenderText( renderContext, new Vector2(rectangle.X + 5, rectangle.Y), "GC stats not available", _defaultFont); #endif }
public void Render(IGameContext gameContext, IRenderContext renderContext, StringBuilder inputBuffer, ConsoleState state, List <Tuple <ConsoleLogLevel, string> > logEntries) { if (_fontAsset == null) { _fontAsset = _assetManager.Get <FontAsset>("font.Console"); } if (renderContext.IsCurrentRenderPass <I3DRenderPass>()) { return; } var h = 0; if (state == ConsoleState.Open || state == ConsoleState.OpenNoInput) { h = 300; } else if (state == ConsoleState.FullOpen || state == ConsoleState.FullOpenNoInput) { h = gameContext.Window.ClientBounds.Height; } _renderUtilities.RenderRectangle( renderContext, new Rectangle(0, 0, gameContext.Window.ClientBounds.Width, h), new Color(0, 0, 0, 210), true); _renderUtilities.RenderRectangle( renderContext, new Rectangle(0, 0, gameContext.Window.ClientBounds.Width - 1, h - 1), Color.White); var o = 16; if (state == ConsoleState.FullOpen || state == ConsoleState.Open) { _renderUtilities.RenderLine( renderContext, new Vector2(0, h - 16), new Vector2(gameContext.Window.ClientBounds.Width, h - 16), Color.White); _renderUtilities.RenderText( renderContext, new Vector2(2, h - 16), inputBuffer.ToString(), _fontAsset); o = 32; } var a = 0; for (var i = Math.Max(0, logEntries.Count - 30); i < logEntries.Count; i++) { var color = Color.White; switch (logEntries[logEntries.Count - i - 1].Item1) { case ConsoleLogLevel.Debug: color = Color.White; break; case ConsoleLogLevel.Info: color = Color.Cyan; break; case ConsoleLogLevel.Warning: color = Color.Orange; break; case ConsoleLogLevel.Error: color = Color.Red; break; } _renderUtilities.RenderText( renderContext, new Vector2(2, h - o - a * 16), logEntries[logEntries.Count - i - 1].Item2, _fontAsset, textColor: color); a++; } }
public void Render(IRenderContext renderContext, Rectangle layout, ToolbarContainer container) { _nuiRenderer.RenderToolbar(renderContext, new Rectangle(layout.X, layout.Y, layout.Width, 18)); _renderUtilities.RenderLine(renderContext, new Vector2(layout.X, layout.Y + 17), new Vector2(layout.Right - 1, layout.Y + 17), new Color(0, 0, 0, 72)); }
public void Render(IRenderContext renderContext, Rectangle layout, ScrollableContainer scrollableContainer) { var vertAdjust = (scrollableContainer.NeedsVerticalScrollbar ? _skinLayout.VerticalScrollBarWidth : 0); var horAdjust = (scrollableContainer.NeedsHorizontalScrollbar ? _skinLayout.HorizontalScrollBarHeight : 0); var layoutWidth = layout.Width - vertAdjust; var layoutHeight = layout.Height - horAdjust; var layoutFullWidth = layout.Width - _skinLayout.VerticalScrollBarWidth; var layoutFullHeight = layout.Height - _skinLayout.HorizontalScrollBarHeight; if (scrollableContainer.NeedsVerticalScrollbar) { var xPosition = layout.X + layout.Width - _skinLayout.VerticalScrollBarWidth / 2 - 3; var yPosition = layout.Y + _skinLayout.VerticalScrollBarWidth / 2 - 1; var lastYPosition = layout.Y + layout.Height - _skinLayout.VerticalScrollBarWidth / 2 - 3; _renderUtilities.RenderRectangle( renderContext, new Rectangle( layout.X + layout.Width - _skinLayout.VerticalScrollBarWidth, layout.Y, _skinLayout.VerticalScrollBarWidth, layout.Height), new Color(208, 208, 208, 255), true); _renderUtilities.RenderLine( renderContext, new Vector2(layout.X + layout.Width - _skinLayout.VerticalScrollBarWidth - 1, layout.Y), new Vector2(layout.X + layout.Width - _skinLayout.VerticalScrollBarWidth - 1, layout.Y + layout.Height - 1), new Color(182, 182, 182, 255)); _renderUtilities.RenderTexture( renderContext, new Vector2(xPosition, yPosition), _scrollbarVerticalBackgroundTopTexture, new Vector2(6, 3)); _renderUtilities.RenderTexture( renderContext, new Vector2(xPosition, yPosition + 3), _scrollbarVerticalBackgroundTexture, new Vector2(6, lastYPosition - (yPosition + 3))); _renderUtilities.RenderTexture( renderContext, new Vector2(xPosition, lastYPosition), _scrollbarVerticalBackgroundBottomTexture, new Vector2(6, 3)); var scrollbarOffset = (int)(yPosition + scrollableContainer.ScrollY * (layoutFullHeight - layoutFullHeight / (float)scrollableContainer.ChildHeight * layoutFullHeight)); var scrollbarLastOffset = scrollbarOffset + (int)(layoutFullHeight / (float)scrollableContainer.ChildHeight * layoutFullHeight); _renderUtilities.RenderTexture( renderContext, new Vector2(xPosition, scrollbarOffset), _scrollbarVerticalTopTexture, new Vector2(6, 3)); _renderUtilities.RenderTexture( renderContext, new Vector2(xPosition, scrollbarOffset + 3), _scrollbarVerticalTexture, new Vector2(6, scrollbarLastOffset - (scrollbarOffset + 3))); _renderUtilities.RenderTexture( renderContext, new Vector2(xPosition, scrollbarLastOffset), _scrollbarVerticalBottomTexture, new Vector2(6, 3)); } _renderUtilities.RenderTexture( renderContext, new Vector2(layout.X, layout.Y), scrollableContainer.ChildContent, new Vector2(layoutWidth, layoutHeight)); }