Vixen
c7401864
csharp
public readonly record struct HouseOwner

Who a plot belongs to: one player, or one guild.

Read the guide page for this →

Remarks

⚠ An opaque key rather than a GuildId, because doc 28's spine forbids the edge. Only Items and Combat may be depended on horizontally, so housing cannot reference Vixen.Gameplay.Social. The guild half is a Guid because that is what a GuildId wraps, and a game converts at the edge.

Doc 28 says guild housing is "the same thing with an IGuildGrain owner and a permission matrix instead of a single owner", and that is exactly what happens here: a guild plot has no implicit owner, so TierOf answers from the explicit grants alone. Mapping a guild rank onto a house tier is the guild's matrix, and it is applied by whoever owns the guild — not by this library, which would have to guess.

Fields and properties (5)

  • public PlayerId Player

    Whose it is, or None for a guild's.

  • public Guid Guild

    Which guild's it is, or Empty for a player's.

  • public static HouseOwner None

    Nobody's. An unsold plot.

  • public bool IsSome

    Whether it belongs to anybody.

  • public bool IsGuild

    Whether a guild owns it.

Methods (4)

  • public HouseOwner(PlayerId Player, Guid Guild)

    Who a plot belongs to: one player, or one guild.

  • public static HouseOwner Of(PlayerId player)

    Makes a player's.

  • public static HouseOwner OfGuild(Guid guild)

    Makes a guild's.

  • public override string ToString()

    Returns the fully qualified type name of this instance.

Used by (2)

  • HousePlotVixen.Gameplay.Housing
  • HousingTestsVixen.Gameplay.Housing.Tests