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; }
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); }
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))); } }
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(); }
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; }
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; }
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 ? "正在创建..." : "正在上传..."); } }