API() 공개 정적인 메소드

public static API ( string query, HttpMethod method, FacebookDelegate callback = null, string>.Dictionary formData = null ) : void
query string
method HttpMethod
callback FacebookDelegate
formData string>.Dictionary
리턴 void
예제 #1
0
 public void LoadUserFriends()
 {
     FB.API("/me/friends?fields=id,first_name", Facebook.HttpMethod.GET, CallbackLoadFriends);
 }
예제 #2
0
 public void QueryScores()
 {
     SetScore();
     FB.API("/app/scores?fields=score,user.limit(30)", HttpMethod.GET, ScoresCallback);
 }
예제 #3
0
    //--------------------------------------
    //  Scores API
    //  https://developers.facebook.com/docs/games/scores
    //------------------------------------



    //Read score for a player
    public void LoadPlayerScores()
    {
        FB.API("/" + UserId + "/scores", FB_HttpMethod.GET, OnLoaPlayrScoresComplete);
    }
예제 #4
0
 // load friend's scores
 public void FacebookGetScores()
 {
     FB.API("/app/scores", Facebook.HttpMethod.GET, ProcessRanking);
 }
예제 #5
0
 //GET ALL achievements of APP
 public void GetAllAppAchievements()
 {
     FB.API(FB.AppId + "/achievements", Facebook.HttpMethod.GET, HandleGetAllAppAchievements);
 }
예제 #6
0
    private void GetUserData()
    {
        string query = "/me?fields=name,email";

        FB.API(query, HttpMethod.GET, OnGetUserDataFinished);
    }
 public void getUserName()
 {
     FB.API("/me?fields=first_name", HttpMethod.GET, DisplayUsername);
 }
예제 #8
0
    //
    // Authen
    private void _AuthenFacebook(System.Action <_AuthenFacebookResult> callback)
    {
        Log("_AuthenFacebook");
        if (!FB.IsInitialized)
        {
            Log("Uninitialized");
            callback(new _AuthenFacebookResult
            {
                ErrorCode = 1
            });
            return;
        }

        if (FB.IsLoggedIn)
        {
            FB.LogOut();
        }

        // Login to facebook
        Log("Login to facebook");
        FB.LogInWithReadPermissions(new List <string>()
        {
            "public_profile", "email", "user_friends"
        }, result =>
        {
            if (result == null || string.IsNullOrEmpty(result.Error))
            {
                Log("Facebook API get name");
                FB.API(AccessToken.CurrentAccessToken.UserId, HttpMethod.GET, fbResult =>
                {
                    if (fbResult == null || string.IsNullOrEmpty(fbResult.Error))
                    {
                        Log("Success");
                        callback(new _AuthenFacebookResult
                        {
                            ErrorCode   = 0,
                            AvatarUrl   = "https://graph.facebook.com/" + AccessToken.CurrentAccessToken.UserId + "/picture?type=square",
                            Name        = fbResult.ResultDictionary["name"].ToString(),
                            AccessToken = AccessToken.CurrentAccessToken.TokenString
                        });
                    }
                    else
                    {
                        Log("Fail");
                        callback(new _AuthenFacebookResult
                        {
                            ErrorCode = 1,
                            ErrorMsg  = fbResult.Error
                        });
                    }
                });
            }
            else
            {
                Log("Fail - " + result.Error);
                callback(new _AuthenFacebookResult
                {
                    ErrorCode = 1,
                    ErrorMsg  = result.Error
                });
            }
        });
    }
예제 #9
0
 void GetUserName()
 {
     FB.API("/me?fields=first_name", HttpMethod.GET, GettingNameCallback);
 }
