// get highscore entries public IEnumerator GetEntries() { // request data WWW www = new WWW(highscoreGetUrl); ReceiveState = HighscoreTransmissionState.Wait; yield return www; // get json response string json = null; LastGetHttpError = null; if (string.IsNullOrEmpty (www.error)) { json = www.text; ReceiveState = HighscoreTransmissionState.Success; } else { LastGetHttpError = "error: " + www.error; ReceiveState = HighscoreTransmissionState.Error; } // deserialize json response DeserializeModels (json); }
public IEnumerator PublishEntry(HighscoreEntryModel model) { var message = Serialize (model); // encrypt message var encryptionResult = EncryptionHelper.EncryptMessage (message, highscorePasswordBytes); var encryptedMessage = encryptionResult.EncryptedMessage; var rijndaelIv = encryptionResult.RijndaelIv; // append encrypted message and iv var bytesToSend = new List<byte> (); bytesToSend.AddRange (encryptedMessage); bytesToSend.AddRange (rijndaelIv); // send var bytesToSendBase64 = System.Convert.ToBase64String (bytesToSend.ToArray ()); WWWForm form = new WWWForm(); form.AddField("content", bytesToSendBase64); WWW www = new WWW(highscoreInsertUrl, form); SendState = HighscoreTransmissionState.Wait; yield return www; // process result if (string.IsNullOrEmpty (www.error)) { string serverResponseString = www.text; var serverResponse = TryDeserializeServerResponse(serverResponseString); if (serverResponse.State == ServerResponseState.Success) SendState = HighscoreTransmissionState.Success; else if (serverResponse.State == ServerResponseState.Warning) SendState = HighscoreTransmissionState.Warning; else SendState = HighscoreTransmissionState.Error; LastMessage = serverResponse.Message; } else { LastPublishHttpError = "error: " + www.error; SendState = HighscoreTransmissionState.Error; } }