Exemple #1
0
    public static void Process()
    {
        int version = GetVersion();

        if (version == 0)
        {
            NotificationManager.RemoveNotificationsOfType("dailyReward");
            NotificationManager.ResetNotificationBadge();
        }
        if (version < 203)
        {
            for (int i = 0; i != Variables.instance.levels.Count; i++)
            {
                if (PlayerDataManager.GetLeaderboardScore(Variables.instance.levels[i].leaderboard) > 0)
                {
                    TankPrefs.SetInt("level" + i + "Unlocked", 1);
                }
            }
        }
        if (version < 210)
        {
            Variables.Bundle[] bundles = Variables.instance.bundles;
            int num = bundles.Length - 1;
            TankPrefs.SetInt("bundleStopIndex", TankPrefs.GetInt("bundleIndex", -1));
            TankPrefs.SetInt("bundleIndex", num);
            TankPrefs.SetInt("bundleCounter", bundles[num].showAfterTimesTried + 3);
            PlayerDataManager.SetCurrentAdventureLevel(PlayerDataManager.GetSelectedLevel());
        }
        if (version > 0 && version < CurrentVersionNumber && PlayerDataManager.BeenInAppBefore)
        {
            MenuController.ShowMenu <WhatsNewPopup>();
        }
        SetVersion(CurrentVersionNumber);
    }
Exemple #2
0
 private void OnEnable()
 {
     cancelCloudSaveButton.onClick.AddListener(delegate
     {
         MenuController.HideMenu <CloudSavePopup>();
     });
     if (BackendManager.IsAuthenticated)
     {
         cloudSaveLoadingContainer.SetActive(value: true);
         cloudSaveLoadedContainer.SetActive(value: false);
         cloudSaveLoadedSuccessContainer.SetActive(value: false);
         TankPrefs.GetCloudSave(delegate(bool result)
         {
             if (result)
             {
                 SetActiveCloudSavePopup(TankPrefs.LocalFileTime.ToString(), TankPrefs.CloudFileTime.ToString(), null, TankPrefs.OverrideLocalWithCloudData);
             }
         });
     }
     else
     {
         cloudSaveLoadingContainer.SetActive(value: true);
         PlatformManager.ReconnectWithGooglePlay(delegate
         {
             cloudSaveLoadingContainer.SetActive(value: false);
             MenuController.HideMenu <CloudSavePopup>();
         });
     }
 }
    private void SetSelectedBooster(string id)
    {
        selectedBoosterId = id;
        if (PlayerDataManager.SetSelectedBooster(Variables.instance.GetTank(PlayerDataManager.GetSelectedTank()), id))
        {
            boosterBackButtonIcon.sprite = checkmarkIcon;
            boosterBackButtonIcon.SetNativeSize();
        }
        Booster booster = PlayerDataManager.GetBooster(id);

        boosterPopupBoosterName.text   = $"{ScriptLocalization.Get(booster.tankName)} {ScriptLocalization.Get(booster.type.ToString())}";
        boosterUpgradeCoinsText.text   = Variables.instance.GetBoosterLevelUpPriceForNextLevel(booster.Level).ToString();
        boosterPopupBoosterIcon.sprite = booster.bigCard;
        for (int i = 0; i < boosterItems.Length; i++)
        {
            bool flag = boosterItems[i].id.Equals(id);
            boosterItems[i].selected.enabled = flag;
            if (flag)
            {
                SetBoosterUIData(boosterItems[i], booster);
                PlayerDataManager.SetBoosterSeen(booster.id, val: true);
            }
        }
        MenuController.GetMenu <GarageMenu>().SetTankBooster();
        TankPrefs.Save();
        PlayerDataManager.SaveToCloudOnNextInterval = true;
    }
Exemple #4
0
 private IEnumerator LoginAfterInitialization()
 {
     while (!TankPrefs.IsInitialized || TankPrefs.GetInt("privacyPolicyAgreed") == 0)
     {
         yield return(null);
     }
     ConnectWithPlayGamesServices();
     LoadingScreen.AddProgress(0.1f);
 }
