Exemplo n.º 1
0
        private void UpdateMod()
        {
            if (!this.Uploading || this.uploadingMod == null || this.uploadCallback == null)
            {
                return;
            }
            SteamManager.logger.Info <string, ulong>("Updating mod '{0}' (ID: {1})", this.uploadingMod.mod, this.uploadingMod.id);
            this.uploadState = SteamManager.UploadState.Updating;
            UGCUpdateHandle_t uGCUpdateHandleT = SteamUGC.StartItemUpdate(this.AppId, new PublishedFileId_t(this.uploadingMod.id));

            SteamUGC.SetItemTitle(uGCUpdateHandleT, this.uploadingMod.title);
            SteamUGC.SetItemDescription(uGCUpdateHandleT, this.uploadingMod.header.Description);
            SteamUGC.SetItemTags(uGCUpdateHandleT, this.uploadingMod.tags);
            SteamUGC.SetItemVisibility(uGCUpdateHandleT, (ERemoteStoragePublishedFileVisibility)this.uploadingMod.visibility);
            string absoluteImagePath = this.uploadingMod.GetAbsoluteImagePath();

            if (!string.IsNullOrWhiteSpace(absoluteImagePath) && File.Exists(absoluteImagePath))
            {
                SteamUGC.SetItemPreview(uGCUpdateHandleT, absoluteImagePath);
            }
            SteamUGC.SetItemMetadata(uGCUpdateHandleT, this.uploadingMod.header.Version.ToString());
            SteamUGC.SetItemContent(uGCUpdateHandleT, this.uploadingMod.GetAbsoluteFolder());
            SteamAPICall_t steamAPICallT = SteamUGC.SubmitItemUpdate(uGCUpdateHandleT, this.uploadingMod.changeNotes);

            this.mOnSubmitItemUpdateResultCallResult.Set(steamAPICallT, null);
            this.uploadUpdateHandle = uGCUpdateHandleT;
        }
Exemplo n.º 2
0
        private void CreateMod()
        {
            SteamManager.logger.Info("Creating mod '{0}'", this.uploadingMod.mod);
            this.uploadState = SteamManager.UploadState.Creating;
            SteamAPICall_t steamAPICallT = SteamUGC.CreateItem(this.AppId, EWorkshopFileType.k_EWorkshopFileTypeFirst);

            this.mOnCreateItemResultCallResult.Set(steamAPICallT, null);
        }
Exemplo n.º 3
0
 private void BackgroundUpdateUpload()
 {
     while (this.updateEnabled && SteamManager.Instance.Uploading)
     {
         ulong num  = (ulong)0;
         ulong num1 = (ulong)0;
         SteamManager.UploadState uploadState = SteamManager.Instance.GetUploadState(out num, out num1);
         base.BeginInvoke(new MethodInvoker(() => this.updateUploadState(uploadState, num, num1)));
     }
 }
Exemplo n.º 4
0
        private void OnCreateItemResult(CreateItemResult_t pCallback, bool bIOFailure)
        {
            if (!this.Uploading || this.uploadingMod == null || this.uploadCallback == null)
            {
                return;
            }
            bool   flag  = true;
            string empty = string.Empty;

            if (bIOFailure)
            {
                flag  = false;
                empty = "Error creating workshop item. Error: I/O failure";
            }
            else if (pCallback.m_eResult == EResult.k_EResultInsufficientPrivilege)
            {
                flag  = false;
                empty = "Error creating workshop item. Error: The user creating the item is currently banned in the community.";
            }
            else if (pCallback.m_eResult == EResult.k_EResultTimeout)
            {
                flag  = false;
                empty = "Error creating workshop item. Error: Timeout.";
            }
            else if (pCallback.m_eResult == EResult.k_EResultNotLoggedOn)
            {
                flag  = false;
                empty = "Error creating workshop item. Error: The user is not currently logged into Steam.";
            }
            else if (pCallback.m_eResult != EResult.k_EResultOK)
            {
                flag  = false;
                empty = string.Format("Error creating workshop item. Error value: {0}", pCallback.m_eResult.ToString());
            }
            if (!flag)
            {
                SteamManager.logger.Error <string, string>("Error creating mod '{0}'. Info: {1}", this.uploadingMod.mod, empty);
                this.Uploading    = false;
                this.uploadingMod = null;
                this.uploadState  = SteamManager.UploadState.None;
                this.uploadCallback(false, empty);
                this.uploadCallback = null;
                return;
            }
            PublishedFileId_t mNPublishedFileId = pCallback.m_nPublishedFileId;

            this.publishedContent.Add(mNPublishedFileId);
            this.uploadingMod.id = mNPublishedFileId.m_PublishedFileId;
            this.uploadingMod.Save();
            SteamManager.logger.Info <string, ulong>("Created mod '{0}' successfully. ID: {1}", this.uploadingMod.mod, this.uploadingMod.id);
            this.UpdateMod();
        }
