private ColoredString[] GetNameText(bool selected, Color backColor) { var itemColor = selected ? SelectedItemTextColor : ItemDrawingHelper.GetItemColor(Stack.TopItem).ToXna(); return(new[] { new ColoredString(Stack.TopItem.Name.ConvertGlyphs(), new Cell(itemColor, backColor)) }); }
private void PrintWeapon(int dX, int dY, CellSurface surface) { surface.Fill(1, dY, Width - 2, FrameColor, DefaultBackground, Glyphs.GetGlyph('═')); surface.Print(0, dY, new ColoredGlyph(Glyphs.GetGlyph('╠'), FrameColor, DefaultBackground)); surface.Print(Width - 1, dY, new ColoredGlyph(Glyphs.GetGlyph('╣'), FrameColor, DefaultBackground)); surface.PrintStyledText(dX, dY + 1, new StyledLine { "Right Hand: ", new StyledString(Player.Equipment.RightHandItem.Name, ItemDrawingHelper.GetItemColor(Player.Equipment.RightHandItem)) }.ToColoredString(DefaultBackground)); surface.Fill(1, dY + 2, Width - 2, FrameColor, DefaultBackground, Glyphs.GetGlyph('─')); surface.Print(0, dY + 2, new ColoredGlyph(Glyphs.GetGlyph('╟'), FrameColor, DefaultBackground)); surface.Print(Width - 1, dY + 2, new ColoredGlyph(Glyphs.GetGlyph('╢'), FrameColor, DefaultBackground)); var rightWeaponDetails = GetHoldableDetails(Player.Equipment.RightHandItem); for (int yShift = 0; yShift < rightWeaponDetails.Length; yShift++) { var y = dY + 3 + yShift; surface.PrintStyledText(dX, y, rightWeaponDetails[yShift].ToColoredString(DefaultBackground)); } var leftDy = dY + rightWeaponDetails.Length + 4; surface.Fill(1, leftDy, Width - 2, FrameColor, DefaultBackground, Glyphs.GetGlyph('═')); surface.Print(0, leftDy, new ColoredGlyph(Glyphs.GetGlyph('╠'), FrameColor, DefaultBackground)); surface.Print(Width - 1, leftDy, new ColoredGlyph(Glyphs.GetGlyph('╣'), FrameColor, DefaultBackground)); surface.PrintStyledText(dX, leftDy + 1, new StyledLine { "Left Hand: ", new StyledString(Player.Equipment.LeftHandItem.Name, ItemDrawingHelper.GetItemColor(Player.Equipment.LeftHandItem)) }.ToColoredString(DefaultBackground)); surface.Fill(1, leftDy + 2, Width - 2, FrameColor, DefaultBackground, Glyphs.GetGlyph('─')); surface.Print(0, leftDy + 2, new ColoredGlyph(Glyphs.GetGlyph('╟'), FrameColor, DefaultBackground)); surface.Print(Width - 1, leftDy + 2, new ColoredGlyph(Glyphs.GetGlyph('╢'), FrameColor, DefaultBackground)); var leftWeaponDetails = GetHoldableDetails(Player.Equipment.LeftHandItem); for (int yShift = 0; yShift < leftWeaponDetails.Length; yShift++) { var y = leftDy + 3 + yShift; surface.PrintStyledText(dX, y, leftWeaponDetails[yShift].ToColoredString(DefaultBackground)); } }
protected override void DrawView(CellSurface surface) { base.DrawView(surface); surface.Print(2, 1, "Spell Book:"); surface.Print(14, 1, new ColoredString(SpellBook.Name, ItemDrawingHelper.GetItemColor(SpellBook).ToXna(), DefaultBackground)); surface.Fill(1, 2, Width - 2, FrameColor, DefaultBackground, Glyphs.GetGlyph('─')); surface.Print(0, 2, new ColoredGlyph(Glyphs.GetGlyph('╟'), FrameColor, DefaultBackground)); surface.Print(Width - 1, 2, new ColoredGlyph(Glyphs.GetGlyph('╢'), FrameColor, DefaultBackground)); surface.Print(Width - 59, 2, new ColoredGlyph(Glyphs.GetGlyph('┬'), FrameColor, DefaultBackground)); surface.Print(Width - 59, Height - 1, new ColoredGlyph(Glyphs.GetGlyph('╧'), FrameColor, DefaultBackground)); surface.DrawVerticalLine(Width - 59, 3, Height - 4, new ColoredGlyph(Glyphs.GetGlyph('│'), FrameColor, DefaultBackground)); if (spellDetails.IsVisible) { surface.Print(Width - 59, 4, new ColoredGlyph(Glyphs.GetGlyph('├'), FrameColor, DefaultBackground)); surface.Print(Width - 1, 4, new ColoredGlyph(Glyphs.GetGlyph('╢'), FrameColor, DefaultBackground)); } }
private void DrawName() { const int initialYShift = 3; var maxWidth = Width - 6; var itemColor = ItemDrawingHelper.GetItemColor(Stack.TopItem).ToXna(); if (Stack.TopItem.Name.Length <= maxWidth) { Surface.Print(1, initialYShift, new ColoredString(Stack.TopItem.Name.ConvertGlyphs(), new Cell(itemColor, BackColor))); return; } var cuttedName = CutNameString(Stack.TopItem.Name, maxWidth); for (int yShift = 0; yShift < cuttedName.Length; yShift++) { var line = cuttedName[yShift]; Surface.Print(1, initialYShift + yShift, new ColoredString(line.ConvertGlyphs(), new Cell(itemColor, BackColor))); } }
protected static StyledString GetItemNameText(IItem item) { return(new StyledString(item.Name, ItemDrawingHelper.GetItemColor(item))); }