/// <summary> /// Render a solid rectangle. /// </summary> protected void RenderRectangle(ITessellator tessellator, Color color, int tileWidth, int tileHeight) { tessellator.PushTransform(); tessellator.BindColor(color); for (var y = 0; y < tileHeight; y++) { for (var x = 0; x < tileWidth; x++) { UI_ASCII.Render(tessellator, ASCII_SOLID); tessellator.Translate(UI_ASCII.Width, 0); } tessellator.Translate(-UI_ASCII.Width * tileWidth, UI_ASCII.Height); } tessellator.PopTransform(); }
protected override void RenderContent(ITessellator tessellator) { RenderRectangle(tessellator, BackgroundColor, _tileWidth, _tileHeight); tessellator.BindColor(BorderColor); UI_ASCII.Render(tessellator, DOUBLELINED ? ASCII_DOUBLELINE_TOPLEFT : ASCII_SINGLELINE_TOPLEFT); for (var n = 0; n < _tileWidth - 2; n++) { tessellator.Translate(UI_ASCII.Width, 0); UI_ASCII.Render(tessellator, DOUBLELINED ? ASCII_DOUBLELINE_HORIZONTAL : ASCII_SINGLELINE_HORIZONTAL); // top } tessellator.Translate(UI_ASCII.Width, 0); UI_ASCII.Render(tessellator, DOUBLELINED ? ASCII_DOUBLELINE_TOPRIGHT : ASCII_SINGLELINE_TOPRIGHT); tessellator.Translate(0, UI_ASCII.Height * (_tileHeight - 1)); UI_ASCII.Render(tessellator, DOUBLELINED ? ASCII_DOUBLELINE_BOTTOMRIGHT : ASCII_SINGLELINE_BOTTOMRIGHT); for (var n = 0; n < _tileWidth - 2; n++) { tessellator.Translate(-UI_ASCII.Width, 0); UI_ASCII.Render(tessellator, DOUBLELINED ? ASCII_DOUBLELINE_HORIZONTAL : ASCII_SINGLELINE_HORIZONTAL); // bottom } tessellator.Translate(-UI_ASCII.Width, 0); UI_ASCII.Render(tessellator, DOUBLELINED ? ASCII_DOUBLELINE_BOTTOMLEFT : ASCII_SINGLELINE_BOTTOMLEFT); for (var n = 0; n < _tileHeight - 2; n++) { tessellator.Translate(0, -UI_ASCII.Height); UI_ASCII.Render(tessellator, DOUBLELINED ? ASCII_DOUBLELINE_VERTICAL : ASCII_SINGLELINE_VERTICAL); // left } tessellator.Translate(UI_ASCII.Width * (_tileWidth - 1), 0); for (var n = 0; n < _tileHeight - 2; n++) { UI_ASCII.Render(tessellator, DOUBLELINED ? ASCII_DOUBLELINE_VERTICAL : ASCII_SINGLELINE_VERTICAL); // right tessellator.Translate(0, UI_ASCII.Height); } }