public static FixedRewardsMgr Get()
 {
     if (s_instance == null)
     {
         s_instance = new FixedRewardsMgr();
         ApplicationMgr.Get().WillReset += new System.Action(s_instance.WillReset);
     }
     if (!s_instance.m_registeredForAdventureProgressUpdates)
     {
         s_instance.m_registeredForAdventureProgressUpdates = AdventureProgressMgr.Get().RegisterProgressUpdatedListener(new AdventureProgressMgr.AdventureProgressUpdatedCallback(s_instance.OnAdventureProgressUpdate));
     }
     if (!s_instance.m_registeredForProfileNotices)
     {
         NetCache.Get().RegisterNewNoticesListener(new NetCache.DelNewNoticesListener(s_instance.OnNewNotices));
         s_instance.m_registeredForProfileNotices = true;
     }
     if (!s_instance.m_registeredForCompletedAchieves)
     {
         AchieveManager.Get().RegisterNewlyCompletedAchievesListener(new AchieveManager.NewlyAcompletedAchievesCallback(s_instance.OnNewlyCompletedAchieves));
         s_instance.m_registeredForCompletedAchieves = true;
     }
     if (!s_instance.m_registeredForAccountLicenseUpdates)
     {
         AccountLicenseMgr.Get().RegisterAccountLicensesChangedListener(new AccountLicenseMgr.AccountLicensesChangedCallback(s_instance.OnAccountLicensesUpdate));
         s_instance.m_registeredForAccountLicenseUpdates = true;
     }
     return(s_instance);
 }
示例#2
0
    private void ShowCardRewards()
    {
        if (UniversalInputManager.UsePhoneUI != null)
        {
            NotificationManager.Get().DestroyActiveQuote(0.2f);
        }
        List <CardRewardData> immediateCardRewardsForDefeatingScenario = AdventureProgressMgr.Get().GetImmediateCardRewardsForDefeatingScenario((int)AdventureConfig.Get().GetMission());

        this.m_rewardsDisplay.ShowCardsNoFullscreen(immediateCardRewardsForDefeatingScenario, this.m_rewardsDisplayBone.position, new Vector3?(this.m_rewardsChest.transform.position));
    }
 public static void Init()
 {
     if (s_instance == null)
     {
         s_instance = new AdventureProgressMgr();
         Network.Get().RegisterNetHandler(AdventureProgressResponse.PacketID.ID, new Network.NetHandler(s_instance.OnAdventureProgress), null);
         NetCache.Get().RegisterNewNoticesListener(new NetCache.DelNewNoticesListener(s_instance.OnNewNotices));
         ApplicationMgr.Get().WillReset += new System.Action(s_instance.WillReset);
     }
     Network.RequestAdventureProgress();
 }
示例#4
0
 private void OnMissionSelected(ScenarioDbId mission, bool showDetails)
 {
     if (mission != ScenarioDbId.INVALID)
     {
         if (showDetails)
         {
             this.m_slidingTray.ToggleTraySlider(true, null, true);
         }
         List <CardRewardData> immediateCardRewardsForDefeatingScenario = AdventureProgressMgr.Get().GetImmediateCardRewardsForDefeatingScenario((int)mission);
         bool flag = AdventureProgressMgr.Get().HasDefeatedScenario((int)mission);
         this.m_rewardsChest.gameObject.SetActive(((immediateCardRewardsForDefeatingScenario != null) && (immediateCardRewardsForDefeatingScenario.Count != 0)) && !flag);
     }
 }
    public void InitStartupFixedRewards()
    {
        List <CardRewardData> cardRewards = new List <CardRewardData>();

        foreach (AdventureMission.WingProgress progress in AdventureProgressMgr.Get().GetAllProgress())
        {
            if (progress.MeetsFlagsRequirement(1L))
            {
                this.TriggerWingProgressAction(false, progress.Wing, progress.Progress, cardRewards);
                this.TriggerWingFlagsAction(false, progress.Wing, progress.Flags, cardRewards);
            }
        }
        this.CheckForTutorialComplete(cardRewards);
        this.GrantAchieveRewards(cardRewards);
        this.GrantHeroLevelRewards(cardRewards);
        foreach (AccountLicenseInfo info in AccountLicenseMgr.Get().GetAllOwnedAccountLicenseInfo())
        {
            this.TriggerAccountLicenseFlagsAction(false, info.License, info.Flags_, cardRewards);
        }
        CollectionManager.Get().AddCardRewards(cardRewards, false);
    }
    public bool CanPlayMode(AdventureDbId adventureId, AdventureModeDbId modeId)
    {
        bool flag = AchieveManager.Get().HasUnlockedFeature(Achievement.UnlockableFeature.VANILLA_HEROES);

        if (adventureId == AdventureDbId.PRACTICE)
        {
            if (modeId == AdventureModeDbId.EXPERT)
            {
                return(flag);
            }
            return(true);
        }
        if (flag)
        {
            if (modeId == AdventureModeDbId.NORMAL)
            {
                return(true);
            }
            int num  = (int)adventureId;
            int num2 = (int)modeId;
            foreach (DbfRecord record in GameDbf.Scenario.GetRecords())
            {
                int @int = record.GetInt("ADVENTURE_ID");
                if (num == @int)
                {
                    int num4 = record.GetInt("MODE_ID");
                    if (num2 == num4)
                    {
                        int id = record.GetId();
                        if (AdventureProgressMgr.Get().CanPlayScenario(id))
                        {
                            return(true);
                        }
                    }
                }
            }
        }
        return(false);
    }
    private void ShowRemainingProgressCount()
    {
        int playableClassChallenges = 0;

        if (this.m_TargetMode == AdventureModeDbId.CLASS_CHALLENGE)
        {
            playableClassChallenges = AdventureProgressMgr.Get().GetPlayableClassChallenges(this.m_TargetAdventure, this.m_TargetMode);
        }
        if ((this.m_TargetMode == AdventureModeDbId.NORMAL) || (this.m_TargetMode == AdventureModeDbId.HEROIC))
        {
            playableClassChallenges = AdventureProgressMgr.Get().GetPlayableAdventureScenarios(this.m_TargetAdventure, this.m_TargetMode);
        }
        if (this.m_TargetMode == AdventureModeDbId.HEROIC)
        {
            if (playableClassChallenges > 0)
            {
                this.m_heroicSkull.SetActive(true);
            }
            else
            {
                this.m_heroicSkull.SetActive(false);
            }
            this.m_progressCounter.SetActive(false);
        }
        else
        {
            this.m_heroicSkull.SetActive(false);
            if (playableClassChallenges > 0)
            {
                this.m_progressCounter.SetActive(true);
                this.m_progressCounterText.Text = playableClassChallenges.ToString();
            }
            else
            {
                this.m_progressCounter.SetActive(false);
            }
        }
    }
