Esempio n. 1
0
        /// <summary>
        /// Uploads a players achievements for a session
        /// </summary>
        /// <returns>
        /// FizzyoRequestReturnType.SUCCESS is upload is successful.
        /// FizzyoRequestReturnType.FAILED_TO_CONNECT if connection failed.
        /// </returns>
        private FizzyoRequestReturnType PostAchievements()
        {
            if (FizzyoNetworking.loginResult != LoginReturnType.SUCCESS)
            {
                return(FizzyoRequestReturnType.FAILED_TO_CONNECT);
            }

            string achievementsToUpload = PlayerPrefs.GetString("achievementsToUpload");

            if (achievementsToUpload != "")
            {
                string[] achievementsToUploadArray = achievementsToUpload.Split(',');

                for (int i = 0; i < achievementsToUploadArray.Length; i++)
                {
                    if (achievementsToUploadArray[i] != "")
                    {
                        Dictionary <string, string> formData = new Dictionary <string, string>();
                        formData.Add("gameSecret", FizzyoFramework.Instance.FizzyoConfigurationProfile.GameSecret);
                        formData.Add("userId", FizzyoFramework.Instance.User.UserID);

                        var webRequest = FizzyoNetworking.PostWebRequest(FizzyoNetworking.ApiEndpoint + "games/" + FizzyoFramework.Instance.FizzyoConfigurationProfile.GameID + "/achievements/" + achievementsToUploadArray[i] + "/unlock", formData);
                        webRequest.SendWebRequest();

                        while (!webRequest.isDone)
                        {
                        }

                        if (webRequest.error != null)
                        {
                            return(FizzyoRequestReturnType.FAILED_TO_CONNECT);
                        }
                    }
                }
            }

            string achievementsToProgress = PlayerPrefs.GetString("achievementsToProgress");

            string[] achievementsToProgressArray = achievementsToProgress.Split(',');

            AllAchievementData allUserProgress = JsonUtility.FromJson <AllAchievementData>(PlayerPrefs.GetString(FizzyoFramework.Instance.User.UserID + "AchievementProgress"));
            AllAchievementData allAchievements = JsonUtility.FromJson <AllAchievementData>(PlayerPrefs.GetString("achievements"));

            // Add achievement progress to player preferences
            for (int i = 0; i < achievementsToProgressArray.Length; i++)
            {
                if (achievementsToProgressArray[i] != "")
                {
                    for (int j = 0; j < allUserProgress.achievements.Length; j++)
                    {
                        if (allUserProgress.achievements[j].id == achievementsToProgressArray[i])
                        {
                            for (int k = 0; k < allAchievements.achievements.Length; k++)
                            {
                                if (allUserProgress.achievements[j].id == allAchievements.achievements[k].id)
                                {
                                    allUserProgress.achievements[j].unlockProgress = allAchievements.achievements[k].unlockProgress;
                                    string newAllData = JsonUtility.ToJson(allUserProgress);
                                    PlayerPrefs.SetString(FizzyoFramework.Instance.User.UserID + "AchievementProgress", newAllData);
                                    break;
                                }
                            }

                            break;
                        }
                    }
                }
            }
            return(FizzyoRequestReturnType.SUCCESS);
        }
Esempio n. 2
0
        /// <summary>
        /// Uploads a players achievements for a session
        /// </summary>
        /// <returns>
        /// FizzyoRequestReturnType.SUCCESS is upload is successful.
        /// FizzyoRequestReturnType.FAILED_TO_CONNECT if connection failed.
        /// </returns>
        private FizzyoRequestReturnType PostAchievements() //is this method necessary!?
        {
            string achievementsToUpload = PlayerPrefs.GetString("achievementsToUpload");

            if (achievementsToUpload != "")
            {
                string[] achievementsToUploadArray = achievementsToUpload.Split(',');

                for (int i = 0; i < achievementsToUploadArray.Length; i++)
                {
                    if (achievementsToUploadArray[i] != "")
                    {
                        string postUnlock;

                        postUnlock = FizzyoFramework.Instance.apiPath + "api/v1/game/" + FizzyoFramework.Instance.gameID + "/achievements/" + achievementsToUploadArray[i] + "/unlock";

                        WWWForm form = new WWWForm();

                        form.AddField("gameSecret", FizzyoFramework.Instance.gameSecret);
                        form.AddField("userId", FizzyoFramework.Instance.User.UserID);

                        Dictionary <string, string> headers = form.headers;
                        headers["Authorization"] = "Bearer " + FizzyoFramework.Instance.User.AccessToken;
#if UNITY_UWP
                        headers.Add("User-Agent", " FizzyoClient " + FizzyoFramework.Instance.ClientVersion);
#endif
                        byte[] rawData = form.data;

                        WWW sendPostUnlock = new WWW(postUnlock, rawData, headers);

                        while (!sendPostUnlock.isDone)
                        {
                        }

                        if (sendPostUnlock.error != null)
                        {
                            return(FizzyoRequestReturnType.FAILED_TO_CONNECT);
                        }
                    }
                }
                PlayerPrefs.SetString("achievementsToUpload", ""); //once uploaded, reset the queue
            }

            string achievementsToProgress = PlayerPrefs.GetString("achievementsToProgress");

            string[] achievementsToProgressArray = achievementsToProgress.Split(',');

            AllAchievementData allUserProgress = JsonUtility.FromJson <AllAchievementData>(PlayerPrefs.GetString(FizzyoFramework.Instance.User.UserID + "AchievementProgress"));
            AllAchievementData allAchievements = JsonUtility.FromJson <AllAchievementData>(PlayerPrefs.GetString("achievements"));

            // Add achievement progress to player preferences
            for (int i = 0; i < achievementsToProgressArray.Length; i++)
            {
                if (achievementsToProgressArray[i] != "")
                {
                    for (int j = 0; j < allUserProgress.achievements.Length; j++)
                    {
                        if (allUserProgress.achievements[j].id == achievementsToProgressArray[i])
                        {
                            for (int k = 0; k < allAchievements.achievements.Length; k++)
                            {
                                if (allUserProgress.achievements[j].id == allAchievements.achievements[k].id)
                                {
                                    allUserProgress.achievements[j].unlockProgress = allAchievements.achievements[k].unlockProgress;
                                    string newAllData = JsonUtility.ToJson(allUserProgress);
                                    PlayerPrefs.SetString(FizzyoFramework.Instance.User.UserID + "AchievementProgress", newAllData);
                                    break;
                                }
                            }

                            break;
                        }
                    }
                }
            }
            return(FizzyoRequestReturnType.SUCCESS);
        }
