Beispiel #1
0
 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));
 }
Beispiel #2
0
 public IAPItemRunner GetOrCreateIAPItemRunner(IAPProductEnum iapItem)
 {
     if (m_iapItemRunners[(int)iapItem] == null)
     {
         m_iapItemRunners[(int)iapItem] = new IAPItemRunner(iapItem);
     }
     return(m_iapItemRunners[(int)iapItem]);
 }
Beispiel #3
0
    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();
    }
Beispiel #4
0
    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)]));
        }
    }