Exemple #5
0
 private void OnEnable()
 {
     if (PlayerDataManager.IsSubscribed())
     {
         offerContent.SetActive(value: false);
         subscribedContent.SetActive(value: true);
     }
     TankPrefs.SetInt("subOfferSeen", 1);
     TankPrefs.Save();
 }
 private void Awake()
 {
     Manager <MainManager> .instance = this;
     Object.DontDestroyOnLoad(base.gameObject);
     //analyticsManager.Initialize();
     StartCoroutine(LoadingScreen.AddProgress(0.15f));
     //platformManager.Initialize();
     backendManager.Initialize();
     TankPrefs.Initialize();
     playerDataManager.Initialize();
 }
Exemple #7
0
 private static void HandleIsNewUser(bool isNewUser)
 {
     if (isNewUser)
     {
         TankPrefs.HasCloudBeenFetched = true;
         TankPrefs.SetInt("whatsNewSeen", 1);
         TankPrefs.SaveAtEndOfFrame();
     }
     else
     {
         TankPrefs.GetCloudSave(delegate(bool result)
         {
             if (result)
             {
                 if ((TankPrefs.LocalLoadSucceeded && !PlatformManager.ReconnectingWithGooglePlay) || TankPrefs.CloudSyncComplete)
                 {
                     return;
                 }
                 Time.timeScale = 0f;
                 MenuController.ShowMenu <CloudBackupPopup>().Init(TankPrefs.CloudFileTime.ToString(), delegate
                 {
                     TankGame.Running            = true;
                     Time.timeScale              = 1f;
                     TankPrefs.CloudSyncComplete = true;
                 }, delegate
                 {
                     PlayerDataManager.BeenInAppBefore = true;
                     Time.timeScale = 1f;
                     if (TankGame.Running)
                     {
                         TankGame.Running = false;
                         MenuController.HideMenu <GameMenu>();
                         LoadingScreen.ReloadGame(delegate
                         {
                             MenuController.ShowMenu <MainMenu>().UpdatePlayMenu();
                         });
                     }
                     else
                     {
                         MenuController.UpdateTopMenu();
                         MenuController.GetMenu <MainMenu>().UpdatePlayMenu();
                     }
                 });
             }
             else
             {
                 UnityEngine.Debug.LogError("Cloud save not yet gotten, will try again!");
                 HandleIsNewUser(isNewUser);
             }
             PlatformManager.ReconnectingWithGooglePlay = false;
         });
     }
 }
Exemple #8
0
 private void BuyUpgrade()
 {
     if (!PlayerDataManager.IsTankLocked(CurrentTank) && !PlayerDataManager.IsTankFullyUpgraded(CurrentTank))
     {
         int coinsNeededForLevelUp = PlayerDataManager.GetCoinsNeededForLevelUp(CurrentTank);
         if (PlayerDataManager.BuyTankUpgrade(CurrentTank))
         {
             MenuController.instance.StartCoroutine(AudioManager.AllUpgradedSound());
             tankFlashRoutine = StartCoroutine(TankFlash(tanks[tankIndex]));
             TankAnalytics.BoughtWithSoftCurrency("upgrade", "Upgrade for " + CurrentTank.name, coinsNeededForLevelUp);
             TankPrefs.CloudSyncComplete = true;
             PlayerDataManager.SaveToCloudOnNextInterval = true;
         }
         else if (PlayerDataManager.GetCoins() < coinsNeededForLevelUp)
         {
             MenuController.ShowMenu <OutOfCurrencyPopup>().SetCurrency(CurrencyType.Coins);
         }
         UpdateUpgradeData(flashUpgradeText: true);
     }
     else
     {
         if (PlayerDataManager.IsTankFullyUpgraded(CurrentTank))
         {
             return;
         }
         int num = Variables.instance.GetTankGemValue(CurrentTank);
         if (PlayerDataManager.HasActiveDailyOffer())
         {
             for (int i = 0; i != dailyOffers.Length; i++)
             {
                 if (dailyOffers[i] != null && dailyOffers[i].id.Equals(CurrentTank.id) && dailyOffers[i].discount > 0 && dailyOffers[i].currency == CurrencyType.Gems)
                 {
                     num = dailyOffers[i].price;
                     break;
                 }
             }
         }
         if (PlayerDataManager.TakeGems(num))
         {
             PlayerDataManager.AddTankCards(CurrentTank, 1);
             StartCoroutine(UnlockRoutine());
             tankFlashRoutine = StartCoroutine(TankFlash(tanks[tankIndex]));
             TankAnalytics.BoughtWithPremiumCurrency("tank", CurrentTank.id, num);
             TankPrefs.SaveAndSendToCloud(forced: true);
         }
         else
         {
             MenuController.ShowMenu <OutOfCurrencyPopup>().SetCurrency(CurrencyType.Gems);
         }
         UpdateUpgradeData(flashUpgradeText: true);
     }
 }
 private void BuyBoosterCoins()
 {
     if (PlayerDataManager.BuyBooster(selectedBoosterId))
     {
         AudioMap.PlayClipAt("upgradeBooster", Vector3.zero, AudioMap.instance.uiMixerGroup);
         AudioMap.PlayClipAt("purchase", Vector3.zero, AudioMap.instance.uiMixerGroup);
         currentBoosters = PlayerDataManager.GetTankBoosters(Variables.instance.GetTank(PlayerDataManager.GetSelectedTank()));
         SetSelectedBooster(selectedBoosterId);
         TankPrefs.Save();
         TankPrefs.CloudSyncComplete = true;
         PlayerDataManager.SaveToCloudOnNextInterval = true;
     }
     else
     {
         MenuController.ShowMenu <OutOfCurrencyPopup>().SetCurrency(CurrencyType.Coins);
     }
 }
