/// <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); }
/// <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); }
/// <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); } }
/// <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); }
/// <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); }