SummerClientItems · Inherits: RefCounted · Access: Summer.client.items
Read-only revisioned inventory projection for the current player.
Exposes the platform-owned inventory of the current authenticated player as a monotonic read-only projection. The engine owns paging and gap recovery; stale values never overwrite newer state, and no method mutates ownership, balances, or the ledger. Hosted inventory refresh requires an authenticated Player Host and the player.items@1 execution grant, independently of matchmaking. An explicitly launched local-emulator client with a player persona instead reads the fixture inventory frozen at initialization. That synthetic projection shares ownership identities with the local authority; it does not grant platform items or enable store and checkout services. Ordinary local clients without that fixture cannot refresh inventory. A retained facade cannot follow a new authenticated binding after shutdown/reinitialization: acquire it again from the current client. Released facades expose empty projection values and refuse new operations.
Host capabilities named here: player.items@1
Properties
Methods
check_refresh_readiness
refresh(). Inspect SummerResult.ok, SummerResult.code and SummerResult.message. invalid_lifecycle requires initialization or rebinding after an identity change; unavailable describes a missing capability or unavailable Host. No request is submitted and no provider is activated. A successful check does not guarantee later transport success or a fresh projection; the operation result remains authoritative. The base Host interface supplies inventory without a separate bootstrap capability advertisement. C# exposes CheckRefreshReadiness().
Returns: SummerResult
is_projection_loaded
as_of_event_sequence is zero. Reads the SDK’s existing projection state without fetching or caching anything. Loaded does not mean current or authorized: later refreshes and inventory events may change the projection, and authority still verifies equipment ownership. C# exposes IsProjectionLoaded().
Returns: bool
get_owned_items
SummerInventoryItem.is_owned() is true, optionally filtered by an exact definition ID. An empty ID returns all owned items. Preserves the stable item identity order of items. The returned array is independent and its item values are immutable. This reads the current inventory projection without network requests; a purchase receipt alone never grants ownership.
Returns:
SummerInventoryItem[]
has_owned_definition
Returns: bool
refresh
SummerInventoryRefreshOperation
Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.
Signals
item_removed
item_replaced
refreshed
What is live on the platform today: platform capability status. Check availability at runtime before you offer a feature.

