Пример #1
0
        private void LoginCallback(ILoginResult result)
        {
            FBLog("LoginCallback", result != null ? result.RawResult : "");

            GameManager.Instance.IsUserInteractionEnabled = true;

            if (IsLoggedIn)
            {
                // Get current access token's granted permissions
                foreach (string permission in AccessToken.CurrentAccessToken.Permissions)
                {
                    PermissionsGranted.Add(permission);
                }

                // and try and load user data
                LoadUserData();
            }
            else
            {
                IsConnecting = false;
                OnInitLoginAndGetUserDataAction(FacebookHelperResultType.ERROR);
            }
        }
Пример #2
0
        /// <summary>
        ///     Resolves the class using the specified levels.
        /// </summary>
        /// <param name="levels">The levels, which must not be <c>null</c> or contain <c>null</c>.</param>
        /// <param name="stage">The resolution stage. All classes must be resolved at stage 0 before stage 1.</param>
        internal void Resolve(IList <Level> levels, int stage)
        {
            Debug.Assert(levels != null, "Levels must not be null.");
            Debug.Assert(!levels.Contains(null), "Levels must not contain null.");

            if (stage == 0)
            {
                PrerequisiteLevels = _definition.PrerequisiteLevelNames
                                     .Select(pln => levels.First(l => l.Name == pln)).ToList();
            }
            else if (stage == 1)
            {
                var queue = new Queue <Level>();
                foreach (var level in PrerequisiteLevels)
                {
                    queue.Enqueue(level);
                }
                while (queue.Count > 0)
                {
                    var level = queue.Dequeue();
                    foreach (var level2 in level.Class.Levels)
                    {
                        ItemNamesAllowed.UnionWith(level2.ItemNamesAllowed);
                        PermissionsGranted.UnionWith(level2.PermissionsGranted);
                        if (level2 == level)
                        {
                            break;
                        }
                    }

                    foreach (var level2 in level.Class.PrerequisiteLevels)
                    {
                        queue.Enqueue(level2);
                    }
                }
            }
        }
Пример #3
0
 public bool HasPublishActionsPermission()
 {
     return(PermissionsGranted.Contains("publish_actions"));
 }
Пример #4
0
 public bool HasUserFriendsPermission()
 {
     return(PermissionsGranted.Contains("user_friends"));
 }
Пример #5
0
 public bool HasEmailPermission()
 {
     return(PermissionsGranted.Contains("email"));
 }
Пример #6
0
 public bool HasPublicProfilePermission()
 {
     return(PermissionsGranted.Contains("public_profile"));
 }