Exemple #10
0
    public void ProcessPurchase(string id)
    {
        Debug.Log("购买的物品ID是:" + id);
        Product iAPInfo = GetIAPInfo(id);
        bool    flag    = true;

        if (id.Contains("gems")) //宝石
        {
            // Debug.Log("Getgems 自定义数量");
            //PlayerDataManager.AddGems((int)50);
            //MenuController.UpdateTopMenu();
        }
        else if (id.Contains("tank") && id.Contains("Cards"))
        {
            PlayerDataManager.AddTankCards(id.Replace("Cards", ""), (int)50);
        }
        else if (id.Contains("coins"))
        {
            Debug.Log("Getcoins 自定义数量");
            PlayerDataManager.AddCoins((int)50);
        }
//		if (id.Contains("sub"))
//		{
//			UnityEngine.Debug.Log("Product is a subscription");
////
//		}
//		else
//		{
//			UnityEngine.Debug.Log("Product is NOT a subscription");
//		}
        if (flag)
        {
            SetSomeIAPBought();
        }
        TankPrefs.SaveAndSendToCloud(true);
        if (iapCallback != null)
        {
            iapCallback();
            iapCallback = null;
        }
        IAPTransactionInProgress = false;
    }
 private void Start()
 {
     TankPrefs.SetInt("facebookAsked", 1);
     TankPrefs.Save();
     button.SetToggled(BackendManager.ConnectedWithFacebook);
     button.SetOnClick(ButtonState.Default, delegate
     {
         button.SetDisabled();
         BackendManager.ConnectWithFacebook(delegate
         {
             button.SetToggled(toggled: true);
         }, delegate
         {
             button.SetToggled(toggled: false);
         });
     });
     proceedButton.onClick.AddListener(delegate
     {
         MenuController.HideMenu <FacebookPopup>();
     });
 }
    private void OnEnable()
    {
        string @string = TankPrefs.GetString("challengeName", Social.localUser.userName);

        if (@string != "")
        {
            nameChangePlaceholder.text = @string;
            nameChangeField.text       = @string;
        }
        nameChangeOkButton.onClick.RemoveAllListeners();
        nameChangeOkButton.onClick.AddListener(delegate
        {
            string text = Utilities.SanitizeInput(nameChangeField.text);
            if (text != "" && text.Length >= nameChangeLengthMin && text.Length <= nameChangeLengthMax)
            {
                TankPrefs.SetString("challengeName", text);
            }
            MenuController.HideMenu <NameChangePopup>();
            TankPrefs.Save();
            PlayerDataManager.SaveToCloudOnNextInterval = true;
        });
    }
