Vixen
dd8b0a81
csharp
public sealed class WaterZoneFacts

A water panel's derived-numbers block.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The part is WaterZoneFacts.vxml, which holds the argument.

⚠ One type under two tags, and it used to be two types. The body panel wants the same block under water-facts and without a refusal, and a component's host tag was a compile-time header — so the ledger recorded "the same part under another name" as unsayable and this file declared a second, near-identical class. What was missing was a spelling, not a mechanism: UiDocument.Adopt has always taken the tag and only fallen back to TagName, so panel.Add<WaterZoneFacts>("water-facts") was already legal C# and markup now says the same thing as tag="water-facts".

⚠ The refusal row is absent rather than suppressed. A panel that never passes a reason leaves the @if arm unbuilt, so the body panel's tree is what the second type produced, element for element — which is what WaterFactsTests asserts by dumping both.

Fields and properties (3)

  • protected override string TagName
  • public IReadOnlyList<WaterFactLine> Facts

    What the block says, in order.

  • public string Refused

    And what it says the settings refuse, or empty.

Methods (3)

  • protected override void OnCreated()
  • protected override void OnRemoved()
  • public void Show(IEnumerable<(string Label, string Value)> facts, string? why)

    Replaces the block.

Used by (2)

  • WaterFactsTestsVixen.Editor.Water.Tests
  • WaterModuleVixen.Editor.Water