private IEnumerator RequestMissionData()
        {
            ProgressDialog progressDialog = ProgressDialog.Create("Fetching Missions");

            using (UnityWebRequest request = UnityWebRequest.Get(WebConfig.webAPI + "mission/get_missions.php"))
            {
                progressDialog.SetWebRequest(request);

                yield return(request.SendWebRequest());

                string error = WebConfig.GetErrorString(request);

                if (string.IsNullOrEmpty(error))
                {
                    // Success
                    MissionResponse response = MissionResponse.FromJson(request.downloadHandler.text);
                    m_Missions = response.missions;

                    PopulateMissions(m_MissionFilter);
                }
                else
                {
                    // Failure
                    Debug.Log(error);
                    InfoDialog.Create("", error.ToString());
                }
            }

            progressDialog.Close();
        }
Пример #2
0
        private IEnumerator RequestUpdateMission()
        {
            ProgressDialog progressDialog = ProgressDialog.Create("Updating Mission");

            // Perform request
            Dictionary <string, string> formData = new Dictionary <string, string>();

            formData.Add("UserID", AppController.localUser.userID.ToString());
            formData.Add("SessionToken", AppController.localUser.sessionToken);
            formData.Add("MissionID", missionData.missionID.ToString());
            formData.Add("MissionName", m_InputTitle.text);
            formData.Add("MissionDescription", m_InputDescription.text);
            formData.Add("GitHubLink", m_txtGitHub.text);

            using (UnityWebRequest request = UnityWebRequest.Post(WebConfig.webAPI + "mission/update_mission.php", formData))
            {
                progressDialog.SetWebRequest(request);

                yield return(request.SendWebRequest());

                string error = WebConfig.GetErrorString(request);

                if (string.IsNullOrEmpty(error))
                {
                    // Success
                    onUpdatedMissionCB?.Invoke();
                }
                else
                {
                    // Failure
                    Debug.Log(error);
                    InfoDialog.Create("", error.ToString());

                    if (WebConfig.DidSessionExpire(request))
                    {
                        AppController.LogOut();
                    }
                }
            }

            progressDialog.Close();
        }
Пример #3
0
        private IEnumerator RequestDeleteFile(string fileName)
        {
            ProgressDialog progressDialog = ProgressDialog.Create("Deleting File");

            // Perform request
            Dictionary <string, string> formData = new Dictionary <string, string>();

            formData.Add("UserID", AppController.localUser.userID.ToString());
            formData.Add("SessionToken", AppController.localUser.sessionToken);
            formData.Add("MissionID", missionData.missionID.ToString());
            formData.Add("FileName", fileName);

            using (UnityWebRequest request = UnityWebRequest.Post(WebConfig.webAPI + "mission/remove_file.php", formData))
            {
                progressDialog.SetWebRequest(request);

                yield return(request.SendWebRequest());

                string error = WebConfig.GetErrorString(request);

                if (string.IsNullOrEmpty(error))
                {
                    // Success
                    onUpdatedMissionCB?.Invoke();
                }
                else
                {
                    // Failure
                    Debug.Log(error);
                    InfoDialog.Create("", error.ToString());

                    if (WebConfig.DidSessionExpire(request))
                    {
                        AppController.LogOut();
                    }
                }
            }

            progressDialog.Close();
        }
Пример #4
0
        private IEnumerator RequestUploadFile(string filePath)
        {
            ProgressDialog progressDialog = ProgressDialog.Create("Uploading File");

            // Perform request
            List <IMultipartFormSection> multipartData = new List <IMultipartFormSection>();

            multipartData.Add(new MultipartFormDataSection("UserID", AppController.localUser.userID.ToString(), "form-data"));
            multipartData.Add(new MultipartFormDataSection("SessionToken", AppController.localUser.sessionToken, "form-data"));
            multipartData.Add(new MultipartFormDataSection("MissionID", missionData.missionID.ToString(), "form-data"));
            multipartData.Add(new MultipartFormFileSection("MissionFile", File.ReadAllBytes(filePath), Path.GetFileName(filePath), "file"));

            using (UnityWebRequest request = UnityWebRequest.Post(WebConfig.webAPI + "mission/add_file.php", multipartData))
            {
                progressDialog.SetWebRequest(request, true);

                yield return(request.SendWebRequest());

                string error = WebConfig.GetErrorString(request);

                if (string.IsNullOrEmpty(error))
                {
                    // Success
                    onUpdatedMissionCB?.Invoke();
                }
                else
                {
                    // Failure
                    Debug.Log(error);
                    InfoDialog.Create("", error.ToString());

                    if (WebConfig.DidSessionExpire(request))
                    {
                        AppController.LogOut();
                    }
                }
            }

            progressDialog.Close();
        }