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); }
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 } } }
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 } } } }
public singleQueque send(genericRequest json) { Action noFeedback = () => { }; return(this.send(json, noFeedback)); }
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); }
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; } } } } } }