Exemple #13
0
 private void Start()
 {
     gameOverBackToMainButton.onClick.AddListener(delegate
     {
         if (scoreRollRoutine != null)
         {
             StopCoroutine(MenuBase <GameEndMenu> .instance.scoreRollRoutine);
             FinishScoreRoll();
             scoreRollRoutine = null;
         }
         else
         {
             if (highscoreRoutine != null)
             {
                 StopCoroutine(MenuBase <GameEndMenu> .instance.highscoreRoutine);
                 scoreRollRoutine = null;
             }
             bool num  = gameOverAdventureContainer.activeInHierarchy && ranks.DidLevelUp;
             bool flag = (gameOverArenaContainer.activeInHierarchy || gameOverArena2v2Container.activeInHierarchy) && didArenaLevelUp;
             if (num | flag)
             {
                 InitPromotion();
             }
             else
             {
                 PlayerDataManager.GamesThisSession++;
                 PlayerDataManager.SelectedGameMode = GameMode.Adventure;
                 TankPrefs.Save();
                 LoadingScreen.ReloadGame(delegate
                 {
                     TankPrefs.CheckAndCreateLongtermBackup();
                     MenuController.HideMenu <GameEndMenu>();
                     //AdsManager.ShowInterstitial();
                 });
             }
         }
     });
     //shareButton.onClick.AddListener(Share);
 }
Exemple #14
0
 private void SetActiveCloudBackupLoaded(Action after)
 {
     cloudBackupMainHeader.SetActive(value: false);
     cloudBackupMainContainer.SetActive(value: false);
     cloudBackupConfirmationHeader.SetActive(value: false);
     cloudBackupConfirmationContainer.SetActive(value: false);
     after = (Action)Delegate.Combine(after, (Action) delegate
     {
         TankGame.Running = false;
         MenuController.HideMenu <CloudBackupPopup>();
         MenuController.HideMenu <PauseMenu>();
         MenuController.HideMenu <GameMenu>();
         MusicManager.CrossFadeToMenu();
     });
     cloudBackupLoadedOkButton.onClick.RemoveAllListeners();
     cloudBackupLoadedOkButton.onClick.AddListener(delegate
     {
         after();
     });
     TankPrefs.OverrideLocalWithCloudData();
     cloudBackupLoadedHeader.SetActive(value: true);
     cloudBackupLoadedContainer.SetActive(value: true);
 }
Exemple #15
0
    private IEnumerator InitIAP()
    {
        while (!iapItem.IsInitialized)
        {
            yield return(null);
        }
        gemAmountText.GetComponent <LocalizationParamsManager>().SetParameterValue("AMOUNT", iapItem.product.definition.payout.quantity.ToString());
        bool someIAPbought = IAPManager.GetSomeIAPBought();

        iapItem.SetOnComplete(delegate
        {
            TankAnalytics.BoughtNoAdsOffer(!someIAPbought);
            LeanTween.delayedCall(1.25f, (Action) delegate
            {
                AnimatedCurrencyController.AnimateGems((int)iapItem.product.definition.payout.quantity, MenuController.UICamera.WorldToViewportPoint(iapItem.transform.position), MenuController.TotalGemsPositionViewport, 1, null, delegate(int tc)
                {
                    //MenuController.instance.topTotalGemsText.Tick(tc);
                });
                AudioMap.PlayClipAt(AudioMap.instance["gemCollect"], Vector3.zero, AudioMap.instance.uiMixerGroup);
                TankPrefs.SaveAndSendToCloud(forced: true);
                MenuController.HideMenu <NoAdsPopup>();
            });
        });
    }
Exemple #16
0
 private void OnDisable()
 {
     SDKManager.Instance.CloseBanner();//关闭Banner
     MenuController.GetMenu <MainMenu>().UpdatePlayMenu();
     TankPrefs.CheckAndCreateLongtermBackup();
 }
