// IEnumerator GetFreeCards() { //set reset cards button to active ResetCardsButton.SetActive(true); UnityWebRequest wwwRequest = UnityWebRequest.Get(GETFREECARDS); yield return(wwwRequest.SendWebRequest()); if (wwwRequest.isNetworkError || wwwRequest.isHttpError) { Debug.Log(wwwRequest.error); } else { print(wwwRequest.downloadHandler.text); //deserialize json to c# class CardsValuesSuits PlayerCards = JsonConvert.DeserializeObject <CardsValuesSuits>(wwwRequest.downloadHandler.text); PlayerStartCards(PlayerCards.card_values, PlayerCards.card_suits); } }
IEnumerator SendCardsToServer() { //game variables string value1; string suit1; string value2; string suit2; string value3; string suit3; string value4; string suit4; string value5; string suit5; string value6; string suit6; string value7; string suit7; List <Card> top = new List <Card>(); List <Card> middle = new List <Card>(); List <Card> bottom = new List <Card>(); top = getCardsFromRows("Top"); middle = getCardsFromRows("Middle"); bottom = getCardsFromRows("Bottom"); //temp set of web requests value1 = ((int)top[0].value + 2).ToString(); suit1 = ((int)top[0].suit).ToString(); value2 = ((int)middle[0].value + 2).ToString(); suit2 = ((int)middle[0].suit).ToString(); value3 = ((int)middle[1].value + 2).ToString(); suit3 = ((int)middle[1].suit).ToString(); value4 = ((int)bottom[0].value + 2).ToString(); suit4 = ((int)bottom[0].suit).ToString(); value5 = ((int)bottom[1].value + 2).ToString(); suit5 = ((int)bottom[1].suit).ToString(); value6 = ((int)bottom[2].value + 2).ToString(); suit6 = ((int)bottom[2].suit).ToString(); value7 = ((int)bottom[3].value + 2).ToString(); suit7 = ((int)bottom[3].suit).ToString(); //must be of this form string jsonString = "{\"top\": {\"card1\": {\"value\": \"" + value1 + "\" ,\"suit\": \"" + suit1 + "\"}}," + "\"middle\": {\"card1\": {\"value\": \"" + value2 + "\" ,\"suit\": \"" + suit2 + "\"},\"card2\": {\"value\": \"" + value3 + "\" ,\"suit\": \"" + suit3 + "\"}}," + "\"Bottom\": {\"card1\": {\"value\": \"" + value4 + "\" ,\"suit\": \"" + suit4 + "\"},\"card2\": {\"value\": \"" + value5 + "\" ,\"suit\": \"" + suit5 + "\"},\"card3\": {\"value\": \"" + value6 + "\" ,\"suit\": \"" + suit6 + "\"},\"card4\": {\"value\": \"" + value7 + "\" ,\"suit\": \"" + suit7 + "\"}}}"; CardsValuesSuits test = new CardsValuesSuits(); test.card_values = new List <int>(); test.card_suits = new List <int>(); test.card_values.Add(Int32.Parse(value1)); test.card_values.Add(Int32.Parse(value2)); test.card_values.Add(Int32.Parse(value3)); test.card_values.Add(Int32.Parse(value4)); test.card_values.Add(Int32.Parse(value5)); test.card_values.Add(Int32.Parse(value6)); test.card_values.Add(Int32.Parse(value7)); test.card_suits.Add(Int32.Parse(suit1)); test.card_suits.Add(Int32.Parse(suit2)); test.card_suits.Add(Int32.Parse(suit3)); test.card_suits.Add(Int32.Parse(suit4)); test.card_suits.Add(Int32.Parse(suit5)); test.card_suits.Add(Int32.Parse(suit6)); test.card_suits.Add(Int32.Parse(suit7)); var jsonStringTest = JsonConvert.SerializeObject(test); print(jsonStringTest); var request = new UnityWebRequest(SENDCARDSTOSERVER, "POST"); byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(jsonStringTest); request.uploadHandler = (UploadHandler) new UploadHandlerRaw(bodyRaw); request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer(); request.SetRequestHeader("Content-Type", "application/json"); yield return(request.SendWebRequest()); print(request.downloadHandler.text); //deserialize json to c# class GameInformation = JsonConvert.DeserializeObject <GameData>(request.downloadHandler.text); UseInformationFromServer(GameInformation); }