Example #1
0
    private IEnumerator SaveScoreAsync(string accessToken, int score, float positionX, string version)
    {
        WWWForm form = new WWWForm();

        using (Aes myAes = Aes.Create())
        {
            myAes.KeySize = 128;
            var encryptedToken = CryptoUtils.AESEncrypt(accessToken, myAes.Key, myAes.IV);

            string encryptedTokenString = Convert.ToBase64String(encryptedToken);
            string keyString            = Convert.ToBase64String(myAes.Key);
            string IVString             = Convert.ToBase64String(myAes.IV);

            form.AddField(Const.ACCESS_TOKEN, encryptedTokenString);
            form.AddField(Const.AES_KEY, keyString);
            form.AddField(Const.AES_IV, IVString);
            form.AddField(Const.SCORE_FIELD, score);
            form.AddField(Const.VERSION_FIELD, version);
            int positionX_int = Mathf.RoundToInt(positionX * 10);
            form.AddField(Const.POSITIONX_FIELD, positionX_int);
        }

        UnityWebRequest request = UnityWebRequest.Post(Const.POST_URL, form);

        yield return(request.SendWebRequest());

        Debug.Log(request.downloadHandler.text);
    }