Exemple #17
0
    private IEnumerator OnArenaIntro(TankGame game)
    {
        pauseBlocked = true;
        otherThanBossContainer.SetActive(value: false);
        arenaContainer.GetComponent <CanvasGroup>().alpha = 0f;
        float cameraSize      = game.ingameCameras[0].orthographicSize;
        float time            = 0.5f;
        float vel             = 0f;
        float vel2            = 0f;
        float cameraXVelocity = 0f;
        float cameraYVelocity = 0f;

        game.cameraFollowTransform = game.arenaEnemies[0].transform;
        yield return(null);

        Vector3 position = game.arenaEnemies[0].transform.position - Vector3.right * 7f;

        position.z = game.cameraContainer.position.z;
        game.cameraContainer.transform.position = position;
        game.backgroundCamera.orthographicSize  = cameraSize * 0.9f;
        game.ingameCameras[0].orthographicSize  = cameraSize * 0.9f;
        yield return(null);

        yield return(null);

        yield return(null);

        string[] allyNames = new string[(PlayerDataManager.SelectedGameMode == GameMode.Arena) ? 1 : 2];
        string[] array     = new string[(PlayerDataManager.SelectedGameMode == GameMode.Arena) ? 1 : 2];
        allyNames[0] = TankPrefs.GetString("challengeName", Social.localUser.userName);
        if (PlayerDataManager.SelectedGameMode == GameMode.Arena)
        {
            array[0] = PlayerDataManager.ArenaMatchData.arenaPayload.name;
        }
        else
        {
            int num  = 1;
            int num2 = 0;
            for (int i = 0; i != PlayerDataManager.ArenaMultiMatchData.arenaPayload.Length; i++)
            {
                if (i > 0)
                {
                    array[num2++] = PlayerDataManager.ArenaMultiMatchData.arenaPayload[i].name;
                }
                else
                {
                    allyNames[num++] = PlayerDataManager.ArenaMultiMatchData.arenaPayload[i].name;
                }
            }
        }
        yield return(AnimateTextRoutine(array, arenaOpponentNames));

        if (PlayerDataManager.SelectedGameMode == GameMode.Arena)
        {
            arenaPlayerHUDs[0].ratingText.text = PlayerDataManager.GetRating().ToString();
            arenaPlayerHUDs[1].ratingText.text = ((PlayerDataManager.ArenaMatchData.arenaPayload.actualRating == 0) ? PlayerDataManager.ArenaMatchData.arenaPayload.rating.ToString() : PlayerDataManager.ArenaMatchData.arenaPayload.actualRating.ToString());
        }
        game.cameraFollowTransform = game.playerTankContainer.transform;
        for (float t2 = 0f; t2 < time; t2 += Time.unscaledDeltaTime)
        {
            game.backgroundCamera.orthographicSize = Mathf.SmoothDamp(game.backgroundCamera.orthographicSize, cameraSize * 1f, ref vel, time, float.PositiveInfinity, Time.unscaledDeltaTime);
            game.ingameCameras[0].orthographicSize = Mathf.SmoothDamp(game.ingameCameras[0].orthographicSize, cameraSize * 1f, ref vel2, time, float.PositiveInfinity, Time.unscaledDeltaTime);
            game.cameraContainer.position          = new Vector3(Mathf.SmoothDamp(game.cameraContainer.position.x, game.cameraFollowTransform.position.x, ref cameraXVelocity, time, float.PositiveInfinity, Time.unscaledDeltaTime), Mathf.SmoothDamp(game.cameraContainer.position.y, game.cameraFollowTransform.position.y + 2f, ref cameraYVelocity, time, float.PositiveInfinity, Time.unscaledDeltaTime), game.cameraContainer.position.z);
            yield return(null);
        }
        Coroutine allyNameRoutine = StartCoroutine(AnimateTextRoutine(allyNames, arenaAllyNames));

        for (float t2 = 0f; t2 < time + 0.5f; t2 += Time.unscaledDeltaTime)
        {
            game.backgroundCamera.orthographicSize = Mathf.SmoothDamp(game.backgroundCamera.orthographicSize, cameraSize, ref vel, time, float.PositiveInfinity, Time.unscaledDeltaTime);
            game.ingameCameras[0].orthographicSize = Mathf.SmoothDamp(game.ingameCameras[0].orthographicSize, cameraSize, ref vel2, time, float.PositiveInfinity, Time.unscaledDeltaTime);
            game.cameraContainer.position          = new Vector3(Mathf.SmoothDamp(game.cameraContainer.position.x, game.cameraFollowTransform.position.x + 3f, ref cameraXVelocity, time, float.PositiveInfinity, Time.unscaledDeltaTime), Mathf.SmoothDamp(game.cameraContainer.position.y, game.cameraFollowTransform.position.y + 2f, ref cameraYVelocity, time, float.PositiveInfinity, Time.unscaledDeltaTime), game.cameraContainer.position.z);
            yield return(null);
        }
        yield return(new WaitForSecondsRealtime(0.6f));

        yield return(allyNameRoutine);

        otherThanBossContainer.SetActive(value: true);
        arenaContainer.GetComponent <CanvasGroup>().alpha = 1f;
    }
 private void OnDisable()
 {
     TankPrefs.SetInt("privacyPolicyAgreed", 1);
     Time.timeScale = 1f;
 }
