public static class TerrainStringsEvery word the terrain and foliage toolsets show, declared once.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Two families and one lone id, because most of these ids are computed. Eight commands exist once per digit in each of the two modes, one per sculpt tool, one per paint tool and one per category — a StringId property can only declare an id that is written out, so until StringFamily existed both modes built their labels at the call site.
⚠ The computed halves are built from the same lists the registration walks — TerrainMode.Tools, PaintTools, Categories, SlotCount and FoliageMode.Tools — so a tool added to one of those lists gets a declared label rather than an undeclared one, and the family throws while the mode registers if it does not.
⚠ One id here was in neither half of CheckStrings' census. FoliageTypeRemoveUnavailable was written as Unavailable = new("…", "…") in an object initialiser, which carries neither the type name the loose-id patterns anchor on nor a new StringId the construction patterns match — so it was neither declared nor counted. The analyzer sees it, which is how migrating this assembly found it.
Fields and properties (4)
public static StringFamily TerrainCommandsEvery command the terrain mode registers, by its command id.
public static StringFamily FoliageCommandsEvery command the foliage mode registers, by its command id.
public static StringId FoliageTypeRemoveUnavailableWhy removing a foliage type is greyed out.
public static IReadOnlyList<StringId> AllWhat a translator's template for these two toolsets holds.
Used by (3)
- FoliageModeVixen.Editor.Terrain
- TerrainModeVixen.Editor.Terrain
- TerrainModuleVixen.Editor.Terrain