예제 #10
0
        protected override void SendSuccessResult()
        {
            if (string.IsNullOrEmpty(this.accessToken))
            {
                this.SendErrorResult("Empty Access token string");
                return;
            }

            // Make a Graph API call to get FBID
            FB.API(
                "/me?fields=id&access_token=" + this.accessToken,
                HttpMethod.GET,
                delegate(IGraphResult graphResult)
            {
                if (!string.IsNullOrEmpty(graphResult.Error))
                {
                    this.SendErrorResult("Graph API error: " + graphResult.Error);
                    return;
                }

                string facebookID = graphResult.ResultDictionary["id"] as string;

                // Make a Graph API call to get Permissions
                FB.API(
                    "/me/permissions?access_token=" + this.accessToken,
                    HttpMethod.GET,
                    delegate(IGraphResult permResult)
                {
                    if (!string.IsNullOrEmpty(permResult.Error))
                    {
                        this.SendErrorResult("Graph API error: " + permResult.Error);
                        return;
                    }

                    // Parse permissions
                    List <string> grantedPerms  = new List <string>();
                    List <string> declinedPerms = new List <string>();
                    var data = permResult.ResultDictionary["data"] as List <object>;
                    foreach (Dictionary <string, object> dict in data)
                    {
                        if (dict["status"] as string == "granted")
                        {
                            grantedPerms.Add(dict["permission"] as string);
                        }
                        else
                        {
                            declinedPerms.Add(dict["permission"] as string);
                        }
                    }

                    // Create Access Token
                    var newToken = new AccessToken(
                        this.accessToken,
                        facebookID,
                        DateTime.UtcNow.AddDays(60),
                        grantedPerms,
                        DateTime.UtcNow);

                    var result = (IDictionary <string, object>)MiniJSON.Json.Deserialize(newToken.ToJson());
                    result.Add("granted_permissions", grantedPerms);
                    result.Add("declined_permissions", declinedPerms);
                    if (!string.IsNullOrEmpty(this.CallbackID))
                    {
                        result[Constants.CallbackIdKey] = this.CallbackID;
                    }

                    if (this.Callback != null)
                    {
                        this.Callback(new ResultContainer(result));
                    }
                });
            });
        }
예제 #11
0
 public FB_GrapRequest_V6(string query, HttpMethod method, SPFacebook.FB_Delegate callback, WWWForm form)
 {
     _Callback = callback;
     FB.API(query, method, GraphCallback, form);
 }
        private Task Needs_Login()
        {
            return(new Task()
            {
                Mission = "Needs_Login",
                Action = (seekTo, currentTask, nextTask, delivery) =>
                {
                    if (FB.IsLoggedIn)
                    {
                        if (File.Exists(Config.Directories.Identity))
                        {
                            FileStream stream = new FileStream(Config.Directories.Identity, FileMode.Open, FileAccess.Read);
                            StreamReader reader = new StreamReader(stream);

                            string json = reader.ReadToEnd();

                            reader.Close();
                            stream.Close();

                            Variables.Self = JsonConvert.DeserializeObject <JsonSelf>(json);

                            if (Variables.Self.fbId != AccessToken.CurrentAccessToken.UserId)
                            {
                                File.Delete(Config.Directories.Identity);

                                currentTask(null);
                            }
                            else
                            {
                                nextTask(null);
                            }
                        }
                        else
                        {
                            FB.API("/me?fields=name,email,picture.type(large)", HttpMethod.POST, (graphResult) =>
                            {
                                Variables.Self = new JsonSelf()
                                {
                                    key = "",
                                    fbId = graphResult.ResultDictionary["id"].ToString(),
                                    email = graphResult.ResultDictionary["email"].ToString(),
                                    name = graphResult.ResultDictionary["name"].ToString(),
                                    picture = ((graphResult.ResultDictionary["picture"] as Dictionary <string, object>)["data"] as Dictionary <string, object>)["url"].ToString()
                                };

                                (Variables.UI["txtConsole"] as UIText).Element.text = "Logged you in...";


#if UNITY_EDITOR
                                nextTask(null);
#endif
#if !UNITY_EDITOR
                                OneSignal.IdsAvailable(HandleID);
                                Variables.nextTask = nextTask;
#endif
                            });
                        }
                    }
                    else
                    {
                        Directives.App_First = true;

                        (Variables.UI["txtConsole"] as UIText).Element.text = "Need to log you in...";

                        List <string> perms = new List <string>()
                        {
                            "public_profile", "email", "user_friends"
                        };
                        FB.LogInWithReadPermissions(perms, (result) =>
                        {
                            if (result.Cancelled)
                            {
                                Application.Quit();
                            }

                            if (FB.IsLoggedIn)
                            {
                                FB.API("/me?fields=name,email,picture.type(large)", HttpMethod.POST, (graphResult) =>
                                {
                                    Variables.Self = new JsonSelf()
                                    {
                                        key = "",
                                        fbId = graphResult.ResultDictionary["id"].ToString(),
                                        email = graphResult.ResultDictionary["email"].ToString(),
                                        name = graphResult.ResultDictionary["name"].ToString(),
                                        picture = ((graphResult.ResultDictionary["picture"] as Dictionary <string, object>)["data"] as Dictionary <string, object>)["url"].ToString()
                                    };

                                    (Variables.UI["txtConsole"] as UIText).Element.text = "Logged you in...";


#if UNITY_EDITOR
                                    nextTask(null);
#endif
#if !UNITY_EDITOR
                                    OneSignal.IdsAvailable(HandleID);
                                    Variables.nextTask = nextTask;
#endif
                                });
                            }
                        });
                    }
                }
            });
        }
 public void GetFacebookScores()
 {
     FB.API("/app/scores?fields=score,user.limit(30)", HttpMethod.GET, GetScoresCallback);
 }
