Example #1
0
    public void LoginFacebook()
    {
        FB.Init(delegate() {
            FB.LogInWithReadPermissions(
                new List <string>()
            {
                "public_profile", "email", "user_friends"
            },
                delegate(ILoginResult result) {
                Debug.Log(result.RawResult);
                string user_id   = result.ResultDictionary["user_id"].ToString();
                string photo_url = "http://graph.facebook.com/" + user_id + "/picture?type=square";
                Debug.Log(user_id);
                Debug.Log(photo_url);

                FB.API("/me", HttpMethod.GET, delegate(IGraphResult meResult)
                {
                    Debug.Log(meResult.RawResult);
                    string facebook_Name = meResult.ResultDictionary["name"].ToString();
                    Debug.Log("Facebook name : " + facebook_Name);
                });

                FB.API("/me/friends", HttpMethod.GET, delegate(IGraphResult friendResult)
                {
                    Debug.Log(friendResult.RawResult);
                    FriendResult res = JsonUtility.FromJson <FriendResult>(friendResult.RawResult);
                    Debug.Log(res.summary.total_count);
                });
            });
        });
    }
        public async System.Threading.Tasks.Task <FriendResult> GetFriendsClosestAsync(int friendId)
        {
            var friendsList = new List <Friend>(await _friendRepository.List());

            var selected = friendsList.Find(x => x.Id == friendId);

            if (selected == null)
            {
                return(null);
            }

            var distancelist = new List <FriendDistance>();

            foreach (var friend in friendsList)
            {
                if (friend.Id != friendId)
                {
                    var friendDistance = new FriendDistance();
                    friendDistance.Id       = friend.Id;
                    friendDistance.Name     = friend.Name;
                    friendDistance.CityName = friend.CityName;
                    friendDistance.Lat      = friend.Lat;
                    friendDistance.Lon      = friend.Lon;

                    var distance     = HaversineDistance(selected.Lat, selected.Lon, friend.Lat, friend.Lon);
                    var distanceFlat = GetFlatDistance(selected.Lat, selected.Lon, friend.Lat, friend.Lon);

                    friendDistance.Distance     = distance;
                    friendDistance.DistanceFlat = distanceFlat;

                    distancelist.Add(friendDistance);


                    await _calculoHistoricoLogRepository.Insert(
                        new CreateCalculoHistoricoLogCommand(DateTime.Now, Global.loggerUser.login, selected.Name,
                                                             selected.Lat, selected.Lon, friend.Name, friend.Lat, friend.Lon, distance));
                }
            }

            FriendResult result = new FriendResult();

            result.Friend  = selected;
            result.Friends = distancelist.OrderBy(i => i.Distance).Take(3).ToList();



            return(result);
        }
    private void UpdateSearchForFriendsUI(IDictionary <string, object> friendsSearchListData)
    {
        var friendsSearchListDataEnumerator = friendsSearchListData.GetEnumerator();

        friendsSearchListDataEnumerator.MoveNext();
        var playerListData           = (List <object>)friendsSearchListDataEnumerator.Current.Value;
        var playerListDataEnumerator = playerListData.GetEnumerator();

        while (playerListDataEnumerator.MoveNext())
        {
            var playerData           = playerListDataEnumerator.Current;
            var playerDataDictionary = (IDictionary <string, object>)playerData;
            var playerDataEnumerator = playerDataDictionary.GetEnumerator();

            playerDataEnumerator.MoveNext();
            string playerName = playerDataEnumerator.Current.Value.ToString();

            if (playerName.Length >= 20)
            {
                playerName = (playerName.Substring(0, 17) + "...");
            }

            playerDataEnumerator.MoveNext();
            playerDataEnumerator.MoveNext();
            string playerID = playerDataEnumerator.Current.Value.ToString();
            //playerName = playerName + "+" + playerID.Substring(20, 4);

            GameObject   friendResultButton = Instantiate(friendResultButtonPrefab) as GameObject;
            FriendResult friendResultScript = friendResultButton.GetComponent <FriendResult>();
            friendResultScript.playerID = playerID;
            friendResultButton.GetComponent <Button>().onClick.AddListener(friendResultScript.OnClickSendFriendRequest);
            friendResultButton.name = playerID + "search";
            // Get text component of button
            UnityEngine.UI.Text[] playerObjectTexts = friendResultButton.GetComponentsInChildren <Text>();
            Text playerText = playerObjectTexts[0];

            playerText.text = playerName;

            friendResultButton.transform.SetParent(friendsSearchResultListContent);
            friendResultButton.transform.localScale = new Vector3(1, 1, 1);

            friendsSearchResultList.Add(friendResultButton);
        }
        friendsSearchResultListContent.sizeDelta = new Vector2(friendsSearchResultListContent.sizeDelta.x, friendsSearchResultList.Count * heightOfFriendsResult);
        LayoutRebuilder.ForceRebuildLayoutImmediate(friendsSearchResultListContent);
        searchLock = false;
    }
