コード例 #1
0
        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;
        }
コード例 #2
0
        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;
        }