IEnumerator Exchange() { float startTime = Time.time; ObjectInfoSet toSend = new ObjectInfoSet(); toSend.data = new List <ObjectInfo>(); for (int i = 0; i < parents.Length; i++) { toSend.data.Add(new ObjectInfo(parents[i])); } WWWForm form = new WWWForm(); form.AddField("data", JsonUtility.ToJson(Encrypt(JsonUtility.ToJson(toSend)))); using (UnityWebRequest webRequest = UnityWebRequest.Post(sendParentsURL, form)) { yield return(webRequest.SendWebRequest()); if (webRequest.isNetworkError) { Debug.Log("Connection failed"); } else { ChunkedEncryptedData d = JsonUtility.FromJson <ChunkedEncryptedData>(webRequest.downloadHandler.text); ObjectInfoSet received = JsonUtility.FromJson <ObjectInfoSet>(Decrypt(d)); foreach (ObjectInfo o in received.data) { foreach (GameObject g in children) { if (g.name == o.name) { Debug.Log("Set " + g.name); g.transform.position = o.position; g.transform.rotation = UnityEngine.Quaternion.Euler(o.rotation); } } } } } float timePassed = (Time.time - startTime); avgLatency = ((avgLatency * clicks) + timePassed) / (clicks + 1); clicks += 1; latency.text = "Avg. Latency: " + avgLatency; }
// Start is called before the first frame update void Start() { /*switch (encryptionMode) { * case (EncryptionMode.None): * encryptionMethod = "None"; * break; * case (EncryptionMode.AES): * encryptionMethod = "AES"; * break; * case (EncryptionMode.DES): * encryptionMethod = "DES"; * break; * case (EncryptionMode.DES3): * encryptionMethod = "DES3"; * break; * case (EncryptionMode.RSA): * encryptionMethod = "RSA"; * break; * } */ clientRSA = new RSACryptoServiceProvider(2048); var pubKey = clientRSA.ExportParameters(false); clientPublicKeys = new RSAKeySet(); clientPublicKeys.n = pubKey.Modulus; clientPublicKeys.e = pubKey.Exponent; ObjectInfoSet toSend = new ObjectInfoSet(); toSend.data = new List <ObjectInfo>(); for (int i = 0; i < parents.Length; i++) { toSend.data.Add(new ObjectInfo(parents[i])); } opening = true; }