Exemple #1
0
        public void UnlockContents()
        {
            if (!this.mDesiredSceneIsHome || this.mDesirdSceneSet || ((CriticalSection.GetActive() & CriticalSections.SceneChange) != (CriticalSections)0 || !PlayerPrefs.HasKey("lastplv")) || !PlayerPrefs.HasKey("lastviplv"))
            {
                return;
            }
            PlayerData player  = MonoSingleton <GameManager> .Instance.Player;
            int        num1    = PlayerPrefs.GetInt("lastplv");
            int        lv      = player.Lv;
            int        num2    = PlayerPrefs.GetInt("lastviplv");
            int        vipRank = player.VipRank;

            if (num1 >= lv && num2 >= vipRank)
            {
                return;
            }
            foreach (UnlockParam unlock in MonoSingleton <GameManager> .Instance.MasterParam.Unlocks)
            {
                if ((unlock.PlayerLevel == 0 || num1 < unlock.PlayerLevel && unlock.PlayerLevel <= lv) && (unlock.VipRank == 0 || num2 < unlock.VipRank && unlock.VipRank <= vipRank))
                {
                    NotifyList.PushContentsUnlock(unlock);
                }
            }
            PlayerPrefs.SetInt("lastplv", lv);
            PlayerPrefs.SetInt("lastviplv", vipRank);
            LevelLock.UpdateLockStates();
        }