Ejemplo n.º 1
0
        // 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);
        }
Ejemplo n.º 2
0
        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;
            }
        }