Exemple #19
0
 private void OnDisable()
 {
     AnimatedCurrencyController.AnimateCoins(Variables.instance.easterEggCoins, MenuController.UICamera.WorldToViewportPoint(base.transform.position), MenuController.TotalCoinsPositionViewport, 5);
     PlayerDataManager.CollectEasterEgg();
     TankPrefs.Save();
 }
    private IEnumerator StartRoutine()
    {
        float    startTime        = Time.time;
        GameMode selectedGameMode = PlayerDataManager.SelectedGameMode;

        IsLoading = true;
        instance.loadingText.gameObject.SetActive(selectedGameMode == GameMode.Adventure);
        instance.waitingForOpponentText.gameObject.SetActive(selectedGameMode == GameMode.Arena);
        instance.waitingForPlayersText.gameObject.SetActive(selectedGameMode == GameMode.Arena2v2);
        for (int i = 0; i < logos.Length; i++)
        {
            logos[i].enabled = (selectedGameMode == GameMode.Adventure);
        }
        for (int j = 0; j < gameLogoParts.Length; j++)
        {
            gameLogoParts[j].SetNativeSize();
        }
        cancelWaitingForOpponentButton.gameObject.SetActive(PlayerDataManager.IsSelectedGameModePvP);
        if (PlayerDataManager.IsSelectedGameModePvP)
        {
            cancelWaitingForOpponentButton.onClick.RemoveAllListeners();
            cancelWaitingForOpponentButton.onClick.AddListener(delegate
            {
                StopCoroutine(loadingRoutine);
                IsLoading        = false;
                TankGame.Running = false;
                PlayerDataManager.SelectedGameMode = GameMode.Adventure;
                ReloadGame(delegate
                {
                    PlayerDataManager.SelectedGameMode = selectedGameMode;
                    MenuController.HideMenu <GarageMenu>();
                    MenuController.ShowMenu <MainMenu>();
                });
            });
        }
        canvasGroup.gameObject.SetActive(value: true);
        canvasGroup.alpha = 1f;
        while (!PlayerDataManager.IsInitialized)
        {
            yield return(null);
        }
        yield return(null);

        StartCoroutine(AddProgress(0.1f));
        if (TankPrefs.IsInitialized)
        {
            TankPrefs.Save();
        }
        while (selectedGameMode == GameMode.Arena && PlayerDataManager.ArenaMatchData == null)
        {
            if (!BackendManager.IsRequestingChallenge)
            {
                BackendManager.GetChallenge(PlayerDataManager.GetRating());
            }
            yield return(null);
        }
        while (selectedGameMode == GameMode.Arena2v2 && PlayerDataManager.ArenaMultiMatchData == null)
        {
            if (!BackendManager.IsRequestingChallenge)
            {
                BackendManager.GetChallenges(PlayerDataManager.GetRating(selectedGameMode), PlayerDataManager.ArenaMultiplayerAICount);
            }
            yield return(null);
        }
        StartCoroutine(AddProgress(0.1f));
        cancelWaitingForOpponentButton.onClick.RemoveAllListeners();
        cancelWaitingForOpponentButton.gameObject.SetActive(value: false);
        if (SceneManager.GetSceneByName("Game").isLoaded)
        {
            AsyncOperation unload2 = SceneManager.UnloadSceneAsync("Game");
            while (!unload2.isDone)
            {
                yield return(null);
            }
        }
        StartCoroutine(AddProgress(0.1f));
        if (TankGame.Running)
        {
            AsyncOperation unload2 = SceneManager.LoadSceneAsync("Game", LoadSceneMode.Additive);
            while (!unload2.isDone)
            {
                yield return(null);
            }
            StartCoroutine(AddProgress(0.2f));
        }
        Action newReloadAction = null;

        if (OnFinish != null)
        {
            OnFinish();
        }
        else if (PlayerDataManager.AppJustStarted && !PlayerDataManager.BeenInAppBefore)
        {
            PlayerDataManager.AppJustStarted   = false;
            PlayerDataManager.SelectedGameMode = GameMode.Adventure;
            TankGame.Running = true;
            newReloadAction  = delegate
            {
                MenuController.HideMenu <MainMenu>();
                //MenuController.ShowMenu<PrivacyPolicyPopup>();
            };
        }
        if (Time.time - startTime < 1f)
        {
            yield return(new WaitForSecondsRealtime(1f - (Time.time - startTime)));
        }
        Time.timeScale = 1f;
        StartCoroutine(AddProgress(1f));
        while (loadingProgressImage.fillAmount < 0.99f)
        {
            yield return(null);
        }
        IsLoading = false;
        if (newReloadAction != null)
        {
            ReloadGame(delegate
            {
                newReloadAction();
            });
        }
        else
        {
            StartCoroutine(FadeOut());
        }
    }
