Skip to content

Backlog

namespace Griff.Scenes;
public sealed class Backlog : Component, IDrawable

A 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.

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.

public int MostScroll { get; }

How far back it can scroll: the rows that don’t fit.

public Color NameColor { get; set; }

The color of the names.

public float NameWidth { get; set; }

How wide the column of names on the left is; what’s said is wrapped in what’s left.

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.

public int RowCount { get; }

The rows of text its lines make, once wrapped, for the scroll bar and the keys.

public int RowsShown { get; }

How many rows of text fit in it.

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.

public Color TextColor { get; set; }

The color of what’s said.

public float TextSize { get; set; }

How tall its text is.

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.