Esempio n. 1
0
        /// <summary>Shows the message dialog using the given settings.</summary>
        public void ShowMessageDialog(MessageDialog.Data messageData)
        {
            if (this.m_messageDialog == null)
            {
                return;
            }

            this.m_messageDialog.ApplyData(messageData);

            this.FocusView(this.m_messageDialog);
        }
Esempio n. 2
0
        /// <summary>Callback for a successful report submission.</summary>
        private void OnReportSuccessful(APIMessage response)
        {
            var messageData = new MessageDialog.Data()
            {
                header  = "Report Submission Status",
                message = "Report submission successful.\n" + response.message,
                standardButtonCallback = () =>
                {
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.reportDialog);
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                },
                standardButtonText = "Done",
                onClose            = () =>
                {
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.reportDialog);
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                },
            };

            ViewManager.instance.ShowMessageDialog(messageData);
        }
Esempio n. 3
0
        /// <summary>Attempts to unsubscribe from the currently displayed mod.</summary>
        public void AttemptUnsubscribe()
        {
            if (this.m_profile != null)
            {
                Action doUnsub = () =>
                {
                    ModBrowser.instance.UnsubscribeFromMod(this.m_profile.id);
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                };

                Action cancelUnsub = () =>
                {
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                };

                Action onClose = () =>
                {
                    bool isSubbed = LocalUser.SubscribedModIds.Contains(this.m_profile.id);
                    foreach (var subDisplay in this.gameObject.GetComponentsInChildren <ModSubscribedDisplay>())
                    {
                        subDisplay.DisplayModSubscribed(this.m_profile.id, isSubbed);
                    }
                };

                var messageData = new MessageDialog.Data()
                {
                    header  = "Unsubscribe Confirmation",
                    message = ("Do you wish to unsubscribe from " + this.m_profile.name
                               + " and uninstall it from your system?"),
                    warningButtonText      = "Unsubscribe",
                    warningButtonCallback  = doUnsub,
                    standardButtonText     = "Cancel",
                    standardButtonCallback = cancelUnsub,
                    onClose = onClose,
                };

                ViewManager.instance.ShowMessageDialog(messageData);
            }
        }
Esempio n. 4
0
        /// <summary>Callback for a failed report submission.</summary>
        private void OnReportFailed(WebRequestError error)
        {
            var messageData = new MessageDialog.Data()
            {
                header  = "Report Submission Status",
                message = ("Report submission failed.\n"
                           + error.displayMessage
                           + "\n[Error Code: " + error.webRequest.responseCode.ToString() + "]"),
                standardButtonCallback = () =>
                {
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.reportDialog);
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                },
                standardButtonText = "Done",
                onClose            = () =>
                {
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.reportDialog);
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                },
            };

            ViewManager.instance.ShowMessageDialog(messageData);
        }
Esempio n. 5
0
        /// <summary>Creates a report using information in the input fields and submits.</summary>
        public void SubmitReport()
        {
            var reportParams = new ModIO.API.SubmitReportParameters();
            var messageData  = new MessageDialog.Data();

            reportParams.resource = EditableReport.ResourceTypeToAPIString(ReportDialog.RESOURCE_TYPE);

            // check mod id
            if (this.m_modId <= 0)
            {
                messageData.header  = "Error Submitting Report";
                messageData.message = "The submission process encountered an error.\n[Error: Invalid mod id]";
                messageData.standardButtonCallback = () =>
                {
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.reportDialog);
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                };
                messageData.standardButtonText = "Back";
                messageData.onClose            = () =>
                {
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.reportDialog);
                    ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                };

                return;
            }
            reportParams.id = this.m_modId;

            // check report type
            ReportType type;

            if (!this.dropdown.TryGetSelectedValue(out type))
            {
                messageData.header  = "Error Submitting Report";
                messageData.message = "A report type needs to be selected from the dropdown options.";
                messageData.standardButtonCallback = () => ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                messageData.standardButtonText     = "Back";

                ViewManager.instance.ShowMessageDialog(messageData);

                return;
            }
            reportParams.type = type;

            // check email
            string email = this.contactEmailField.text;

            if (!string.IsNullOrEmpty(email) &&
                !Utility.IsEmail(email))
            {
                messageData.header  = "Error Submitting Report";
                messageData.message = "Please enter a valid email address or leave the field empty.";
                messageData.standardButtonCallback = () => ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
                messageData.standardButtonText     = "Back";

                ViewManager.instance.ShowMessageDialog(messageData);

                return;
            }
            reportParams.contact = email;

            // get simple inputs
            reportParams.summary = this.detailsField.text;
            reportParams.name    = this.contactNameField.text;

            // Create sending message dialog
            messageData.header  = "Report Submission Status";
            messageData.message = "Please wait while we submit your report.";
            messageData.onClose = () =>
            {
                ViewManager.instance.CloseWindowedView(ViewManager.instance.reportDialog);
                ViewManager.instance.CloseWindowedView(ViewManager.instance.messageDialog);
            };
            messageData.standardButtonText = "...";
            ViewManager.instance.ShowMessageDialog(messageData);

            // Submit
            APIClient.SubmitReport(reportParams,
                                   this.OnReportSuccessful,
                                   this.OnReportFailed);
        }