Exemplo n.º 1
0
 private void UpgradeTime(BosCoinUpgradeData data)
 {
     if (data.GeneratorId < 0)
     {
         if (data.IsPermanent)
         {
             //Generators.ApplyPermanent(GeneratorBonusMult.CreateTimeMult(data.TimeMultiplier));
             Generators.AddTimeBoost(
                 boost: BoostInfo.CreatePersist(
                     id: BoostIds.GetPersistCoinUpId(data.Id),
                     value: data.TimeMultiplier,
                     sourceType: (int)BoostSourceType.CoinUpgrade));
         }
         else
         {
             //Generators.ApplyGlobal(GeneratorBonusMult.CreateTimeMult(data.TimeMultiplier));
             Generators.AddTimeBoost(
                 boost: BoostInfo.CreateTemp(
                     id: BoostIds.GetTempCoinUpId(data.Id),
                     value: data.TimeMultiplier,
                     sourceType: (int)BoostSourceType.CoinUpgrade));
         }
     }
     else
     {
         if (data.IsPermanent)
         {
             //Generators.ApplyPermanent(data.GeneratorId, GeneratorBonusMult.CreateTimeMult(data.TimeMultiplier));
             Generators.AddTimeBoost(
                 generatorId: data.GeneratorId,
                 boost: BoostInfo.CreatePersist(
                     id: BoostIds.GetPersistCoinUpId(data.Id),
                     value: data.TimeMultiplier,
                     sourceType: (int)BoostSourceType.CoinUpgrade));
         }
         else
         {
             //Generators.ApplyTime(data.GeneratorId, data.TimeMultiplier);
             Generators.AddTimeBoost(
                 generatorId: data.GeneratorId,
                 boost: BoostInfo.CreateTemp(
                     id: BoostIds.GetTempCoinUpId(data.Id),
                     value: data.TimeMultiplier,
                     sourceType: (int)BoostSourceType.CoinUpgrade));
         }
     }
     //Services.GetService<IPlayerDataUpgrader>().Upgrade(new UpgradeItem(data.GeneratorId, data.TimeMultiplier, data.IsPermanent, data.UpgradeType));
 }
Exemplo n.º 2
0
 private void UpgradeProfit(BosCoinUpgradeData data)
 {
     if (data.GeneratorId < 0)
     {
         if (data.IsPermanent)
         {
             //Generators.ApplyPermanent(GeneratorBonusMult.CreateProfitMult(data.ProfitMutlitplier));
             Generators.AddProfitBoost(
                 boost: BoostInfo.CreatePersist(BoostIds.GetPersistCoinUpgradeId(data.Id), data.ProfitMutlitplier, (int)BoostSourceType.CoinUpgrade));
         }
         else
         {
             //Generators.ApplyGlobal(GeneratorBonusMult.CreateProfitMult(data.ProfitMutlitplier));
             Generators.AddProfitBoost(
                 boost: BoostInfo.CreateTemp(BoostIds.GetTempCoinUpgradeId(data.Id), data.ProfitMutlitplier, (int)BoostSourceType.CoinUpgrade));
         }
     }
     else
     {
         if (data.IsPermanent)
         {
             //Generators.ApplyPermanent(data.GeneratorId, GeneratorBonusMult.CreateProfitMult(data.ProfitMutlitplier));
             Generators.AddProfitBoost(
                 generatorId: data.GeneratorId,
                 boost: BoostInfo.CreatePersist(BoostIds.GetPersistLocalCoinUpId(data.Id), data.ProfitMutlitplier, (int)BoostSourceType.CoinUpgrade));
         }
         else
         {
             //Generators.ApplyProfit(data.GeneratorId, ProfitMultInfo.Create(data.ProfitMutlitplier));
             Generators.AddProfitBoost(
                 generatorId: data.GeneratorId,
                 boost: BoostInfo.CreateTemp(BoostIds.GetTempLocalCoinUpId(data.Id), data.ProfitMutlitplier, (int)BoostSourceType.CoinUpgrade));
         }
     }
     //Services.GetService<IPlayerDataUpgrader>().Upgrade(new UpgradeItem(data.GeneratorId, data.ProfitMutlitplier, data.IsPermanent, data.UpgradeType));
 }