Example #4
0
 public FriendActionAckMessage(FriendResult result, int unk, FriendDto friend)
 {
     Result = result;
     Unk    = unk;
     Friend = friend;
 }
Example #5
0
 public FriendActionAckMessage(FriendResult result)
     : this()
 {
     Result = result;
 }
    private void UpdateFriendsListUI(IDictionary <string, object> friendsListData)
    {
        // The player name is burried deep in key/value pair-like structures
        var friendsListEnumerator = friendsListData.GetEnumerator();

        friendsListEnumerator.MoveNext();
        var  friendBaseData         = (KeyValuePair <string, object>)friendsListEnumerator.Current;
        var  friendActualBaseData   = (GameSparks.Core.GSData)friendBaseData.Value;
        var  friendPlayerIDBaseData = friendActualBaseData.BaseData.GetEnumerator();
        bool toDestroy = false;

        while (friendPlayerIDBaseData.MoveNext())
        {
            string playerID = friendPlayerIDBaseData.Current.Key;
            var    friendPlayerIDActualBaseData = (GameSparks.Core.GSData)friendPlayerIDBaseData.Current.Value;
            var    friendPlayerNameBaseData     = friendPlayerIDActualBaseData.BaseData.GetEnumerator();
            friendPlayerNameBaseData.MoveNext();
            string playerName = friendPlayerNameBaseData.Current.Value.ToString();

            GameObject   friendObject       = Instantiate(friendResultButtonPrefab) as GameObject;
            FriendResult friendResultScript = friendObject.GetComponent <FriendResult>();

            friendResultScript.playerName = playerName;

            if (pending)
            {
                friendResultScript.playerID = playerID;
                friendObject.GetComponent <Button>().onClick.AddListener(friendResultScript.OnClickAcceptFriendRequest);
                friendObject.name = playerID + "pending";
            }
            else
            {
                friendObject.GetComponent <Button>().onClick.AddListener(friendResultScript.OnClickOpenTeamChat);
                friendResultScript.chatWindowPanel = chatWindowPanel.GetComponent <ChatWindowPanel>();
                if (friendPlayerNameBaseData.MoveNext())
                {
                    string teamID = friendPlayerNameBaseData.Current.Value.ToString();
                    friendResultScript.teamID = teamID;
                }
                else
                {
                    toDestroy = true;
                }
            }

            // Get text component of button
            UnityEngine.UI.Text[] friendObjectTexts = friendObject.GetComponentsInChildren <Text>();
            Text friendNameText = friendObjectTexts[0];

            if (playerName.Length >= 20)
            {
                friendNameText.text = (playerName.Substring(0, 17) + "...");
            }
            else
            {
                friendNameText.text = (playerName);
            }

            friendObject.transform.SetParent(friendsListContent);
            friendObject.transform.localScale = new Vector3(1, 1, 1);
            friendsListContent.sizeDelta      = new Vector2(friendsListContent.sizeDelta.x, (friendsListContent.sizeDelta.y + 30));

            if (toDestroy)
            {
                toDestroy = false;
                Destroy(friendObject);
            }
            friendsList.Add(friendObject);
        }
        pending = false;

        LayoutRebuilder.ForceRebuildLayoutImmediate(friendsListContent);
    }