Skip to main content

IGameDataProvider

Interface for managing in-game interior items, user-owned content, and item placement in m00m's interior systems.

public interface IGameDataProvider : IOrchestratorService

Responsibilities

  • Handle item data retrieval and mutation
  • Manage ownership checks and purchases
  • Stream updates via subscriptions
  • Deploy and grant rewards within an interior context

Members

Task<FirebaseGameDataProvider.MapData> GetInteriorData(string interiorID)

Fetches all data associated with a given interior.

Task<List<InteriorItem>> GetInteriorItems(string interiorID)

Returns a list of all items inside a specific interior.

Task<bool> UpdateInteriorItem(...)

Applies updates to interior items such as position, rotation, etc.

Task<bool> RemoveInteriorItem(...), Task<bool> RemoveInteriorItems(...)

Removes individual or multiple items.

Task<bool> PurchaseInterior(string interiorID)

Purchases an interior for the user.

Task<bool> PurchaseInteriorItem(string itemID)

Purchases an item and adds it to the user’s inventory.

Task<List<string>> CheckOwnershipOfInterior(string interiorID)

Checks whether the user owns the specified interior.

Task<bool> SaveAdditionalData(...)

Stores metadata associated with a placed item.

Task SubscribeToInterior(...)

Registers a callback for interior item updates.

Task SubscribeToOwnedItems(...)

Registers for updates to the player's owned items.

Task<Dictionary<string, int>> GetOwnedItems()

Returns a snapshot of currently owned item quantities.

void UnsubscribeFromOwnedItems()

Stops updates on owned items.

Task<bool> GrantRewards(List<Reward> rewards)

Grants a set of items or currency to the user.

Task<bool> PurchaseAndDeploy(...)

Combines purchase and placement into a single operation.

GameEnvironment GameEnvironment { get; set; }

Specifies the current runtime environment (dev/beta/prod).


Inherits from IOrchestratorService for shared lifecycle handling.