Exemplo n.º 5
0
        public void AbortUpload()
        {
            bool uploading = this.Uploading;

            SteamManager.logger.Info("Aborting upload");
            this.uploadState    = SteamManager.UploadState.Aborted;
            this.Uploading      = false;
            this.uploadCallback = null;
            this.mOnCreateItemResultCallResult.Cancel();
            this.mOnSubmitItemUpdateResultCallResult.Cancel();
            this.uploadingMod = null;
            this.uploadState  = SteamManager.UploadState.None;
        }
Exemplo n.º 6
0
        private void OnSubmitItemUpdateResult(SubmitItemUpdateResult_t pCallback, bool bIOFailure)
        {
            if (!this.Uploading || this.uploadingMod == null || this.uploadCallback == null)
            {
                return;
            }
            bool   flag  = true;
            string empty = string.Empty;

            if (bIOFailure)
            {
                flag  = false;
                empty = "Error updating workshop item. Error: I/O failure";
            }
            else if (pCallback.m_eResult == EResult.k_EResultInsufficientPrivilege)
            {
                flag  = false;
                empty = "Error updating workshop item. Error: The user creating the item is currently banned in the community.";
            }
            else if (pCallback.m_eResult == EResult.k_EResultTimeout)
            {
                flag  = false;
                empty = "Error updating workshop item. Error: Timeout.";
            }
            else if (pCallback.m_eResult == EResult.k_EResultNotLoggedOn)
            {
                flag  = false;
                empty = "Error updating workshop item. Error: The user is not currently logged into Steam.";
            }
            else if (pCallback.m_eResult != EResult.k_EResultOK)
            {
                flag  = false;
                empty = string.Format("Error updating workshop item. Error value: {0}", pCallback.m_eResult.ToString());
            }
            if (flag)
            {
                SteamManager.logger.Info <string, ulong>("Updated mod '{0}' successfully. ID: {1}", this.uploadingMod.mod, this.uploadingMod.id);
                this.Uploading    = false;
                this.uploadingMod = null;
                this.uploadCallback(true, string.Empty);
                this.uploadCallback = null;
                this.uploadState    = SteamManager.UploadState.None;
                return;
            }
            SteamManager.logger.Error <string, ulong, string>("Error updating mod '{0}' (ID: {1}). Info: {1}", this.uploadingMod.mod, this.uploadingMod.id, empty);
            this.Uploading    = false;
            this.uploadingMod = null;
            this.uploadState  = SteamManager.UploadState.None;
            this.uploadCallback(false, empty);
            this.uploadCallback = null;
        }
Exemplo n.º 7
0
 private void updateUploadState(SteamManager.UploadState state, ulong processedBytes, ulong totalBytes)
 {
     if (SteamManager.Instance.Uploading && state != SteamManager.UploadState.None)
     {
         this.pbUpload.Visible = true;
         if (totalBytes <= (long)0)
         {
             this.pbUpload.Value         = 0;
             this.lbUploadStatus.Visible = false;
         }
         else
         {
             this.pbUpload.Value         = (int)Math.Round(100 * ((double)((float)processedBytes) / (double)((float)totalBytes)));
             this.lbUploadStatus.Text    = string.Format("{0,0:0.##} KBs of {1,0:0.##} KBs", (double)((float)processedBytes) / 1024, (double)((float)totalBytes) / 1024);
             this.lbUploadStatus.Visible = true;
         }
         this.lbStatus.Text = (state == SteamManager.UploadState.Creating ? "正在创建..." : "正在上传...");
     }
 }