Esempio n. 3
0
        /// <summary>
        /// Uploads a players achievements for a session
        /// </summary>
        /// <returns>
        /// FizzyoRequestReturnType.SUCCESS is upload is successful.
        /// FizzyoRequestReturnType.FAILED_TO_CONNECT if connection failed.
        /// </returns>
        private FizzyoRequestReturnType PostAchievements()
        {
            string achievementsToUpload = PlayerPrefs.GetString("achievementsToUpload");

            if (achievementsToUpload != "")
            {
                string[] achievementsToUploadArray = achievementsToUpload.Split(',');

                for (int i = 0; i < achievementsToUploadArray.Length; i++)
                {
                    if (achievementsToUploadArray[i] != "")
                    {
                        string postUnlock;

                        postUnlock = "https://api.fizzyo-ucl.co.uk/api/v1/game/" + FizzyoFramework.Instance.FizzyoConfigurationProfile.GameID + "/achievements/" + achievementsToUploadArray[i] + "/unlock";

                        WWWForm form = new WWWForm();

                        form.AddField("gameSecret", FizzyoFramework.Instance.FizzyoConfigurationProfile.GameSecret);
                        form.AddField("userId", FizzyoFramework.Instance.User.UserID);

                        Dictionary <string, string> headers = form.headers;
                        headers["Authorization"] = "Bearer " + FizzyoFramework.Instance.User.AccessToken;

                        byte[] rawData = form.data;

                        WWW sendPostUnlock = new WWW(postUnlock, rawData, headers);

                        while (!sendPostUnlock.isDone)
                        {
                        }

                        if (sendPostUnlock.error != null)
                        {
                            return(FizzyoRequestReturnType.FAILED_TO_CONNECT);
                        }
                    }
                }
            }

            string achievementsToProgress = PlayerPrefs.GetString("achievementsToProgress");

            string[] achievementsToProgressArray = achievementsToProgress.Split(',');

            AllAchievementData allUserProgress = JsonUtility.FromJson <AllAchievementData>(PlayerPrefs.GetString(FizzyoFramework.Instance.User.UserID + "AchievementProgress"));
            AllAchievementData allAchievements = JsonUtility.FromJson <AllAchievementData>(PlayerPrefs.GetString("achievements"));

            // Add achievement progress to player preferences
            for (int i = 0; i < achievementsToProgressArray.Length; i++)
            {
                if (achievementsToProgressArray[i] != "")
                {
                    for (int j = 0; j < allUserProgress.achievements.Length; j++)
                    {
                        if (allUserProgress.achievements[j].id == achievementsToProgressArray[i])
                        {
                            for (int k = 0; k < allAchievements.achievements.Length; k++)
                            {
                                if (allUserProgress.achievements[j].id == allAchievements.achievements[k].id)
                                {
                                    allUserProgress.achievements[j].unlockProgress = allAchievements.achievements[k].unlockProgress;
                                    string newAllData = JsonUtility.ToJson(allUserProgress);
                                    PlayerPrefs.SetString(FizzyoFramework.Instance.User.UserID + "AchievementProgress", newAllData);
                                    break;
                                }
                            }

                            break;
                        }
                    }
                }
            }
            return(FizzyoRequestReturnType.SUCCESS);
        }