예제 #14
0
    public void LoginButton(bool hideLoading = true)
    {
        //MobilePlugin.getInstance().ShowToast("Click login");
        string error = "";

        //AudioControl.DPlaySound("Click 1");
        try
        {
            if (FB.IsInitialized)
            {
                if (FB.IsLoggedIn)
                {
                    HideLoginDialog();
                    GetFriendsList();
                    loginButton.gameObject.SetActive(false);
                    transform.FindChild("Button").FindChild("ButtonShowMessage").gameObject.SetActive(true);
                    transform.FindChild("Button").FindChild("ButtonInviteFriend").gameObject.SetActive(true);
                    transform.FindChild("Button").FindChild("ButtonHelpFriend").gameObject.SetActive(true);
                }
                else
                {
                    DFB.FBLogin(result =>
                    {
                        //MobilePlugin.getInstance().ShowToast("FB.IsLoggedIn " + FB.IsLoggedIn);
                        if (FB.IsLoggedIn)
                        {
                            loginButton.gameObject.SetActive(false);
                            transform.FindChild("Button").FindChild("ButtonShowMessage").gameObject.SetActive(true);
                            transform.FindChild("Button").FindChild("ButtonInviteFriend").gameObject.SetActive(true);
                            transform.FindChild("Button").FindChild("ButtonHelpFriend").gameObject.SetActive(true);
                            //get friends list
                            GetFriendsList();
                            //count message
                            CountMessage();
                            //Get info user
                            if (String.IsNullOrEmpty(PlayerPrefs.GetString(DataCache.FB_ID, "")))
                            {
                                FB.API("v2.2/me", Facebook.HttpMethod.GET, rsl =>
                                {
                                    IDictionary dict1 = Json.Deserialize(rsl.Text) as IDictionary;
                                    if (dict1 != null && dict1["id"] != null)
                                    {
                                        DFB.UserId   = "" + dict1["id"];
                                        DFB.UserName = "" + dict1["name"];
                                        PlayerPrefs.SetString(DataCache.FB_ID, DFB.UserId);
                                        PlayerPrefs.SetString(DataCache.FB_USER, DFB.UserName);
                                        try
                                        {
                                            AudioControl.getMonoBehaviour().StartCoroutine(DHS.PostMeInfo(DFB.UserId, DFB.UserName, "" + dict1["locale"], "" + dict1["last_name"]));
                                        }
                                        catch (Exception e)
                                        {
                                            ShowConfirm();
                                            Debug.Log("--------------------catch error StartCoroutine-------------------" + e.Message);
                                            error = "" + e.Message;
                                        }
                                    }
                                });
                            }
                            else
                            {
                                DFB.UserId   = PlayerPrefs.GetString(DataCache.FB_ID);
                                DFB.UserName = PlayerPrefs.GetString(DataCache.FB_USER);
                            }
                        }
                        else
                        {
                            ShowConfirm();
                        }
                    });
                }
            }
            else
            {
                DFB.FBInit();
                ShowConfirm();
            }
        }
        catch (Exception e)
        {
            ShowConfirm();
            Debug.Log("--------------------Error Login FB-------------------" + e.Message);
            error = "" + e.Message;
        }
        //MobilePlugin.getInstance().ShowToast("error " + error);
    }
