Exemplo n.º 1
0
        public singleQueque send(genericRequest json, Action feedback)
        {
            singleQueque singleQueque = new singleQueque();

            try
            {
                byte[] _buffer       = Encoding.ASCII.GetBytes(JsonMapper.ToJson(json));
                Int32  unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

                singleQueque.startMessageTimestamp = unixTimestamp;
                singleQueque.action   = json.action;
                singleQueque.status   = false;
                singleQueque.feedback = feedback;

                globalqueque.queque.Add(singleQueque);
                _clientSocket.BeginSend(_buffer, 0, _buffer.Length, SocketFlags.None, new AsyncCallback(recieveCallback), singleQueque);
            }
            catch (SocketException) { } // Server Close
            catch (Exception ex)
            {
                Debug.Log(ex.Message);
            }

            return(singleQueque);
        }
Exemplo n.º 2
0
    public void handleReport()  // report a user & handle button
    {
        genericRequest req  = new genericRequest(Global.getID(), Global.getToken(), "getMyReportedPlayers");
        string         json = JsonConvert.SerializeObject(req);

        Byte[] data = System.Text.Encoding.ASCII.GetBytes(json);
        Global.stream.Write(data, 0, data.Length);
        data = new Byte[1024];
        string responseData = string.Empty;
        Int32  bytes        = Global.stream.Read(data, 0, data.Length);

        responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

        List <string> reportedList = responseData.Split(',').ToList();

        if (reportedList.Contains(email))
        {
            alreadyReported = true;
        }
        else
        {
            alreadyReported = false;
        }

        if (!alreadyReported)       // cannot report again
        // @TODO Report user through server @STEPHEN
        {
            ReportRequest req2 = new ReportRequest(Global.getID(), "reportPlayer", Global.getEmail(), email, Global.getToken());
            json = JsonConvert.SerializeObject(req2);
            data = System.Text.Encoding.ASCII.GetBytes(json);
            Global.stream.Write(data, 0, data.Length);
            data         = new Byte[1024];
            responseData = string.Empty;
            bytes        = Global.stream.Read(data, 0, data.Length);
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);


            // @TODO Let me know if server didn't work as expected @STEPHEN
            bool failed = false;
            if (failed)
            {
                StartCoroutine(showError("Could not report the user, please try again")); // set error message
            }
            else
            {
                ReportButton.GetComponentInChildren <Text>().text           = "Reported"; // set button text
                ReportButton.GetComponentInChildren <Button>().interactable = false;      // cannot undo a report
                alreadyReported = true;                                                   // user reported so lets set alreadyReported to true
            }
        }
    }
Exemplo n.º 3
0
    private void setReportButton()  // set up the report button
    {
        if (isMe)
        {
            ReportButton.SetActive(false); // cannot report myself
        }
        else
        {
            // @TODO Get from server if I have already reported the user @STEPHEN

            genericRequest req  = new genericRequest(Global.getID(), Global.getToken(), "getMyReportedPlayers");
            string         json = JsonConvert.SerializeObject(req);
            Byte[]         data = System.Text.Encoding.ASCII.GetBytes(json);
            Global.stream.Write(data, 0, data.Length);
            data = new Byte[1024];
            string responseData = string.Empty;
            Int32  bytes        = Global.stream.Read(data, 0, data.Length);
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

            List <string> reportedList = responseData.Split(',').ToList();
            if (reportedList.Contains(email))
            {
                alreadyReported = true;
            }
            else
            {
                alreadyReported = false;
            }

            // @TODO Let me know if server didn't work as expected @STEPHEN
            bool failed = false;
            if (failed)
            {
                StartCoroutine(showError("Could not retreive if you have reported the user")); // set error message
                ReportButton.GetComponentInChildren <Button>().interactable = false;           // couldn't retrieve info so disable button
            }
            else
            {
                if (alreadyReported)
                {
                    ReportButton.GetComponentInChildren <Text>().text           = "Reported"; // set button text
                    ReportButton.GetComponentInChildren <Button>().interactable = false;      // cannot undo a report
                }
            }
        }
    }
Exemplo n.º 4
0
        public singleQueque send(genericRequest json)
        {
            Action noFeedback = () => { };

            return(this.send(json, noFeedback));
        }