Exemple #21
0
 public static int GetVersion()
 {
     return(TankPrefs.GetInt("version"));
 }
Exemple #22
0
    private void OnEnable()
    {
        PlayerDataManager.SelectedArenaLevel = Random.Range(0, Variables.instance.levels.Count - 1);
        dailyOffers = new ShopMenu.ShopItem[0];
        if (PlayerDataManager.HasActiveDailyOffer())
        {
            dailyOffers = PlayerDataManager.GetActiveDailyOffers();
        }
        garageContainer.SetActive(value: true);
        for (int i = 0; i < tanks.Length; i++)
        {
            tanks[i].ResetCannon();
            int num = Variables.instance.tankOrder[i];
            tanks[i].BulletTypeIndex = num;
            tanks[i].BulletDef       = Variables.instance.tanks[num].bullet;
        }
        int num2 = (PlayerDataManager.SelectedGameMode == GameMode.Adventure || PlayerDataManager.SelectedGameMode == GameMode.Classic) ? PlayerDataManager.GetSelectedLevel(PlayerDataManager.SelectedGameMode) : PlayerDataManager.SelectedArenaLevel;

        for (int j = 0; j < garageBackgrounds.Length; j++)
        {
            garageBackgrounds[j].SetActive(j == num2);
        }
        SetTank(PlayerDataManager.GetSelectedTank());
        nextTankButton.gameObject.SetActive(tankIndex != tanks.Length - 1);
        prevTankButton.gameObject.SetActive(tankIndex != 0);
        StartCoroutine(StatSlider());
        StartCoroutine(TankScrollRoutine());
        FinishTankFlash();
        MenuController.Delay(0.1f, delegate
        {
            Product bundleProduct = null;
            if (PlayerDataManager.IsTimeForDailyBonus())
            {
                popupShownOnPreviousOpen = true;
                MenuController.ShowMenu <RewardCalendarPopup>();
            }
            else if (popupShownOnPreviousOpen)
            {
                popupShownOnPreviousOpen = false;
            }
            else if (PlayerDataManager.IsTimeToShowBundle(out bundleProduct))
            {
                popupShownOnPreviousOpen = true;
                MenuController.ShowMenu <BundlePopup>().SetIAP(bundleProduct);
            }
            else if (TankPrefs.GetInt("subOfferSeen") == 0)
            {
                popupShownOnPreviousOpen = true;
                MenuController.ShowMenu <SubscriptionOfferPopup>().Init("GarageOffer");
            }
            else if (PlayerDataManager.IsTimeForFacebookPrompt())
            {
                popupShownOnPreviousOpen = true;
                //MenuController.ShowMenu<FacebookPopup>();
            }
            else if (PlayerDataManager.AskRating())
            {
                popupShownOnPreviousOpen = true;
                //MenuController.ShowMenu<RatingPopup>();
            }
        });
    }
Exemple #23
0
 public static bool GetSomeIAPBought()
 {
     return(TankPrefs.GetInt("someIAPBought") == 1);
 }
Exemple #24
0
 private void SetSomeIAPBought()
 {
     TankPrefs.SetInt("someIAPBought", 1);
 }