예제 #15
0
 public void GetInformation()
 {
     FB.API("me?fields=id,email,first_name,last_name", Facebook.HttpMethod.GET, UserCallBack);
 }
예제 #16
0
 void GetPicture(string id)
 {
     FB.API("/" + id + "/picture", HttpMethod.GET, this.ProfilePhotoCallback);
 }
예제 #17
0
 void CheckDownloadPicture()
 {
     if (_currDownloadId.Length == 0 && _pictureDownloadIds.Count > 0)
     {
         var fristEnum = _pictureDownloadIds.GetEnumerator();
         fristEnum.MoveNext();
         _currDownloadId = fristEnum.Current;
         Debug.LogWarning("cccc " + _currDownloadId);
         FB.API(string.Format("/{0}/picture?height=128&width=128", _currDownloadId), HttpMethod.GET, delegate(IGraphResult result)
         {
             if (debugInfo)
             {
                 FacebookHelperDebug("CheckDownloadPicture");
             }
             if (result == null)
             {
                 if (debugInfo)
                 {
                     FacebookHelperDebug("CheckDownloadPicture Null Response\n");
                 }
                 return;
             }
             else
             {
                 if (!string.IsNullOrEmpty(result.Error))
                 {
                     if (debugInfo)
                     {
                         FacebookHelperDebug("CheckDownloadPicture Error Response:\n" + result.Error);
                     }
                 }
                 else if (result.Cancelled)
                 {
                     if (debugInfo)
                     {
                         FacebookHelperDebug("CheckDownloadPicture Cancelled Response:\n" + result.RawResult);
                     }
                 }
                 else if (!string.IsNullOrEmpty(result.RawResult))
                 {
                     if (debugInfo)
                     {
                         FacebookHelperDebug("CheckDownloadPicture Success Response:\n");
                     }
                     if (_pictureDownloadIds.Contains(_currDownloadId))
                     {
                         Sprite pic = Sprite.Create(result.Texture, new Rect(0, 0, result.Texture.width, result.Texture.height), Vector2.one * 0.5f);
                         if (_pictures.ContainsKey(_currDownloadId))
                         {
                             _pictures[_currDownloadId] = pic;
                         }
                         else
                         {
                             _pictures.Add(_currDownloadId, pic);
                         }
                         _pictureDownloadIds.Remove(_currDownloadId);
                         ModelBinder.OnPropChanged(ModelPropKey.Picture.ToString(), _currDownloadId);
                         _currDownloadId = "";
                         Debug.Log("id dddd  " + _currDownloadId);
                         CheckDownloadPicture();
                     }
                 }
                 else
                 {
                     if (debugInfo)
                     {
                         FacebookHelperDebug("CheckDownloadPicture Empty Response\n");
                     }
                 }
             }
         });
     }
 }
예제 #18
0
 public void ReadScores()
 {
     FB.API("/me/objects/object", HttpMethod.GET, APICallBack);
 }
예제 #19
0
 private void CallFBAPI()
 {
     FB.API(ApiQuery, Facebook.HttpMethod.GET, Callback);
 }
예제 #20
0
 public void GetFriendsPicture()
 {
     FB.API("me/friends?fields=picture", HttpMethod.GET, RequestFriendsCallback);
 }
예제 #21
0
 //-------------------------------------------------------------
 //                      FacebookFriends
 //-------------------------------------------------------------
 public void FacebookGetFriends()
 {
     Debug.Log("FacebookFriends");
     FB.API("/me/friends?fields=id,name,picture", Facebook.HttpMethod.GET, FriendsCallback);
     //FB.API("/me/friends", Facebook.HttpMethod.GET, FriendsCallback);
 }
