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.