/// <summary>Submits changes to a mod to the server.</summary> public void SubmitModChanges(int modId, EditableModProfile modEdits) { Debug.Assert(modId != ModProfile.NULL_ID); this.eModProfile = modEdits; if (this.eModProfile.status.isDirty || this.eModProfile.visibility.isDirty || this.eModProfile.name.isDirty || this.eModProfile.nameId.isDirty || this.eModProfile.summary.isDirty || this.eModProfile.descriptionAsHTML.isDirty || this.eModProfile.homepageURL.isDirty || this.eModProfile.metadataBlob.isDirty) { var parameters = new EditModParameters(); if (this.eModProfile.status.isDirty) { parameters.status = this.eModProfile.status.value; } if (this.eModProfile.visibility.isDirty) { parameters.visibility = this.eModProfile.visibility.value; } if (this.eModProfile.name.isDirty) { parameters.name = this.eModProfile.name.value; } if (this.eModProfile.nameId.isDirty) { parameters.nameId = this.eModProfile.nameId.value; } if (this.eModProfile.summary.isDirty) { parameters.summary = this.eModProfile.summary.value; } if (this.eModProfile.descriptionAsHTML.isDirty) { parameters.descriptionAsHTML = this.eModProfile.descriptionAsHTML.value; } if (this.eModProfile.homepageURL.isDirty) { parameters.homepageURL = this.eModProfile.homepageURL.value; } if (this.eModProfile.metadataBlob.isDirty) { parameters.metadataBlob = this.eModProfile.metadataBlob.value; } APIClient.EditMod(modId, parameters, this.SubmitModChanges_Internal, this.onError); } // - Get updated ModProfile - else { ModManager.GetModProfile(modId, this.SubmitModChanges_Internal, this.onError); } }
public static void SubmitModChanges(int modId, EditableModProfile modEdits, Action <ModProfile> modSubmissionSucceeded, Action <WebRequestError> modSubmissionFailed) { Debug.Assert(modId > 0); Action <ModProfile> submitChanges = (profile) => { if (modEdits.status.isDirty || modEdits.visibility.isDirty || modEdits.name.isDirty || modEdits.nameId.isDirty || modEdits.summary.isDirty || modEdits.description.isDirty || modEdits.homepageURL.isDirty || modEdits.metadataBlob.isDirty) { var parameters = new EditModParameters(); if (modEdits.status.isDirty) { parameters.status = modEdits.status.value; } if (modEdits.visibility.isDirty) { parameters.visibility = modEdits.visibility.value; } if (modEdits.name.isDirty) { parameters.name = modEdits.name.value; } if (modEdits.nameId.isDirty) { parameters.nameId = modEdits.nameId.value; } if (modEdits.summary.isDirty) { parameters.summary = modEdits.summary.value; } if (modEdits.description.isDirty) { parameters.description = modEdits.description.value; } if (modEdits.homepageURL.isDirty) { parameters.homepageURL = modEdits.homepageURL.value; } if (modEdits.metadataBlob.isDirty) { parameters.metadataBlob = modEdits.metadataBlob.value; } APIClient.EditMod(modId, parameters, (p) => SubmitModProfileComponents(profile, modEdits, modSubmissionSucceeded, modSubmissionFailed), modSubmissionFailed); } // - Get updated ModProfile - else { SubmitModProfileComponents(profile, modEdits, modSubmissionSucceeded, modSubmissionFailed); } }; ModManager.GetModProfile(modId, submitChanges, modSubmissionFailed); }