using System; using System.Collections.Generic; namespace UnityEngine.Purchasing.Extension { /// /// Configures Unity Purchasing with one or more /// store implementations. /// public interface IPurchasingBinder { /// /// Informs Unity Purchasing that a store implementation exists, /// specifying its name. /// /// Modules can pass null IStore instances when running on platforms /// they do not support. /// /// The name of the store /// The instance of the store void RegisterStore(string name, IStore store); /// /// Informs Unity Purchasing that a store extension is available. /// /// Implementation of IStoreExtension. /// The instance of the store extension. void RegisterExtension(T instance) where T : IStoreExtension; /// /// Informs Unity Purchasing that extended Configuration is available. /// /// Implementation of IStoreConfiguration. /// The instance of the store configuration. void RegisterConfiguration(T instance) where T : IStoreConfiguration; /// /// Informs Unity Purchasing about a catalog provider which might replace or add products at runtime. /// /// The provider of the catalog containing the products void SetCatalogProvider(ICatalogProvider provider); /// /// Informs Unity Purchasing about a catalog provider function, which might replace or add products at runtime. /// This is an alternative to the SetCatalogProvider API for setting a catalog provider that does not implement /// the ICatalogProvider interface. /// /// The action that executes the addition of modificiation of products void SetCatalogProviderFunction(Action>> func); } }