using System.Collections.Generic; using System.Linq; namespace UnityEngine.Purchasing { class GoogleCachedQuerySkuDetailsService : IGoogleCachedQuerySkuDetailsService { readonly Dictionary m_CachedQueriedSkus = new Dictionary(); public IEnumerable GetCachedQueriedSkus() { return m_CachedQueriedSkus.Values; } AndroidJavaObject GetCachedQueriedSku(string sku) { return m_CachedQueriedSkus[sku]; } IEnumerable GetCachedQueriedSkus(IEnumerable skus) { return skus.Select(GetCachedQueriedSku); } public IEnumerable GetCachedQueriedSkus(IEnumerable products) { return GetCachedQueriedSkus(products.Select(product => product.storeSpecificId)); } bool Contains(string sku) { return m_CachedQueriedSkus.ContainsKey(sku); } public bool Contains(ProductDefinition products) { return Contains(products.storeSpecificId); } public void AddCachedQueriedSkus(IEnumerable queriedSkus) { foreach (var queriedSkuDetails in queriedSkus) { var queriedSku = queriedSkuDetails.Call("getSku"); m_CachedQueriedSkus[queriedSku] = queriedSkuDetails; } } } }