Beispiel #1
0
    private UniRx.IObservable <float> CreateGearSetBonusMultiplier(BonusTypeEnum bonusType, int setIndex, float mult)
    {
        GearSetRunner orCreateGearSetRunner = GetOrCreateGearSetRunner(setIndex);

        return(from level in orCreateGearSetRunner.MaxAllLevel
               select(level < 1) ? BonusTypeHelper.GetOrigin(bonusType) : mult);
    }
Beispiel #2
0
    public override void Install(Dictionary <string, object> parameters)
    {
        if (parameters != null && parameters.ContainsKey("GearSetGearIndex"))
        {
            m_gearSetGearIndex = (int)parameters["GearSetGearIndex"];
        }
        GearSetRunner gearSetRunner = (GearSetRunner)Singleton <PropertyManager> .Instance.GetContext("GearSetRunner", base.transform);

        GearRunner gearRunner = gearSetRunner.GearRunners[m_gearSetGearIndex];

        Add("GearRunner", gearRunner);
        Add("GearViewRunner", Singleton <GearCollectionRunner> .Instance.GetOrCreateGearViewRunner(gearRunner.GearIndex));
    }
Beispiel #3
0
    private void SetNewBundle()
    {
        List <BundleTierConfig> bundles = PersistentSingleton <Economies> .Instance.BundleTiers;
        int value = PlayerData.Instance.LifetimeBundles.Value;

        if (value == 0 || PlayerData.Instance.LifetimePrestiges.Value == 0)
        {
            bundles = PersistentSingleton <Economies> .Instance.BundleTiers.FindAll((BundleTierConfig s) => s.BundleTier == 1);
        }
        else
        {
            switch (value)
            {
            case 1:
                bundles = PersistentSingleton <Economies> .Instance.BundleTiers.FindAll((BundleTierConfig s) => s.BundleTier == 2);

                break;

            case 2:
                bundles = PersistentSingleton <Economies> .Instance.BundleTiers.FindAll((BundleTierConfig s) => s.BundleTier == 3);

                break;
            }
        }
        int currentBundle = (int)bundles[UnityEngine.Random.Range(0, bundles.Count)].ProductEnum;

        if (PersistentSingleton <Economies> .Instance.IAPs.Find((IAPConfig s) => s.ProductEnum == (IAPProductEnum)currentBundle).Reward.Type == RewardEnum.AddToGearLevel)
        {
            BundleTierConfig bundleTierConfig = PersistentSingleton <Economies> .Instance.BundleTiers.Find((BundleTierConfig s) => s.ProductEnum == m_iapConfig.ProductEnum);

            List <GearSetRunner> list = new List <GearSetRunner>();
            for (int j = 0; j < BundleTiersToGearSets.GetLength(1); j++)
            {
                if (BundleTiersToGearSets[bundleTierConfig.BundleTier - 1, j] != -1)
                {
                    GearSetRunner orCreateGearSetRunner = Singleton <GearSetCollectionRunner> .Instance.GetOrCreateGearSetRunner(BundleTiersToGearSets[bundleTierConfig.BundleTier - 1, j]);

                    if (orCreateGearSetRunner != null)
                    {
                        list.Add(orCreateGearSetRunner);
                    }
                }
            }
            GearRunner gearRunner = Singleton <GearSetCollectionRunner> .Instance.GetRandomUnlockableGear(list);

            if (gearRunner == null)
            {
                gearRunner = Singleton <GearSetCollectionRunner> .Instance.GetRandomHighestGear(list);
            }
            if (gearRunner != null)
            {
                PlayerData.Instance.CurrentBundleGearIndex.Value = gearRunner.GearIndex;
            }
            else
            {
                int i;
                for (i = bundles.Count - 1; i >= 0; i--)
                {
                    IAPConfig iAPConfig = PersistentSingleton <Economies> .Instance.IAPs.Find((IAPConfig s) => s.ProductEnum == bundles[i].ProductEnum);

                    if (iAPConfig.Reward.Type == RewardEnum.AddToGearLevel)
                    {
                        bundles.Remove(bundles[i]);
                    }
                }
                if (bundles.Count == 0)
                {
                    bundles.Add(PersistentSingleton <Economies> .Instance.BundleTiers.Find((BundleTierConfig s) => s.ProductEnum == IAPProductEnum.bundle1));
                }
                currentBundle = (int)bundles[UnityEngine.Random.Range(0, bundles.Count)].ProductEnum;
            }
        }
        PlayerData.Instance.BundleTimeStamp.Value = ServerTimeService.NowTicks();
        PlayerData.Instance.CurrentBundleEnum.SetValueAndForceNotify(currentBundle);
        if (PersistentSingleton <GameAnalytics> .Instance != null)
        {
            PersistentSingleton <GameAnalytics> .Instance.NewBundle.Value = (IAPProductEnum)currentBundle;
        }
    }