NameChecks
namespace Griff.Scenes;
public static class NameChecksThe names a scene gives without code that resolve to nothing: an action a trigger, button or card does that what it’s done on can’t do, an output a counter, bar or wire reads that what it reads hasn’t got, and a name picked from what its component lists that isn’t listed. The Inspector flags them, scene_tree lists them, the loader reports them and a game says so in Output as it starts, so a renamed action or output (see FormerNameAttribute) never leaves a trigger silently doing nothing. A text in a small format (points, counts, rows, items; see Formats) that has a part which doesn’t read is the same kind of mistake, said the same way, since the field’s editor and the game read it one way and a part that doesn’t read is left out.
Methods
Section titled “Methods”public static IEnumerable<ValueTuple<Component, string, string>> In(Scene scene, ComponentRegistry registry)Every such name in scene: the component, “Trigger.Do” and why.
public static IEnumerable<string> Lines(Scene scene, ComponentRegistry registry)The same, each as one line for Output or the loader: “Door #3ab Trigger.Do: …”.
Problem
Section titled “Problem”public static string? Problem(Component component, PropertyDescriptor property)Why component’s property names an action or output that isn’t there (or a choice its component doesn’t list), as the Inspector words it; null when it resolves or isn’t such a name.