Exemplo n.º 5
0
    private List <string> setUpFriendRequestsList() // Set up friend requests list
    {
        Debug.Log("Setting up friend request list");
        // List<string> friendRequestsList = new List<string>(); // To store all my friend requests

        Button[] gameObjects = requestsPanel.GetComponentsInChildren <Button>(); // Get previous request buttons
        foreach (Button o in gameObjects)
        {
            Destroy(o.gameObject); // Destroy all previous friend request buttons
        }

        // Add temporary users to friend requests list
        // friendRequestsList.Add("Hola");
        // friendRequestsList.Add("Amigo");
        // friendRequestsList.Add("Que Paso");
        // friendRequestsList.Add("HolaAmigo");
        // friendRequestsList.Add("HolaAmigo");
        // friendRequestsList.Add("HolaAmigo");
        // friendRequestsList.Add("HolaAmigo");
        // friendRequestsList.Add("HolaAmigo");
        // friendRequestsList.Add("HolaAmigo");

        // @TODO Get from server if I have friend requests @STEPHEN
        // List<string> getRequests = new List<string>;
        // getRequests = // get list from server
        // @TODO Let me know if server didn't work as expected @STEPHEN
        // bool failed = false;
        // if(failed){ // server request failed
        //     StartCoroutine(showError("Could not retreive friend requests")); // set error message
        // }
        // else{
        //     // get list from server
        //     // foreach(string value in getRequests){
        //     //     friendRequestsList.Add(value); // add users to friend requests list
        //     // }
        // }
        genericRequest req  = new genericRequest(Global.getID(), Global.getToken(), "getFriendRequests");
        string         json = JsonConvert.SerializeObject(req);

        Byte[] data = System.Text.Encoding.ASCII.GetBytes(json);
        Global.stream.Write(data, 0, data.Length);
        data = new Byte[1024];
        string responseData = string.Empty;
        Int32  bytes        = Global.stream.Read(data, 0, data.Length);

        responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

        List <string> friendRequestsList = responseData.Split(',').ToList();

        foreach (string value in friendRequestsList)
        {
            if (value == "norequests")
            {
                continue;
            }
            GameObject requestObject = (GameObject)Instantiate(requestButtonPrefab); // Create friend user button
            requestObject.GetComponentInChildren <Text>().text = value;              // Set text to the friend username
            requestObject.SetActive(true);
            requestObject.transform.SetParent(requestsPanel.transform, false);       // Add friend username buttons to friends panel
        }

        return(friendRequestsList);
    }
Exemplo n.º 6
0
    private void setAddButton()  // set up the add friend/unfriend button
    {
        Debug.Log("Setting up add button");
        if (isMe)
        {
            AddButton.SetActive(false); // cannot add myself as friend
        }
        else
        {
            // @TODO Get from server if user is already my friend @STEPHEN

            genericRequest req  = new genericRequest(Global.getID(), Global.getToken(), "getAllFriends");
            string         json = JsonConvert.SerializeObject(req);
            Byte[]         data = System.Text.Encoding.ASCII.GetBytes(json);
            Global.stream.Write(data, 0, data.Length);
            data = new Byte[1024];
            string responseData = string.Empty;
            Int32  bytes        = Global.stream.Read(data, 0, data.Length);
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

            List <string> friendList;

            friendList = responseData.Split(',').ToList();
            if (friendList.Contains(email))
            {
                alreadyFriend = true;
            }
            else
            {
                alreadyFriend = false;
            }


            // @TODO Let me know if server didn't work as expected @STEPHEN
            bool failed = false;
            if (failed)
            {
                StartCoroutine(showError("Could not retreive if user is your friend")); // set error message
                AddButton.GetComponentInChildren <Button>().interactable = false;       // couldn't retrieve info so disable button
            }
            else
            {
                if (alreadyFriend)
                {
                    AddButton.GetComponentInChildren <Text>().text           = "Unfriend"; // set button text
                    AddButton.GetComponentInChildren <Button>().interactable = true;
                }
                else
                {
                    // @TODO Get from server if user has sent me friend request @STEPHEN
                    req  = new genericRequest(Global.getID(), Global.getToken(), "getFriendRequests");
                    json = JsonConvert.SerializeObject(req);
                    data = System.Text.Encoding.ASCII.GetBytes(json);
                    Global.stream.Write(data, 0, data.Length);
                    data         = new Byte[1024];
                    responseData = string.Empty;
                    bytes        = Global.stream.Read(data, 0, data.Length);
                    responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

                    List <string> friendRequestList = responseData.Split(',').ToList();
                    if (friendRequestList.Contains(email))
                    {
                        alreadyReceivedRequest = true; // Store if the user has sent me friend request
                    }
                    else
                    {
                        alreadyReceivedRequest = false;
                    }

                    if (alreadyReceivedRequest)
                    {
                        AddButton.GetComponentInChildren <Text>().text           = "Handle Request"; // set button text
                        AddButton.GetComponentInChildren <Button>().interactable = true;
                    }
                    else
                    {
                        // @TODO Get from server if I have sent a friend request to the user @STEPHEN
                        req  = new genericRequest(Global.getID(), Global.getToken(), "getFriendRequestsSent");
                        json = JsonConvert.SerializeObject(req);
                        data = System.Text.Encoding.ASCII.GetBytes(json);
                        Global.stream.Write(data, 0, data.Length);
                        data         = new Byte[1024];
                        responseData = string.Empty;
                        bytes        = Global.stream.Read(data, 0, data.Length);
                        responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

                        List <string> friendRequestSentList = responseData.Split(',').ToList();

                        if (friendRequestSentList.Contains(email))
                        {
                            alreadySentRequest = true; // Store if I sent the user a friend request
                        }
                        else
                        {
                            alreadySentRequest = false;
                        }
                        if (alreadySentRequest)
                        {
                            AddButton.GetComponentInChildren <Text>().text           = "Request Sent"; // set button text
                            AddButton.GetComponentInChildren <Button>().interactable = false;
                        }
                    }
                }
            }
        }
    }