Vixen
c7401864
csharp
public sealed class AuctionHouse

A market: an order book, a deposit, a fee, and settlement by mail.

Read the guide page for this →

Remarks

Doc 28's shape. The fee is "the primary currency sink", and settlement goes into mail because the seller is usually not online when their listing sells.

⚠ The goods leave the seller when the listing goes up — the same escrow rule mail has, and the same reason: a seller who could list a sword and then sell it to a vendor has listed something they no longer own.

⚠ A bid escrows the money, and outbidding refunds the previous bidder in the same intent. Two operations — take the new bid, then give the old one back — is a window in which the refund can fail and one player's gold is simply gone. One intent has no window.

⚠ The deposit comes back on a sale and is kept on an expiry. That asymmetry is the whole point of a deposit: it prices listing something nobody wants, which is the thing that makes an auction house unusable when it is free.

Fields and properties (4)

  • public float FeeRate

    What fraction of a sale is destroyed.

  • public IMarketModel? Market

    Where sales are recorded for pricing.

  • public IEnumerable<AuctionListing> Listings

    Everything on the book, in id order so a page is stable.

  • public int Count

    How many listings it has ever held.

Methods (9)

Used by (1)

  • AuctionTestsVixen.Gameplay.Economy.Tests