Beispiel #1
0
    /// <summary>
    /// Waits tutorialConfig.startDelay seconds, and if the condition passed as a parameter is the same as
    /// conditionEndState, fades in the tutorial text component with the message tutorialConfig.message
    /// </summary>
    private IEnumerator _DisplayTutorialWithConfig(TutorialConfig tutorialConfig, BoolWrapper condition, bool conditionEndState = false)
    {
        yield return(new WaitForSeconds(tutorialConfig.startDelay));

        if (condition.value == conditionEndState)
        {
            tutorialTextComponent.gameObject.SetActive(true);
            tutorialTextComponent.text = tutorialConfig.message;
            UIUtils.Instance.FadeCanvasGroup(tutorialCanvasGroup, fadeInTime, 1);
        }
    }
Beispiel #2
0
    public override void LoadSettingsCompleted()
    {
        rateItConfig.iosAppId     = StringXPathed("/application/rate_it/@ios_app_id");
        rateItConfig.androidAppId = StringXPathed("/application/rate_it/@android_app_id");
        rateItConfig.coins        = IntXPathed("/application/rate_it/@coins");
        rateItConfig.firstTrigger = IntXPathed("/application/rate_it/@first_trigger");
        rateItConfig.nextTrigger  = IntXPathed("/application/rate_it/@next_trigger");
        shareConfig.coins         = IntXPathed("/application/share/@coins");
        shareConfig.coinsNumber   = IntXPathed("/application/share/@coins_num");
        shareConfig.firstTrigger  = IntXPathed("/application/share/@first_trigger");
        shareConfig.nextTrigger   = IntXPathed("/application/share/@next_trigger");
        urlConfig.privacy         = StringXPathed("/application/url[@type='privacy']/@value");
        urlConfig.about           = StringXPathed("/application/url[@type='about']/@value");
        coinsConfig.initial       = IntXPathed("/application/coins/@initial");
        coinsConfig.pack          = IntXPathed("/application/coins/@pack");
        coinsConfig.perfect       = IntXPathed("/application/coins/@perfect");
        coinsConfig.ladybug       = IntXPathed("/application/coins/@ladybug");
        int num = ElementCount("/application/coins_in_levels");

        for (int i = 0; i < num; i++)
        {
            CoinsInLevelsConfig item = default(CoinsInLevelsConfig);
            item.packs          = IntXPathed($"/application/coins_in_levels[{i + 1}]/@packs");
            item.bTierEachLevel = IntXPathed($"/application/coins_in_levels[{i + 1}]/@b_tier_each_level");
            item.minCoinsA      = IntXPathed($"/application/coins_in_levels[{i + 1}]/@min_coins_a");
            item.maxCoinsA      = IntXPathed($"/application/coins_in_levels[{i + 1}]/@max_coins_a");
            item.minCoinsB      = IntXPathed($"/application/coins_in_levels[{i + 1}]/@min_coins_b");
            item.maxCoinsB      = IntXPathed($"/application/coins_in_levels[{i + 1}]/@max_coins_b");
            coinsInLevelsConfig.Add(item);
        }
        num = ElementCount("/application/extra_words");
        for (int j = 0; j < num; j++)
        {
            ExtraWordsConfig item2 = default(ExtraWordsConfig);
            item2.words = IntXPathed($"/application/extra_words[{j + 1}]/@words");
            item2.coins = IntXPathed($"/application/extra_words[{j + 1}]/@coins");
            extraWordsConfigs.Add(item2);
        }
        num = ElementCount("/application/hint");
        for (int k = 0; k < num; k++)
        {
            HintConfig item3 = default(HintConfig);
            string     a     = StringXPathed($"/application/hint[{k + 1}]/@type");
            item3.type    = (string.Equals(a, "good_start") ? LevelHint.GoodStart : (string.Equals(a, "start_and_finish") ? LevelHint.StartAndFinish : (string.Equals(a, "expose") ? LevelHint.Expose : (string.Equals(a, "tip") ? LevelHint.Tip : LevelHint.None))));
            item3.coins   = IntXPathed($"/application/hint[{k + 1}]/@coins");
            item3.initial = IntXPathed($"/application/hint[{k + 1}]/@initial");
            item3.level   = IntXPathed($"/application/hint[{k + 1}]/@level");
            hintsConfig.Add(item3);
        }
        ELSingleton <HintManager> .Instance.Setup();

        num = ElementCount("/application/iap");
        for (int l = 0; l < num; l++)
        {
            IapConfig iapConfig = new IapConfig();
            string    a2        = StringXPathed($"/application/iap[{l + 1}]/@type");
            iapConfig.type        = ((!string.Equals(a2, "consumable")) ? ProductType.NonConsumable : ProductType.Consumable);
            iapConfig.iap         = StringXPathed($"/application/iap[{l + 1}]/@iap");
            iapConfig.set         = IntXPathed($"/application/iap[{l + 1}]/@set");
            iapConfig.coins       = IntXPathed($"/application/iap[{l + 1}]/@coins");
            iapConfig.goodStart   = IntXPathed($"/application/iap[{l + 1}]/@good_start");
            iapConfig.startFinish = IntXPathed($"/application/iap[{l + 1}]/@start_finish");
            iapConfig.expose      = IntXPathed($"/application/iap[{l + 1}]/@expose");
            iapConfig.tip         = IntXPathed($"/application/iap[{l + 1}]/@tip");
            iapConfig.noads       = BoolXPathed($"/application/iap[{l + 1}]/@noads");
            iapConfig.icon        = ((ElementXPathed($"/application/iap[{l + 1}]/@icon") != null) ? IntXPathed($"/application/iap[{l + 1}]/@icon") : 0);
            this.iapConfig.Add(iapConfig);
        }
        ELSingleton <IapManager> .Instance.InitializePurchasing();

        num = ElementCount("/application/interstitial_ad");
        for (int m = 0; m < num; m++)
        {
            InterstitialAdConfig item4 = default(InterstitialAdConfig);
            item4.pack  = IntXPathed($"/application/interstitial_ad[{m + 1}]/@pack");
            item4.level = IntXPathed($"/application/interstitial_ad[{m + 1}]/@level");
            interstitialAdsConfig.Add(item4);
        }
        rewardedVideoAdConfig.timeSpan = FloatXPathed("/application/rewarded_video_ad/@time_span");
        rewardedVideoAdConfig.coins    = IntXPathed("/application/rewarded_video_ad/@coins");
        notificationsConfig.pack       = IntXPathed("/application/notifications/@pack");
        notificationsConfig.level      = IntXPathed("/application/notifications/@level");
        dailyPuzzleConfig.timeSpan     = FloatXPathed("/application/daily_puzzle/@time_span");
        num = ElementCount("/application/tutorial");
        for (int n = 0; n < num; n++)
        {
            TutorialConfig item5 = default(TutorialConfig);
            string         a3    = StringXPathed($"/application/tutorial[{n + 1}]/@type");
            item5.type         = (string.Equals(a3, "good_start") ? TutorialType.GoodStart : (string.Equals(a3, "start_and_finish") ? TutorialType.StartAndFinish : (string.Equals(a3, "expose") ? TutorialType.Expose : (string.Equals(a3, "tip") ? TutorialType.Tip : (string.Equals(a3, "perfect") ? TutorialType.Perfect : (string.Equals(a3, "dictionary") ? TutorialType.Dictionary : (string.Equals(a3, "shop") ? TutorialType.Shop : (string.Equals(a3, "extra_word") ? TutorialType.ExtraWord : TutorialType.None))))))));
            item5.level        = IntXPathed($"/application/tutorial[{n + 1}]/@level");
            item5.delay        = FloatXPathed($"/application/tutorial[{n + 1}]/@delay");
            item5.hand         = new Vector2(FloatXPathed($"/application/tutorial[{n + 1}]/@hand_x"), FloatXPathed($"/application/tutorial[{n + 1}]/@hand_y"));
            item5.message      = new Vector2(FloatXPathed($"/application/tutorial[{n + 1}]/@message_x"), FloatXPathed($"/application/tutorial[{n + 1}]/@message_y"));
            item5.isPerfect    = BoolXPathed($"/application/tutorial[{n + 1}]/@perfect");
            item5.isDictionary = BoolXPathed($"/application/tutorial[{n + 1}]/@dictionary");
            item5.isShop       = BoolXPathed($"/application/tutorial[{n + 1}]/@shop");
            item5.isExtraWord  = BoolXPathed($"/application/tutorial[{n + 1}]/@extra_word");
            tutorialsConfig.Add(item5);
        }
        ELSingleton <TutorialManager> .Instance.Setup();

        base.LoadSettingsCompleted();
    }
Beispiel #3
0
 private void DisplayTutorialWithConfig(TutorialConfig tutorialConfig, BoolWrapper condition, bool conditionEndState)
 {
     StartCoroutine(_DisplayTutorialWithConfig(tutorialConfig, condition, conditionEndState));
 }