Beispiel #1
0
        public void ShowAchievementsUI(Action _onCompletion)
        {
            // Check if user has logged in
            if (!VerifyUser())
            {
                if (_onCompletion != null)
                {
                    _onCompletion();
                }

                return;
            }

            // Application needs to be in play mode
            if (!Application.isPlaying)
            {
                DebugPRO.Console.LogError(Constants.kDebugTag, "[GameServices] Available in play mode only.");

                if (_onCompletion != null)
                {
                    _onCompletion();
                }

                return;
            }

            // Gather data required to display properties
            Dictionary <EGCAchievementDescription, EGCAchievement> _gcAchievementMap = new Dictionary <EGCAchievementDescription, EGCAchievement>();

            foreach (EGCAchievementDescription _gcAchievementDesc in m_achievementDescriptionList)
            {
                string         _gcDescriptionID = _gcAchievementDesc.Identifier;
                EGCAchievement _gcAchievement   = m_achievementsList.FirstOrDefault(_curAchievement => _curAchievement.Identifier.Equals(_gcDescriptionID));

                // Add each entry
                _gcAchievementMap.Add(_gcAchievementDesc, _gcAchievement);
            }

            // Show UI
            if (m_gameCenterUI == null)
            {
                CreateGameCenterUIInstance();
            }

            m_gameCenterUI.ShowAchievementUI(_gcAchievementMap, _onCompletion);
        }
        public void ShowAchievementsUI()
        {
            // Check if user has logged in
            if (!VerifyUser())
            {
                OnShowAchievementViewFinished(Constants.kGameServicesUserAuthMissingError);
                return;
            }

            // Application needs to be in play mode
            if (!Application.isPlaying)
            {
                OnShowAchievementViewFinished("The operation could not be completed because view is available only in play mode.");
                return;
            }

            // Gather data required to display properties
            Dictionary <EGCAchievementDescription, EGCAchievement> _gcAchievementMap = new Dictionary <EGCAchievementDescription, EGCAchievement>();

            foreach (EGCAchievementDescription _gcAchievementDesc in m_achievementDescriptionList)
            {
                string         _gcDescriptionID = _gcAchievementDesc.Identifier;
                EGCAchievement _gcAchievement   = m_achievementsList.FirstOrDefault(_curAchievement => _curAchievement.Identifier.Equals(_gcDescriptionID));

                // Add each entry
                _gcAchievementMap.Add(_gcAchievementDesc, _gcAchievement);
            }

            // Show UI
            if (m_gameCenterUI == null)
            {
                CreateGameCenterUIInstance();
            }

            m_gameCenterUI.ShowAchievementUI(_gcAchievementMap, () => {
                // Invoke handler
                OnShowAchievementViewFinished(null);
            });
        }