private void CreatedWorkshopItem(CreateItemResult_t res, bool ioFailure) { runMT runMTCB = () => { if (res.m_bUserNeedsToAcceptWorkshopLegalAgreement) { MessageBox.Show("You must accept first the workshop legal agreement"); return; } // UGCUpdateHandle_t ugHandle = new UGCUpdateHandle_t(res.m_nPublishedFileId.m_PublishedFileId); UGCUpdateHandle_t ugHandle = SteamUGC.StartItemUpdate(app, res.m_nPublishedFileId); SteamUGC.SetItemTitle(ugHandle, contentTitle.Text); SteamUGC.SetItemDescription(ugHandle, contentDesc.Text); SteamUGC.SetItemPreview(ugHandle, (string)imagePath.Content); string runtimePath = AppDomain.CurrentDomain.BaseDirectory; if (!Directory.Exists(runtimePath + "Workshop")) { Directory.CreateDirectory(runtimePath + "Workshop"); } if (!Directory.Exists(runtimePath + "Workshop\\" + res.m_nPublishedFileId)) { Directory.CreateDirectory(runtimePath + "Workshop\\" + res.m_nPublishedFileId); } Guid localLowId = new Guid("A520A1A4-1780-4FF6-BD18-167343C5AF16"); string DataPath = GetKnownFolderPath(localLowId); DataPath += "\\Fustygame\\Hover\\Missions"; if (!Directory.Exists(System.IO.Path.GetDirectoryName(runtimePath + "Workshop\\" + res.m_nPublishedFileId + "\\" + SelectedFileName + ".xml"))) { Directory.CreateDirectory(System.IO.Path.GetDirectoryName(runtimePath + "Workshop\\" + res.m_nPublishedFileId + "\\" + SelectedFileName + ".xml")); } File.Copy(DataPath + "\\" + SelectedFileName + ".xml", runtimePath + "Workshop\\" + res.m_nPublishedFileId + "\\" + SelectedFileName + ".xml"); SteamUGC.SetItemContent(ugHandle, (runtimePath + "Workshop\\" + res.m_nPublishedFileId + "\\").Replace("\\", "/")); SteamUGC.SetItemTags(ugHandle, new List <string> { "Races" }); // Add language SteamUGC.SetItemVisibility(ugHandle, ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic); var steamCall = SteamUGC.SubmitItemUpdate(ugHandle, ""); p_workshopUpd = CallResult <SubmitItemUpdateResult_t> .Create(); p_workshopUpd.Set(steamCall, SubmitItemCallResult); MessageBox.Show("Submitting to Steam..."); _Missions.Clear(); //RefreshWorkshopList(); }; pending = runMTCB; }
private void SubmitItemCallResult(SubmitItemUpdateResult_t res, bool ioFailure) { runMT runMTCB = () => { if (res.m_eResult == EResult.k_EResultOK) { MessageBox.Show("Successfully sent to Steam"); } else { MessageBox.Show("Failed upload to Steam"); } }; pending = runMTCB; }