/// <summary> /// Gets the width of the MenuKeyBind /// </summary> /// <returns>The <see cref="int" /></returns> public override int Width() { return(ColoredUtilities.CalcWidthItem(this.Component) + (int) (MenuSettings.ContainerHeight + ColoredUtilities.CalcWidthText("[" + this.Component.Key + "]") + MenuSettings.ContainerTextOffset)); }
/// <summary> /// Draws a MenuKeyBind /// </summary> public override void Draw() { var centerY = (int) ColoredUtilities.GetContainerRectangle(this.Component) .GetCenteredText(null, MenuSettings.Font, this.Component.DisplayName, CenteredFlags.VerticalCenter) .Y; MenuSettings.Font.DrawText( MenuManager.Instance.Sprite, MultiLanguage.Translation(this.Component.Interacting ? "Press a key" : this.Component.DisplayName), (int)(this.Component.Position.X + MenuSettings.ContainerTextOffset), centerY, MenuSettings.TextColor); if (!this.Component.Interacting) { var keyString = "[" + this.Component.Key + "]"; MenuSettings.Font.DrawText( MenuManager.Instance.Sprite, keyString, (int) (this.Component.Position.X + this.Component.MenuWidth - MenuSettings.ContainerHeight - ColoredUtilities.CalcWidthText(keyString) - MenuSettings.ContainerTextOffset), centerY, MenuSettings.ContainerSelectedColor); } var centerX = (int) new Rectangle( (int)(this.Component.Position.X + this.Component.MenuWidth - MenuSettings.ContainerHeight), (int)this.Component.Position.Y, MenuSettings.ContainerHeight, MenuSettings.ContainerHeight).GetCenteredText( null, MenuSettings.Font, this.Component.Active ? "On" : "Off", CenteredFlags.HorizontalCenter).X - 5; //Left Utils.DrawCircle( centerX, this.Component.Position.Y + MenuSettings.ContainerHeight / 2f, 7, 270, Utils.CircleType.Half, true, 32, MenuSettings.TextColor); //Right Utils.DrawCircle( centerX + 15, this.Component.Position.Y + MenuSettings.ContainerHeight / 2f, 7, 90, Utils.CircleType.Half, true, 32, MenuSettings.TextColor); //Top Line.Width = 1; Line.Begin(); Line.Draw( new[] { new Vector2(centerX, this.Component.Position.Y + MenuSettings.ContainerHeight / 2f - 8), new Vector2(centerX + 15, this.Component.Position.Y + MenuSettings.ContainerHeight / 2f - 8) }, MenuSettings.TextColor); Line.End(); //Bot Line.Width = 1; Line.Begin(); Line.Draw( new[] { new Vector2(centerX, this.Component.Position.Y + MenuSettings.ContainerHeight / 2f + 7), new Vector2(centerX + 15, this.Component.Position.Y + MenuSettings.ContainerHeight / 2f + 7) }, MenuSettings.TextColor); Line.End(); //FullCircle Utils.DrawCircleFilled( this.Component.Active ? centerX + 14 : centerX + 1, this.Component.Position.Y + MenuSettings.ContainerHeight / 2f, 6, 0, Utils.CircleType.Full, true, 32, this.Component.Active ? MenuSettings.ContainerSelectedColor : MenuSettings.TextColor); }