예제 #22
0
    private void LoginCallback(ILoginResult result)
    {
        if (FB.IsLoggedIn)
        {
            // facebook ログインの情報を使って NCMB にログインする
            var aToken = Facebook.Unity.AccessToken.CurrentAccessToken;
            NCMBFacebookParameters parameters = new NCMBFacebookParameters(aToken.UserId, aToken.TokenString, aToken.ExpirationTime);
            NCMBUser user = new NCMBUser();
            user.AuthData = parameters.param;

            user.LogInWithAuthDataAsync((NCMBException e) =>
            {
                if (e != null)
                {
                    Debug.LogError("Failed to login: "******"Failed to fetch: " + ex.ErrorMessage);
                        }
                        else
                        {
                            if (string.IsNullOrEmpty(user.Email))
                            {
                                Dictionary <string, string> formData = new Dictionary <string, string>()
                                {
                                };
                                FB.API("/me?fields=id,email", HttpMethod.GET, (IGraphResult r) =>
                                {
                                    if (r.Error != null)
                                    {
                                        Debug.Log(r.Error);
                                    }
                                    else
                                    {
                                        Debug.Log(r.ResultDictionary.ToJson());
                                        string email = r.ResultDictionary["email"].ToString();
                                        user.Email   = email;
                                        user.SaveAsync((NCMBException exc) =>
                                        {
                                            if (exc != null)
                                            {
                                                Debug.LogError("Failed to save: " + ex.ErrorMessage);
                                            }
                                            else
                                            {
                                                Debug.Log("Saved email data successfully.");
                                            }
                                        });
                                    }
                                }
                                       , formData);
                            }
                        }
                    });
                }
            });
        }
        else
        {
            Debug.Log("User cancelled login");
        }
    }
예제 #23
0
 public void FacebookGetMyInfo()
 {
     FB.API("/me?", Facebook.HttpMethod.GET, MyInfoCallback);
 }
예제 #24
0
    /// <summary>
    /// Get SEND requests.
    /// Return callback(requests, error).
    /// </summary>
    public static void GetSendRequests(Action <List <RequestData>, string> callback)
    {
        FB.API("/me/apprequests?fields=id,from,data,action_type", HttpMethod.GET, (result) => {
            if (!string.IsNullOrEmpty(result.Error))
            {
                callback(null, result.Error);
            }
            else
            {
                if (!string.IsNullOrEmpty(result.RawResult))
                {
                    var pendingRequests     = Json.Deserialize(result.RawResult) as Dictionary <string, object>;
                    var pendingRequestsData = pendingRequests["data"] as List <object>;

                    if (pendingRequestsData != null && pendingRequestsData.Count > 0)
                    {
                        var list = new List <RequestData>();

                        object idH;
                        object fromH;
                        object dataH;
                        object actionTypeH;

                        foreach (var entry in pendingRequestsData)
                        {
                            var requestItem = entry as Dictionary <string, object>;

                            string id               = "";
                            string fromId           = "";
                            string fromName         = "";
                            FBObjectType objectType = FBObjectType.None;

                            if (requestItem.TryGetValue("id", out idH))
                            {
                                id = idH.ToString();
                            }

                            if (requestItem.TryGetValue("from", out fromH))
                            {
                                var from = (Dictionary <string, object>)fromH;
                                fromId   = from["id"].ToString();
                                fromName = from["name"].ToString();
                            }

                            if (requestItem.TryGetValue("data", out dataH))
                            {
                                string item = dataH.ToString();

                                if (item == Coin)
                                {
                                    objectType = FBObjectType.Coin;
                                }
                                else if (item == Mana)
                                {
                                    objectType = FBObjectType.Mana;
                                }
//								else if (item == InviteToGetCoin) objectType = FBObjectType.InviteCoin;
//								else if (item == InviteToGetMana) objectType = FBObjectType.InviteMana;
                                else
                                {
                                    objectType = FBObjectType.Unknown;
                                }
                            }

                            if (requestItem.TryGetValue("action_type", out actionTypeH))
                            {
                                if (actionTypeH.ToString() == "send")
                                {
                                    list.Add(new RequestData(id, fromId, fromName, FBActionType.Send, objectType));
                                }
                            }
                        }

                        callback(list, null);
                    }
                    else
                    {
                        callback(null, null);
                    }
                }
                else
                {
                    callback(null, null);
                }
            }
        });
    }