Exemplo n.º 3
0
        private IEnumerator CorrectOldSavesImpl(Update1Data data, int coins)
        {
            yield return(new WaitUntil(() => Services.PlayerService.IsLoaded));

            Services.PlayerService.SetCompanyCash(data.StoredBalance);
            Services.PlayerService.SetSecurities(data.Investors);
            Services.PlayerService.SetCoins(coins);


            yield return(new WaitUntil(() => Services.GenerationService.IsLoaded));

            Services.GenerationService.Generators.AddProfitBoost(
                boost: BoostInfo.CreatePersist(
                    id: "legacy_profit",
                    value: data.PermanentProfitMultiplier));
            Services.GenerationService.Generators.AddTimeBoost(
                boost: BoostInfo.CreatePersist(
                    id: "legacy_time",
                    value: data.PermanentSpeedMultiplier));

            //Services.GenerationService.Generators.SetPermanentProfit(data.PermanentProfitMultiplier);
            //Services.GenerationService.Generators.SetPermanentTime(data.PermanentSpeedMultiplier);
            if (data.PermanentProfitMultipliers != null)
            {
                foreach (var kvp in data.PermanentProfitMultipliers)
                {
                    //Services.GenerationService.Generators.SetPermanentProfit(kvp.Key, kvp.Value);
                    Services.GenerationService.Generators.AddProfitBoost(
                        generatorId: kvp.Key,
                        boost: BoostInfo.CreatePersist(
                            id: "legacy_profit",
                            value: kvp.Value));
                }
            }
            if (data.PermanentTimeMultipliers != null)
            {
                foreach (var kvp in data.PermanentTimeMultipliers)
                {
                    //Services.GenerationService.Generators.SetPermanentTime(kvp.Key, kvp.Value);
                    Services.GenerationService.Generators.AddTimeBoost(
                        generatorId: kvp.Key,
                        boost: BoostInfo.CreatePersist(
                            id: "legacy_time",
                            value: kvp.Value));
                }
            }

            if (data.EnhancedGenerators != null)
            {
                foreach (var generator in data.EnhancedGenerators)
                {
                    Services.GenerationService.Enhance(generator);
                }
            }

            if (data.HasMicromanager && !Services.PlayerService.IsHasMicromanager)
            {
                Services.PlayerService.SetHasMicromanager(true);
            }

            if (data.IsQuickBuyResearched && !Services.UpgradeService.IsQuickBuyResearched)
            {
                Services.UpgradeService.SetQuickBuyResearched(true);
            }

            Services.RewardsService.AddAvailableRewards(data.AvailableRewards);

            if (data.EarnedBadges != null)
            {
                foreach (var badgeId in data.EarnedBadges)
                {
                    var badge = Services.BadgeService.GetUniqueData(badgeId);
                    if (badge != null && !Services.BadgeService.IsBadgeEarned(badge))
                    {
                        Services.BadgeService.EarnBadge(badge);
                    }
                }
            }

            var globalProfit = data.GlobalProfitMultiplier < 1 ? 1 : data.GlobalProfitMultiplier;
            var globalTime   = data.GlobalTimeMultiplier < 1 ? 1 : data.GlobalTimeMultiplier;

            Services.GenerationService.Generators.AddProfitBoost(
                boost: BoostInfo.CreateTemp("global_legacy_profit", globalProfit));
            Services.GenerationService.Generators.AddTimeBoost(
                boost: BoostInfo.CreateTemp("global_legacy_time", globalTime));
            //var generatorBonusMult = new GeneratorBonusMult(globalProfit, globalTime);
            //Services.GenerationService.Generators.ApplyGlobal(generatorBonusMult);

            UnityEngine.Debug.Log("Update1 complete");
        }