Exemple #25
0
 public static void SetVersion(int version)
 {
     TankPrefs.SetInt("version", version);
     TankPrefs.SaveAtEndOfFrame();
 }
    public void SetValues(int i, ShopMenu.ShopItem item)
    {
        index = i;
        chestContainer.SetActive(item.type == ShopMenu.ShopItemType.Chest);
        cardContainer.SetActive(item.type == ShopMenu.ShopItemType.TankCard || item.type == ShopMenu.ShopItemType.BoosterCard);
        currencyContainer.SetActive(item.type == ShopMenu.ShopItemType.Coin || item.type == ShopMenu.ShopItemType.Gem);
        premiumCardContainer.SetActive(item.type == ShopMenu.ShopItemType.PremiumCard);
        mainButton.interactable    = !item.bought;
        graphicButton.image.sprite = (item.bought ? MenuBase <ShopMenu> .instance.buttonDisabledSprite : MenuBase <ShopMenu> .instance.buttonEnabledSprite);
        priceText.text             = item.price.ToString();
        priceText.gameObject.SetActive(!item.bought);
        purchased.SetActive(item.bought);
        ShopMenu.ShopItemType type = item.type;
        if (type == ShopMenu.ShopItemType.TankCard || type == ShopMenu.ShopItemType.PremiumCard)
        {
            Tank tank = Manager <PlayerDataManager> .instance.variables.GetTank(item.id);

            headerText.text            = ScriptLocalization.Get(tank.name);
            cardBackgroundImage.sprite = MenuController.GetMenu <ShopMenu>().GetCardBackground(item.rarity);
            premiumCardImage.sprite    = tank.bigCard;
            cardElement.SetValues(tank, item.count, useNew: false);
            cardElement.background.sprite = MenuController.GetMenu <ShopMenu>().GetCardBackground(item.rarity, small: true);
            purchaseWithGems.SetActive(item.currency == CurrencyType.Gems);
            purchaseWithCoins.SetActive(item.currency == CurrencyType.Coins);
            if (item.discount > 0 && item.type == ShopMenu.ShopItemType.PremiumCard && !item.bought)
            {
                priceContainer.SetActive(value: false);
                premiumDiscountContainer.SetActive(value: true);
                originalPriceText.text = Variables.instance.GetTankGemValue(tank).ToString();
                newPriceText.text      = item.price.ToString();
                discountText.text      = $"-{item.discount.ToString()}%";
            }
            if (item.bought)
            {
                purchaseWithCoins.SetActive(value: false);
                purchaseWithGems.SetActive(value: false);
            }
            mainButton.onClick.RemoveAllListeners();
            mainButton.onClick.AddListener(delegate
            {
                SDKManager.Instance.ShowAd(ShowAdType.ChaPing, 1, "点击每日奖励");
                ShopMenu.TryPurchase(item.price, item.currency, delegate
                {
                    PlayerDataManager.BuyDailyOffer(index);
                    mainButton.interactable    = false;
                    graphicButton.enabled      = true;
                    graphicButton.interactable = false;
                    priceText.gameObject.SetActive(value: false);
                    purchased.SetActive(value: true);
                    purchaseWithGems.SetActive(value: false);
                    purchaseWithCoins.SetActive(value: false);
                    premiumDiscountContainer.SetActive(value: false);
                    cardElement.newTextContainer.SetActive(value: false);
                    CurrencyType currency = item.currency;
                    int price             = item.price;
                    if (currency == CurrencyType.Coins)
                    {
                        MenuController.instance.topTotalCoinsText.Tick(-price);
                        cardElement.AnimateTankCardCountRoll(item);
                    }
                    else
                    {
                        MenuController.instance.topTotalGemsText.Tick(-price);
                        cardElement.newTextContainer.SetActive(value: false);
                    }
                    AudioMap.PlayClipAt(AudioMap.instance[(item.currency == CurrencyType.Coins) ? "coinroll" : "gemCollect"], Vector3.zero, AudioMap.instance.uiMixerGroup);
                    PlayerDataManager.AddTankCards(tank, item.count, updateDailies: false);
                    TankPrefs.SaveAndSendToCloud(forced: true);
                    TankAnalytics.BoughtDailyOffer(tank, item.count, price, PlayerDataManager.GetTankUpgradeLevel(tank), currency);
                    if (currency == CurrencyType.Gems)
                    {
                        MenuController.ShowMenu <NewCardPopup>().Init(tank);
                    }
                });
            });
        }
    }