Table of Contents

Enum PlotState

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

Where a plot is in its lifecycle.

public enum PlotState
Extension Methods

Fields

Abandoned = 3

Unpaid past its grace period. Unowned, closed, and claimable.

The owner has been cleared and everything that was built has gone to their vault, but the lot is not Empty: it renders as an abandoned house rather than bare ground until somebody claims it. Nobody may enter one — there is no owner to admit them, and the structures that made it enterable are gone.

Building = 1

Claimed, with the house going up. Closed to everybody but the owner.

A plot enters this the moment it is claimed and leaves it when the owner says the house is finished. It is deliberately a persisted phase rather than the in-memory build session: the session is one person standing there with the editor open, and it ends when they walk away, whereas this survives their logging out and every channel shows it.

Empty = 0

No owner and nothing built. Available to claim.

Occupied = 2

Built, paid up, and open to the owner and whoever they have let in.

Remarks

Ownership alone cannot answer this. "Nobody owns this" covers both land that has never been claimed and land somebody lost, and those are not the same place: one is a bare lot and the other is a house whose owner stopped paying, standing empty with its contents in a vault. A channel loading the scene has to render them differently, and a player walking up to one has to be told a different thing.

Persisted on the plot row rather than derived, because it is the thing channels agree on. Channels are ephemeral copies of a scene that hold no world state of their own, so a state each one recomputed from whatever it happened to have loaded would be a state that differed between them.

Values are explicit and must not be renumbered: they are stored, and they reach clients as part of plot state.