Example #1
0
    //
    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);
        }
    }
Example #2
0
    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);
    }