public override void Install(Dictionary <string, object> parameters) { if (parameters != null && parameters.ContainsKey("IAPProductID")) { m_productID = (IAPProductEnum)parameters["IAPProductID"]; } Add("IAPItemRunner", Singleton <IAPItemCollectionRunner> .Instance.GetOrCreateIAPItemRunner(m_productID)); }
public IAPItemRunner GetOrCreateIAPItemRunner(IAPProductEnum iapItem) { if (m_iapItemRunners[(int)iapItem] == null) { m_iapItemRunners[(int)iapItem] = new IAPItemRunner(iapItem); } return(m_iapItemRunners[(int)iapItem]); }
public IAPItemRunner(IAPProductEnum productID) { SceneLoader instance = SceneLoader.Instance; ProductID = productID; m_iapConfig = PersistentSingleton <Economies> .Instance.IAPs.Find((IAPConfig s) => s.ProductEnum == ProductID); RewardAmount.Value = m_iapConfig.Reward.Amount.ToInt(); Description.Value = PersistentSingleton <LocalizationService> .Instance.Text("IAPItem." + ProductID); PriceString = (from fetched in PersistentSingleton <IAPService> .Instance.DataFetched select(!fetched) ? PersistentSingleton <LocalizationService> .Instance.Text("IAPItem.DefaultButtonText") : m_iapConfig.GetLocalizedPriceStringOrDefault()).TakeUntilDestroy(instance).ToReactiveProperty(); }
public void CreateBundleNotification(bool deleteOld, TimeSpan notificationTimestamp, IAPProductEnum bundle) { if (deleteOld) { BundleNotifications.Clear(); } List <string> list = new List <string>(); for (int i = 1; i <= 2; i++) { list.Add(PersistentSingleton <LocalizationService> .Instance.Text("LocalNotification." + bundle + ".Notif" + i)); } if (list.Count > 0) { BundleNotifications.Add(new Message(notificationTimestamp, list[UnityEngine.Random.Range(0, list.Count)])); } }