示例#8
0
 private void AssetsVersionCheckCompleted()
 {
     if (!string.IsNullOrEmpty(UpdateManager.Get().GetError()) && UpdateManager.Get().UpdateIsRequired())
     {
         Error.AddFatalLoc("GLUE_PATCHING_ERROR", new object[0]);
     }
     else
     {
         if (Network.ShouldBeConnectedToAurora())
         {
             BnetPresenceMgr.Get().Initialize();
             BnetFriendMgr.Get().Initialize();
             BnetChallengeMgr.Get().Initialize();
             BnetWhisperMgr.Get().Initialize();
             BnetNearbyPlayerMgr.Get().Initialize();
             FriendChallengeMgr.Get().OnLoggedIn();
             SpectatorManager.Get().Initialize();
             if (!Options.Get().GetBool(Option.CONNECT_TO_AURORA))
             {
                 Options.Get().SetBool(Option.CONNECT_TO_AURORA, true);
             }
             TutorialProgress progress = Options.Get().GetEnum <TutorialProgress>(Option.LOCAL_TUTORIAL_PROGRESS);
             if (progress > TutorialProgress.NOTHING_COMPLETE)
             {
                 this.m_waitingForSetProgress = true;
                 ConnectAPI.SetProgress((long)progress);
             }
             if (WebAuth.GetIsNewCreatedAccount())
             {
                 AdTrackingManager.Get().TrackAccountCreated();
                 WebAuth.SetIsNewCreatedAccount(false);
             }
         }
         ConnectAPI.RequestAccountLicenses();
         ConnectAPI.RequestGameLicenses();
         Box.Get().OnLoggedIn();
         BaseUI.Get().OnLoggedIn();
         InactivePlayerKicker.Get().OnLoggedIn();
         HealthyGamingMgr.Get().OnLoggedIn();
         DefLoader.Get().Initialize();
         CollectionManager.Init();
         AdventureProgressMgr.Init();
         Tournament.Init();
         GameMgr.Get().OnLoggedIn();
         if (Network.ShouldBeConnectedToAurora())
         {
             StoreManager.Get().Init();
         }
         Network.TrackClient(Network.TrackLevel.LEVEL_INFO, Network.TrackWhat.TRACK_LOGIN_FINISHED);
         Network.ResetConnectionFailureCount();
         if (Network.ShouldBeConnectedToAurora())
         {
             ConnectAPI.DoLoginUpdate();
         }
         else
         {
             this.m_waitingForUpdateLoginComplete = false;
         }
         Enum[] args = new Enum[] { PresenceStatus.LOGIN };
         PresenceMgr.Get().SetStatus(args);
         if (SplashScreen.Get() != null)
         {
             SplashScreen.Get().StopPatching();
             SplashScreen.Get().ShowRatings();
         }
         this.PreloadActors();
         if (!Network.ShouldBeConnectedToAurora())
         {
             base.StartCoroutine(this.RegisterScreenWhenReady());
         }
         SceneMgr.Get().LoadShaderPreCompiler();
     }
 }
示例#9
0
    public void AddCardBatch(int scenarioId)
    {
        List <CardRewardData> immediateCardRewardsForDefeatingScenario = AdventureProgressMgr.Get().GetImmediateCardRewardsForDefeatingScenario(scenarioId);

        this.AddCardBatch(immediateCardRewardsForDefeatingScenario);
    }