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.