/// <summary> /// Renders the tooltip /// </summary> private void RenderToolTip() { var text = $"[i] {this.ToolTip}"; var dim = MiscUtils.MeasureText(text); var width = Math.Max(this.Parent.Width, dim[0] + MenuManager.Instance.Theme.TextSpacing + 15); DefaultMenuTheme.DrawRectangleOutline( this.Position.X, this.Position.Y, width, MenuManager.MaxHeightItem + MenuManager.Instance.Theme.BonusMenuHeight, MenuManager.Instance.Theme.LineWidth, MenuManager.Instance.Theme.LineColor); var position = this.Position + MenuManager.Instance.Theme.LineWidth; Aimtec.Render.Rectangle( position, width - MenuManager.Instance.Theme.LineWidth, MenuManager.MaxHeightItem + MenuManager.Instance.Theme.BonusMenuHeight - MenuManager.Instance.Theme.LineWidth, MenuManager.Instance.Theme.MenuBoxBackgroundColor); var textPosition = new Aimtec.Rectangle((int)position.X, (int)position.Y, (int)(position.X + width - (MenuManager.Instance.Theme.LineWidth)), (int)(position.Y + MenuManager.MaxHeightItem + MenuManager.Instance.Theme.BonusMenuHeight)); Aimtec.Render.Text(text, textPosition, RenderTextFlags.VerticalCenter | RenderTextFlags.NoClip | RenderTextFlags.Center, Color.LightBlue); }
public void Render(Vector2 pos) { var width = this.Component.Parent.Width; var height = MenuManager.MaxHeightItem + this.Theme.BonusMenuHeight; var beforeSliderWidth = (float)(this.Component.Value - this.Component.MinValue) / (this.Component.MaxValue - this.Component.MinValue) * (width - this.Theme.LineWidth * 2); var afterSliderWidth = width - beforeSliderWidth - this.Theme.LineWidth; this.Theme.DrawMenuItemBorder(pos, width); var position = pos + this.Theme.LineWidth; this.Theme.DrawMenuItemBox(position, width); var displayNamePosition = new Aimtec.Rectangle((int)position.X + this.Theme.TextSpacing, (int)position.Y, (int)(position.X + width), (int)(position.Y + height)); // Draw light bar before the slider line Aimtec.Render.Rectangle( position, beforeSliderWidth, height * 0.95f, Color.FromArgb(14, 59, 73)); var bfSlider = position + new Vector2(beforeSliderWidth, 0); Aimtec.Render.Line( bfSlider, bfSlider + new Vector2(0, height), this.Theme.LineWidth, false, Color.FromArgb(82, 83, 57)); var afSlider = bfSlider; Aimtec.Render.Rectangle( afSlider, afterSliderWidth - this.Theme.LineWidth, height * 0.95f, Color.FromArgb(16, 26, 29)); // draw text Aimtec.Render.Text(this.Component.Value.ToString(), new Aimtec.Rectangle((int)pos.X + this.Theme.LineWidth, (int)pos.Y + this.Theme.LineWidth, (int)(pos.X + width - this.Theme.TextSpacing), (int)(pos.Y + height)), RenderTextFlags.VerticalCenter | RenderTextFlags.HorizontalRight, this.Theme.TextColor); Aimtec.Render.Text(this.Component.DisplayName + (!string.IsNullOrEmpty(this.Component.ToolTip) ? " [?]" : ""), displayNamePosition, RenderTextFlags.VerticalCenter, this.Theme.TextColor); }
public void Render(Vector2 pos) { var width = this.Component.Parent.Width; var height = MenuManager.MaxHeightItem + this.Theme.BonusMenuHeight; this.Theme.DrawMenuItemBorder(pos, width); var position = pos + this.Theme.LineWidth; this.Theme.DrawMenuItemBox(position, width); var leftVCenter = RenderTextFlags.VerticalCenter | RenderTextFlags.HorizontalLeft | RenderTextFlags.NoClip | RenderTextFlags.SingleLine; var displayNamePosition = new Aimtec.Rectangle((int)position.X + this.Theme.TextSpacing, (int)position.Y, (int)(position.X + width), (int)(position.Y + height)); Aimtec.Render.Text(this.Component.DisplayName + (!string.IsNullOrEmpty(this.Component.ToolTip) ? " [?]" : ""), displayNamePosition, leftVCenter, this.Theme.TextColor); // Render indicator box outline Aimtec.Render.Line( pos.X + width - this.Theme.IndicatorWidth - this.Theme.LineWidth, pos.Y, pos.X + width - this.Theme.IndicatorWidth - this.Theme.LineWidth, pos.Y + height, Color.FromArgb(82, 83, 57)); // Draw indicator box var indBoxPosition = position + new Vector2(width - this.Theme.IndicatorWidth - this.Theme.LineWidth, 0); var boolColor = this.Component.Value ? Color.FromArgb(39, 96, 17) : Color.FromArgb(85, 25, 15); Aimtec.Render.Rectangle( indBoxPosition, this.Theme.IndicatorWidth, height - this.Theme.LineWidth, boolColor); var centerArrowBox = new Aimtec.Rectangle( (int)indBoxPosition.X, (int)indBoxPosition.Y, (int)(indBoxPosition.X + this.Theme.IndicatorWidth), (int)indBoxPosition.Y + height); Aimtec.Render.Text(this.Component.Value ? "ON" : "OFF", centerArrowBox, RenderTextFlags.HorizontalCenter | RenderTextFlags.VerticalCenter, Color.White); }
public void Render(Vector2 pos) { var width = this.Component.Parent.Width; var height = MenuManager.MaxHeightItem + this.Theme.BonusMenuHeight; this.Theme.DrawMenuItemBorder(pos, width); var position = pos + new Vector2(this.Theme.LineWidth, this.Theme.LineWidth); this.Theme.DrawMenuItemBox(position, width); var leftVCenter = RenderTextFlags.VerticalCenter | RenderTextFlags.HorizontalLeft | RenderTextFlags.NoClip | RenderTextFlags.SingleLine; var center = RenderTextFlags.VerticalCenter | RenderTextFlags.HorizontalCenter | RenderTextFlags.NoClip | RenderTextFlags.SingleLine; var displayNamePosition = new Rectangle((int)position.X + this.Theme.TextSpacing, (int)position.Y, (int)(position.X + width), (int)(position.Y + height)); Aimtec.Render.Text(this.Component.DisplayName, displayNamePosition, leftVCenter, this.Theme.TextColor); // Render arrow outline Aimtec.Render.Line( pos.X + width - this.Theme.IndicatorWidth - this.Theme.LineWidth, pos.Y, pos.X + width - this.Theme.IndicatorWidth - this.Theme.LineWidth, pos.Y + height, this.Theme.LineColor); // Draw arrow box position += new Vector2(width - this.Theme.IndicatorWidth - this.Theme.LineWidth, 0); var arrowBoxColor = Color.FromArgb(14, 59, 73); if (!this.Component.Toggled) { arrowBoxColor = Color.FromArgb(11, 18, 20); } Aimtec.Render.Rectangle( position, this.Theme.IndicatorWidth, height - this.Theme.LineWidth, arrowBoxColor); Aimtec.Render.Text(">", new Aimtec.Rectangle((int)position.X, (int)position.Y, (int)(position.X + this.Theme.IndicatorWidth), (int)(position.Y + (height - this.Theme.LineWidth))), center, this.Theme.TextColor); }
public void Render(Vector2 pos) { var width = this.Component.Parent.Width; var height = MenuManager.MaxHeightItem + this.Theme.BonusMenuHeight; this.Theme.DrawMenuItemBorder(pos, width); var position = pos + this.Theme.LineWidth; this.Theme.DrawMenuItemBoxFull(position, width); var center = RenderTextFlags.VerticalCenter | RenderTextFlags.HorizontalCenter | RenderTextFlags.NoClip | RenderTextFlags.SingleLine; var textPosition = new Aimtec.Rectangle((int)position.X, (int)position.Y, (int)(position.X + width), (int)(position.Y + height)); Aimtec.Render.Text(this.Component.Value, textPosition, center, this.Theme.TextColor); }
/// <summary> /// Renders at the specified position. /// </summary> /// <param name="pos">The position.</param> public void Render(Vector2 pos) { var width = this.Component.Parent.Width; var height = MenuManager.MaxHeightItem + this.Theme.BonusMenuHeight; this.Theme.DrawMenuItemBorder(pos, width); var position = pos + this.Theme.LineWidth; this.Theme.DrawMenuItemBox(position, width); var leftVCenter = RenderTextFlags.VerticalCenter | RenderTextFlags.HorizontalLeft | RenderTextFlags.NoClip | RenderTextFlags.SingleLine; var displayNamePosition = new Aimtec.Rectangle((int)position.X + this.Theme.TextSpacing, (int)position.Y, (int)(position.X + width), (int)(position.Y + height)); Aimtec.Render.Text(this.Component.DisplayName + (!string.IsNullOrEmpty(this.Component.ToolTip) ? " [?]" : ""), displayNamePosition, leftVCenter, this.Theme.TextColor); // Render arrow outline 1 - left arrow Aimtec.Render.Line( pos.X + width - this.Theme.IndicatorWidth * 2.1F - this.Theme.LineWidth, pos.Y, pos.X + width - this.Theme.IndicatorWidth * 2.1F - this.Theme.LineWidth, pos.Y + height, Color.FromArgb(82, 83, 57)); // Render arrow outline 2 - right arrow Aimtec.Render.Line( pos.X + width - this.Theme.IndicatorWidth - this.Theme.LineWidth, pos.Y, pos.X + width - this.Theme.IndicatorWidth - this.Theme.LineWidth, pos.Y + height, Color.FromArgb(82, 83, 57)); var leftBoxPosition = position + new Vector2( width - this.Theme.IndicatorWidth * 2.1f - this.Theme.LineWidth, 0); var rightBoxPosition = position + new Vector2(width - this.Theme.IndicatorWidth - this.Theme.LineWidth, 0); // Draw arrow boxes Aimtec.Render.Rectangle( leftBoxPosition, this.Theme.IndicatorWidth, height - this.Theme.LineWidth, Color.FromArgb(16, 26, 29)); var rectLeft = new Aimtec.Rectangle((int)leftBoxPosition.X, (int)leftBoxPosition.Y, (int)(leftBoxPosition.X + this.Theme.IndicatorWidth), (int)(leftBoxPosition.Y + height)); Aimtec.Render.Text("<", rectLeft, RenderTextFlags.HorizontalCenter | RenderTextFlags.VerticalCenter, this.Theme.TextColor); Aimtec.Render.Rectangle( rightBoxPosition, this.Theme.IndicatorWidth, height - this.Theme.LineWidth, Color.FromArgb(16, 26, 29)); var rectRight = new Aimtec.Rectangle((int)rightBoxPosition.X, (int)rightBoxPosition.Y, (int)(rightBoxPosition.X + this.Theme.IndicatorWidth), (int)(rightBoxPosition.Y + height)); Aimtec.Render.Text(">", rectRight, RenderTextFlags.HorizontalCenter | RenderTextFlags.VerticalCenter, this.Theme.TextColor); var valuePosition = new Aimtec.Rectangle((int)position.X + this.Theme.TextSpacing, (int)position.Y, (int)(position.X + width - this.Theme.IndicatorWidth * 2 - this.Theme.LineWidth * 2 - 15), (int)(position.Y + height)); Aimtec.Render.Text(this.Component.Items[this.Component.Value], valuePosition, RenderTextFlags.VerticalCenter | RenderTextFlags.HorizontalRight, this.Theme.TextColor); #endregion }