Backlog
namespace Griff.Scenes;
public sealed class Backlog : Component, IDrawableA log of the lines said so far, to read back: each with who said it and the choices picked, newest at the bottom, scrolled with the mouse wheel, the arrow keys, the D-pad or stick, Page Up and Down, or by dragging it (a finger on a touch screen). Put it on a Panel (Entity → Genres → Visual Novels → Reading Menus makes one) and open the panel with a key (its Open On, the “Log” action: H, Page Up or the gamepad’s left shoulder), a button, or by turning the mouse wheel up over the game; turning it down past the newest line closes it again. Every dialogue’s lines are added as they’re said. The log is saved with the scene, so a saved game or a rewind has the lines said before it.
This is a component: its saved properties are on its component page.
Properties
Section titled “Properties”ChoiceColor
Section titled “ChoiceColor”public Color ChoiceColor { get; set; }The color of the choices picked.
public int Keep { get; set; }How many lines it keeps: past it, the oldest go.
public IReadOnlyList<string> Lines { get; set; }The lines said so far, oldest first: “Ava: Hello!” for one said by someone, “\It was a dark night.” for one said by nobody (a narrator), and “> Stay in the sun” for a choice picked. Dialogues add to it as they’re said.
MostScroll
Section titled “MostScroll”public int MostScroll { get; }How far back it can scroll: the rows that don’t fit.
NameColor
Section titled “NameColor”public Color NameColor { get; set; }The color of the names.
NameWidth
Section titled “NameWidth”public float NameWidth { get; set; }How wide the column of names on the left is; what’s said is wrapped in what’s left.
OpenOnWheel
Section titled “OpenOnWheel”public bool OpenOnWheel { get; set; }Open the panel it’s on when the mouse wheel turns up over the game (with no other panel open); turning it down past the newest line closes it.
public int Order { get; set; }Higher draws on top, like Order.
RowCount
Section titled “RowCount”public int RowCount { get; }The rows of text its lines make, once wrapped, for the scroll bar and the keys.
RowsShown
Section titled “RowsShown”public int RowsShown { get; }How many rows of text fit in it.
Scroll
Section titled “Scroll”public float Scroll { get; set; }How far back it’s scrolled, in rows of text from the newest: 0 shows the newest at the bottom.
public Vector2 Size { get; set; }How big the log is, in world units, centered on the entity.
TextColor
Section titled “TextColor”public Color TextColor { get; set; }The color of what’s said.
TextSize
Section titled “TextSize”public float TextSize { get; set; }How tall its text is.
Methods
Section titled “Methods”public void Add(string line)Adds a line at the end, as a dialogue does when it says one, letting the oldest go past Keep.
public void Clear()Forgets every line.
public static ValueTuple<string, string, bool> Entry(string? line)A line of Lines taken apart: who said it (null for nobody), what was said, and whether it’s a choice that was picked.