Exemple #1
0
 private static void CancelCallback(ref PolledCallback callback)
 {
     if (callback != null)
     {
         callback.Cancel();
     }
 }
Exemple #2
0
            public UpdateParamErrors[] UpdateItem(WorkshopItemInfo item, string changeNotes = "")
            {
                AssertDisposed();

                var fileID = item.fileID;

                NativeMethods.Workshop_StartItemUpdate(pointer, fileID);
                List <UpdateParamErrors> errors = new List <UpdateParamErrors>();

                if (!NativeMethods.Workshop_SetItemTitle(pointer, item.title))
                {
                    errors.Add(UpdateParamErrors.TITLE);
                }

                if (!NativeMethods.Workshop_SetItemDescription(pointer, item.description))
                {
                    errors.Add(UpdateParamErrors.DESCRIPTION);
                }

                if (!NativeMethods.Workshop_SetItemUpdateLanguage(pointer, item.updateLanguage))
                {
                    errors.Add(UpdateParamErrors.LANGUAGE);
                }

                if (!NativeMethods.Workshop_SetItemMetadata(pointer, item.meta))
                {
                    errors.Add(UpdateParamErrors.META);
                }

                if (!NativeMethods.Workshop_SetItemVisibility(pointer, item.visibility))
                {
                    errors.Add(UpdateParamErrors.VISIBILITY);
                }

                if (!NativeMethods.Workshop_SetItemTags(pointer, item.tags.ToArray(), item.tags.Count))
                {
                    errors.Add(UpdateParamErrors.TAGS);
                }

                if (!NativeMethods.Workshop_SetItemContent(pointer, item.contentFolderPath))
                {
                    errors.Add(UpdateParamErrors.CONTENT_PATH);
                }

                if (!NativeMethods.Workshop_SetItemPreview(pointer, item.previewImagePath))
                {
                    errors.Add(UpdateParamErrors.PREVIEW_PATH);
                }

                if (errors.Count == 0)
                {
                    NativeMethods.Workshop_SubmitItemUpdate(pointer, changeNotes);

                    CancelCallback(ref polledCallback);
                    polledCallback = WaitForDone(this, OnSubmitItem);
                }

                return(errors.ToArray());
            }