Vixen
caa30e12
csharp
public sealed class HousePlot

One house: who may do what in it, and what is down.

Read the guide page for this →

Remarks

⚠ Nothing here takes a clock, and that is what makes doc 28's claim true. Housing is affordable because "ten thousand houses are ten thousand rows, not ten thousand processes" — and a plot only survives hibernation if it has nothing that has to keep running. There is no timer, no decay, no growth and no tick in this type; every question it answers is a function of what is stored. Anything that has to age — a plant that wilts, a rent clock — is the caller's, and is a timestamp compared on load rather than a process.

⚠ It reports what must happen and never holds anything. Removing a piece hands back the DefId that came out; whether it goes to a bag, to the mail or nowhere is the caller's, exactly as with a quest's rewards and an inventory's transfer order.

⚠ A ban beats everything, including the owner's own openness. Modelling a ban as the bottom rung of the tier ladder makes it useless on a house open to the public — everybody is on the bottom rung there, and the bottom rung is admitted.

⚠ An owner cannot be banned from, or demoted in, their own house. The alternative is a bug or a mis-click that locks somebody out of a house only a support ticket can reopen.

Fields and properties (10)

  • public HousingLibrary Library

    Where the furniture comes from.

  • public Plot Plot

    What kind it is.

  • public HouseOwner Owner

    Whose it is.

  • public HouseTier Openness

    What a stranger is treated as.

  • public IReadOnlyList<Placement> Placements

    What is down, in the order it was placed.

  • public int Spent

    How much of the budget is used.

  • public int Free

    How much is left. Negative for a plot a patch has made too small for its contents.

  • public int Granted

    How many people have been given standing.

  • public IEnumerable<PlayerId> Banned

    Who is barred, in id order.

  • public uint Revision

    How many times it has changed.

Methods (21)

Used by (1)

  • HousingTestsVixen.Gameplay.Housing.Tests