Vixen
c7401864
csharp
public readonly record struct PlayerId

Who somebody is, in whatever numbering a game gives its players.

Read the guide page for this →

Remarks

In the kernel because two libraries that may not reference each other both need it. Doc 28's dependency spine allows Items and Combat to be depended on and nothing else — so Chat cannot reference Social, and chat needs to name a sender while social needs to name a member. A type below both is the only place that can be, and the kernel's event bus was already carrying the same number untyped.

An opaque number this library never mints. Whether it is a database row, a snowflake or an account hash is a game's decision and doc 27's persistence layer's; what matters here is that it is stable for as long as a party invite or a mute list has to be. Zero means nobody, which is what an event posted by the world rather than by a player carries.

Fields and properties (3)

  • public ulong Value

    The number.

  • public static PlayerId None

    Nobody. What the world itself does something as.

  • public bool IsSome

    Whether this names anybody.

Methods (7)

  • public PlayerId(ulong Value)

    Who somebody is, in whatever numbering a game gives its players.

  • public int CompareTo(PlayerId other)

    Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.

  • public static bool operator <(PlayerId left, PlayerId right)

    Compares two.

  • public static bool operator <=(PlayerId left, PlayerId right)

    Compares two.

  • public static bool operator >(PlayerId left, PlayerId right)

    Compares two.

  • public static bool operator >=(PlayerId left, PlayerId right)

    Compares two.

  • public override string ToString()

    Returns the fully qualified type name of this instance.

Used by (84, showing 40)

  • FleetMmo.Soak
  • MmoRealmMmo.Realm
  • ShardMmo.Soak
  • EventChainProjectionTestsVixen.Editor.Gameplay.Quests.Tests
  • AuctionHouseVixen.Gameplay.Economy
  • AuctionListingVixen.Gameplay.Economy
  • BlockedVixen.Gameplay.Chat
  • ChannelVixen.Gameplay.Interaction
  • ChatDeliveryVixen.Gameplay.Chat
  • ChatDraftVixen.Gameplay.Chat
  • ChatMessageVixen.Gameplay.Chat
  • ChatRateLimiterVixen.Gameplay.Chat
  • ChatRouterVixen.Gameplay.Chat
  • ContentVixen.Gameplay.Instances.Tests
  • ContentVixen.Gameplay.Quests.Tests
  • ContentVixen.Gameplay.Movement.Tests
  • ContentVixen.Gameplay.Chat.Tests
  • ContentVixen.Gameplay.Social.Tests
  • ContentVixen.Gameplay.Travel.Tests
  • ContentVixen.Gameplay.Pvp.Tests
  • ContentVixen.Gameplay.Interaction.Tests
  • ContentVixen.Gameplay.Economy.Tests
  • DynamicEventInstanceVixen.Gameplay.Quests
  • EconomyAccountVixen.Gameplay.Economy
  • EverybodyVixen.Gameplay.Chat.Tests
  • GameplayEventVixen.Gameplay
  • GameplayIdentityMapVixen.Live.Gameplay
  • GroupInviteVixen.Gameplay.Social
  • GroupMemberVixen.Gameplay.Social
  • GroupTestsVixen.Gameplay.Social.Tests
  • GuildVixen.Gameplay.Social
  • GuildTestsVixen.Gameplay.Social.Tests
  • HouseOwnerVixen.Gameplay.Housing
  • HousePlotVixen.Gameplay.Housing
  • HousekeepingTestsVixen.Live.Gameplay.Tests
  • HousingTestsVixen.Gameplay.Housing.Tests
  • IChatAudienceVixen.Gameplay.Chat
  • IChatContextVixen.Gameplay.Chat
  • IGameplayIdentityVixen.Live.Gameplay
  • ILockoutStoreVixen.Gameplay.Instances