public static void RequestSetKeyImage(this Version version, IPublisherAPI api, VersionDetailed.Package.Version.Language language, string path, string type, Action <RequestResponse <string> > onCompleted = null) { api.SetKeyImage(version.id, language.languageCode, path, type, (r, result) => { RequestResponse <string> requestResponse = new RequestResponse <string>() { context = version, ok = false, error = null, result = null }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null && response.Succeeded == true) { requestResponse.ok = true; requestResponse.result = response.url; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void RequestSubmit(this Version version, IPublisherAPI api, bool autoPublish, string comments, Action <RequestResponse <string> > onCompleted = null) { api.Submit(version.id, autoPublish, comments, (r, result) => { RequestResponse <string> requestResponse = new RequestResponse <string>() { context = version, ok = false, error = null, result = null }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null && response.Succeeded == true) { requestResponse.ok = true; requestResponse.result = response.url; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void RequestAddLanguage(this Version version, IPublisherAPI api, string languageCode, Action <RequestResponse <bool> > onCompleted = null) { api.AddLanguage(version.id, languageCode, version.name, (r, result) => { RequestResponse <bool> requestResponse = new RequestResponse <bool>() { context = version, ok = false, error = null, result = false }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null && response.Succeeded == true) { requestResponse.ok = true; requestResponse.result = true; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void CreateVoucher(this PublisherDatabase database, IPublisherAPI api, Package package, Action <RequestResponse <Voucher> > onCompleted = null) { api.CreateVoucher(api.Session.publisher, package.id, (r, result) => { RequestResponse <Voucher> requestResponse = new RequestResponse <Voucher>() { context = package, ok = false, error = null, result = null }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } InternalNGDebug.Snapshot(response.errors); if (response != null && response.Succeeded == true) { Voucher voucher = new Voucher() { voucherCode = response.voucher_code, package = package.name, issuedBy = api.Session.name, issuedDate = DateTime.Now.ToString("yyyy-MM-dd"), invoice = string.Empty, redeemedDate = string.Empty }; requestResponse.ok = true; requestResponse.result = voucher; Voucher[] array = database.Vouchers; Array.Resize(ref array, database.Vouchers.Length + 1); array[array.Length - 1] = voucher; database.Vouchers = array; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void RequestDeleteDraft(this Version version, IPublisherAPI api, Action <RequestResponse <bool> > onCompleted = null) { Debug.Assert(version.status == Status.Draft); api.DeleteDraft(version.id, (r, result) => { RequestResponse <bool> requestResponse = new RequestResponse <bool>() { context = version, ok = false, error = null, result = false }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null && response.Succeeded == true) { Package package = version.package; List <Version> list = new List <Version>(package.versions); for (int j = 0, max2 = list.Count; j < max2; ++j) { if (list[j].id == version.id) { list.RemoveAt(j); break; } } package.versions = list.ToArray(); requestResponse.ok = true; requestResponse.result = true; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void RequestDeleteUnityPackage(this Version version, IPublisherAPI api, VersionDetailed.Package.Version.UnityPackage unityPackage, Action <RequestResponse <bool> > onCompleted = null) { api.DeleteUnityPackage(version.id, unityPackage, (r, result) => { RequestResponse <bool> requestResponse = new RequestResponse <bool>() { context = version, ok = false, error = null, result = false }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null && response.Succeeded == true) { var unityPackages = new List <VersionDetailed.Package.Version.UnityPackage>(version.detailed.package.version.unitypackages); unityPackages.Remove(unityPackage); version.detailed.package.version.unitypackages = unityPackages.ToArray(); requestResponse.ok = true; requestResponse.result = true; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void RequestVetVersion(this Version version, IPublisherAPI api, VersionDetailed.Package.Version.UnityPackage unityPackage, IEnumerable <string> platforms, IEnumerable <string> unityVersions, IEnumerable <string> srpTypes, IEnumerable <string> dependencies, Action <RequestResponse <bool> > onCompleted = null) { api.VetVersion(version.id, unityPackage.package_upload_id, platforms, unityVersions, srpTypes, dependencies, (r, result) => { RequestResponse <bool> requestResponse = new RequestResponse <bool>() { context = version, ok = false, error = null, result = false }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null && response.Succeeded == true) { requestResponse.ok = true; requestResponse.result = true; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
#pragma warning restore 649 public static void RequestAllPackages(this PublisherDatabase database, IPublisherAPI api, Action <RequestResponse <Package[]> > onCompleted = null) { api.GetAllPackages((r, result) => { RequestResponse <Package[]> requestResponse = new RequestResponse <Package[]>() { context = database, ok = false, error = null, result = null }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response == null || response.Succeeded == true) { Packages packagesContainer = JsonUtility.FromJson <Packages>(result); List <Package> packages = new List <Package>(packagesContainer.packages); packages.Sort((a, b) => a.name.CompareTo(b.name)); requestResponse.ok = true; requestResponse.result = packages.ToArray(); database.Packages = requestResponse.result; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void RequestSetPackage(this Version version, IPublisherAPI api, string versionName, string publishnotes, int categoryID, float price, Action <RequestResponse <bool> > onCompleted = null) { api.SetPackage(version.id, versionName, publishnotes, categoryID, price, (r, result) => { RequestResponse <bool> requestResponse = new RequestResponse <bool>() { context = version, ok = false, error = null, result = false }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null && response.Succeeded == true) { requestResponse.ok = true; requestResponse.result = true; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void RequestSetPackageMetadata(this Version version, IPublisherAPI api, VersionDetailed.Package.Version.Language language, string name, string description, string keywords, Action <RequestResponse <bool> > onCompleted = null) { api.SetPackageMetadata(version.id, language.languageCode, name, description, keywords, (r, result) => { RequestResponse <bool> requestResponse = new RequestResponse <bool>() { context = version, ok = false, error = null, result = false }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null && response.Succeeded == true) { requestResponse.ok = true; requestResponse.result = true; } } if (onCompleted != null) { onCompleted(requestResponse); } }); }
public static void RequestCreateDraft(this Version version, IPublisherAPI api, Action <RequestResponse <int> > onCompleted = null) { api.CreateDraft(version.id, (r, result) => { RequestResponse <int> requestResponse = new RequestResponse <int>() { context = version, ok = false, error = null, result = 0 }; if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true) { Response response = DataStructureExtension.CheckResponse(result, requestResponse); if (Conf.DebugMode == Conf.DebugState.Verbose) { InternalNGDebug.Snapshot(response); } if (response != null) { if (response.Succeeded == true) { Package package = version.package; Version model = null; // Pick a model, published if available. Even without, Unity might do it automatically on its side. Not sure though. for (int i = 0, max = package.versions.Length; i < max; ++i) { Version v = package.versions[i]; if (model == null || v.status == Status.Published) { model = v; } } string modelJson = JsonUtility.ToJson(model); model = new Version(); model.package = package; JsonUtility.FromJsonOverwrite(modelJson, model); model.id = response.id; model.status = Status.Draft; DateTime now = DateTime.Now; model.created = now.Year.ToString("0000") + "-" + now.Month.ToString("00") + "-" + now.Day.ToString("00") + " " + now.Hour.ToString("00") + ":" + now.Minute.ToString("00") + ":" + now.Second.ToString("00"); model.modified = model.created; model.published = string.Empty; Array.Resize(ref package.versions, package.versions.Length + 1); package.versions[package.versions.Length - 1] = model; requestResponse.ok = true; requestResponse.result = response.id; } } } if (onCompleted != null) { onCompleted(requestResponse); } }); }