예제 #25
0
 private void QueryScores()
 {
     FB.API("/app/scores?fields=score,user.limit(20)", Facebook.HttpMethod.GET, ScoresCallback);
 }
예제 #26
0
    /// <summary>
    /// Get ASK requests.
    /// Return callback(requests, error).
    /// </summary>
    public static void GetAskRequests(Action <List <RequestData>, string> callback)
    {
        FB.API("/me/apprequests?fields=id,from,data,action_type", HttpMethod.GET, (result) => {
            if (!string.IsNullOrEmpty(result.Error))
            {
                callback(null, result.Error);
            }
            else
            {
                if (!string.IsNullOrEmpty(result.RawResult))
                {
                    var pendingRequests     = Json.Deserialize(result.RawResult) as Dictionary <string, object>;
                    var pendingRequestsData = pendingRequests["data"] as List <object>;

                    if (pendingRequestsData != null && pendingRequestsData.Count > 0)
                    {
                        var list = new List <RequestData>();

                        object idH;
                        object fromH;
                        object dataH;
                        object actionTypeH;

                        foreach (var entry in pendingRequestsData)
                        {
                            var requestItem = entry as Dictionary <string, object>;

                            string id               = "";
                            string fromId           = "";
                            string fromName         = "";
                            FBObjectType objectType = FBObjectType.None;

                            if (requestItem.TryGetValue("id", out idH))
                            {
                                id = idH.ToString();
                            }

                            if (requestItem.TryGetValue("from", out fromH))
                            {
                                var from = (Dictionary <string, object>)fromH;
                                fromId   = from["id"].ToString();
                                fromName = from["name"].ToString();
                            }

                            if (requestItem.TryGetValue("data", out dataH))
                            {
                                string item = dataH.ToString();

                                if (item == Coin)
                                {
                                    objectType = FBObjectType.Coin;
                                }
                                else if (item == Mana)
                                {
                                    objectType = FBObjectType.Mana;
                                }
//								else if (item == InviteToGetCoin)
//								{
//									// Send coin
//									SendObject(null, InviteToGetCoin, Settings.SendCoinByInviteTitle, string.Format(Settings.SendCoinByInviteMessage, Settings.CoinByInvite), (error) => {
//										if (!string.IsNullOrEmpty(error))
//										{
//											//Log.Debug("Invite error: " + error);
//										}
//									}, fromId);
//
//									DeleteRequest(id);
//
//									callback(null, null);
//
//									return;
//								}
//								else if (item == InviteToGetMana)
//								{
//									// Send mana
//									SendObject(null, InviteToGetMana, Settings.SendManaByInviteTitle, string.Format(Settings.SendManaByInviteMessage, Settings.ManaByInvite), (error) => {
//										if (!string.IsNullOrEmpty(error))
//										{
//											//Log.Debug("Invite error: " + error);
//										}
//									}, fromId);
//
//									DeleteRequest(id);
//
//									callback(null, null);
//
//									return;
//								}
                                else
                                {
                                    objectType = FBObjectType.Unknown;
                                }
                            }

                            if (requestItem.TryGetValue("action_type", out actionTypeH))
                            {
                                if (actionTypeH.ToString() == "askfor")
                                {
                                    list.Add(new RequestData(id, fromId, fromName, FBActionType.AskFor, objectType));
                                }
                            }
                        }

                        callback(list, null);
                    }
                    else
                    {
                        callback(null, null);
                    }
                }
                else
                {
                    callback(null, null);
                }
            }
        });
    }
