Vixen
02b45cc4
csharp
public readonly record struct GrassResidencyChange

What one update of the ring changed.

Read the guide page for this →

Remarks

⚠ A difference and not a set — FoliageCollision.Update's reason, and the reason is stronger here. What the caller does with a created cell is scatter it and upload a buffer, and what it does with an evicted one is return that buffer to the pool; handing back the whole resident set would make it diff a few thousand cells every frame to find the two that moved.

Fields and properties (3)

  • public IReadOnlyList<GrassSlot> Created

    Cells that entered range and were given a slot.

  • public IReadOnlyList<GrassSlot> Evicted

    Cells that left it and gave one up.

  • public bool IsEmpty

    Whether nothing moved.

Methods (1)

  • public GrassResidencyChange(IReadOnlyList<GrassSlot> Created, IReadOnlyList<GrassSlot> Evicted)

    What one update of the ring changed.

Used by (3)

  • GrassRendererVixen.Rendering.Terrain
  • GrassResidencyVixen.Foliage
  • GrassResidencyTestsVixen.Foliage.Tests