예제 #27
0
    //--------------------------------------
    //  Requests API
    //--------------------------------------


    public void LoadPendingRequests()
    {
        FB.API("/" + UserId + "/apprequests?fields=id,application,data,message,action_type,from,object", FB_HttpMethod.GET, OnRequestsLoadComplete);
    }
    private void OnGetScore(IGraphResult result)
    {
        //khoi tao lai list doi thu score
        if (getEnemy && Modules.countryEnemy != 1 && !checkScore)
        {
            Modules.fbAvatarEnemy = new List <string>();
            Modules.fbNameEnemy   = new List <string>();
            Modules.fbHighScore   = new List <float>();
        }
        //thuc hien khac
        scoresList = DeserializeScores(result.RawResult);
        if (panelGetInfo != null)
        {
            Destroy(panelGetInfo);
        }
        panelGetInfo = Instantiate(panelListFriend, Vector3.zero, Quaternion.identity) as GameObject;
        Transform panelContent = panelGetInfo.transform.Find("Content");
        Transform panelItem    = panelContent.transform.Find("Item");
        int       index        = 0;

        //Modules.textDebug.text += "\nGET: " + result.RawResult;
        //Modules.textDebug.text += "\nGET: ScoresList: " + scoresList.Count;
        foreach (object score in scoresList)
        {
            var        entry   = (Dictionary <string, object>)score;
            var        user    = (Dictionary <string, object>)entry["user"];
            GameObject newItem = panelItem.gameObject;
            if (index > 0)
            {
                newItem = Instantiate(panelItem.gameObject, Vector3.zero, Quaternion.identity) as GameObject;
                newItem.transform.SetParent(panelContent, false);
            }
            if (index % 2 != 0)
            {
                newItem.GetComponent <Image>().color = Modules.colorListLine;
            }
            Transform tranAvatar = newItem.transform.Find("Avatar");
            Transform tranName   = newItem.transform.Find("Name");
            Transform tranScore  = newItem.transform.Find("Score");
            Transform tranIndex  = newItem.transform.Find("Index");

            Image fbAvatar = tranAvatar.GetComponent <Image>();
            Text  fbName   = tranName.GetComponent <Text>();
            Text  fbScore  = tranScore.GetComponent <Text>();
            Text  fbIndex  = tranIndex.GetComponent <Text>();

            fbName.text = user["name"].ToString().Split(' ')[0];
            int scoreNow = Modules.IntParseFast(entry["score"].ToString());
            if (getEnemy && Modules.countryEnemy != 1 && !checkScore && scoreNow >= Modules.totalScore)
            {
                Modules.fbNameEnemy.Add(fbName.text);
                Modules.fbHighScore.Add(scoreNow);
                Modules.fbAvatarEnemy.Add("https" + "://graph.facebook.com/" + user["id"] + "/picture?g&width=128&height=128");
                //Modules.textDebug.text += "\nADD: " + fbName.text;
            }
            fbScore.text = scoreNow.ToString();
            if (checkScore)
            {
                oldScore = scoreNow;
            }
            fbIndex.text = (index + 1).ToString();

            FB.API(GetPictureURL(user["id"].ToString(), 128, 128), HttpMethod.GET, delegate(IGraphResult pictureResult)
            {
                if (pictureResult.Error != null) // if there was an error
                {
                    Debug.Log(pictureResult.Error);
                }
                else // if everything was fine
                {
                    if (fbAvatar)
                    {
                        fbAvatar.sprite = Sprite.Create(pictureResult.Texture, new Rect(0, 0, 128, 128), new Vector2(0, 0));
                    }
                }
            });
            index++;
        }
        if (checkScore)
        {
            if (oldScore >= Modules.totalScore)
            {
                postNewScore = false;
            }
            else
            {
                postNewScore = true;
            }
            PostScore(false);
        }
        else
        {
            isGetDone = true;
            getEnemy  = false;
        }
    }
예제 #29
0
 //Read scores for players and friends
 public void LoadAppScores()
 {
     FB.API("/" + AppId + "/scores", FB_HttpMethod.GET, OnAppScoresComplete);
 }
예제 #30
0
    public static void GetInvitableFriends()
    {
        string queryString = "/me/invitable_friends?fields=id,name&limit=100";

        FB.API(queryString, HttpMethod.GET, GetInvitableFriendsCallback);
    }