private static void OnItemCreated(CreateItemResult_t result, bool IOFailure) { if (IOFailure || result.m_eResult != EResult.k_EResultOK) { Workshop.uploadingHook = null; Dialog_WorkshopOperationInProgress.CloseAll(); Log.Error("Workshop: OnItemCreated failure. Result: " + result.m_eResult.GetLabel()); Find.WindowStack.Add(new Dialog_MessageBox("WorkshopSubmissionFailed".Translate(GenText.SplitCamelCase(result.m_eResult.GetLabel())), null, null, null, null, null, false)); } else { Workshop.uploadingHook.PublishedFileId = result.m_nPublishedFileId; if (Prefs.LogVerbose) { Log.Message("Workshop: Item created. PublishedFileId: " + Workshop.uploadingHook.PublishedFileId); } Workshop.curUpdateHandle = SteamUGC.StartItemUpdate(SteamUtils.GetAppID(), Workshop.uploadingHook.PublishedFileId); Workshop.SetWorkshopItemDataFrom(Workshop.curUpdateHandle, Workshop.uploadingHook, true); Workshop.curStage = WorkshopInteractStage.SubmittingItem; if (Prefs.LogVerbose) { Log.Message("Workshop: Submitting item."); } SteamAPICall_t hAPICall = SteamUGC.SubmitItemUpdate(Workshop.curUpdateHandle, "[Auto-generated text]: Initial upload."); Workshop.submitResult = CallResult <SubmitItemUpdateResult_t> .Create(Workshop.OnItemSubmitted); Workshop.submitResult.Set(hAPICall, null); Workshop.createResult = null; } }
internal static void Upload(WorkshopUploadable item) { if (Workshop.curStage != WorkshopInteractStage.None) { Messages.Message("UploadAlreadyInProgress".Translate(), MessageTypeDefOf.RejectInput, false); } else { Workshop.uploadingHook = item.GetWorkshopItemHook(); if (Workshop.uploadingHook.PublishedFileId != PublishedFileId_t.Invalid) { if (Prefs.LogVerbose) { Log.Message(string.Concat(new object[] { "Workshop: Starting item update for mod '", Workshop.uploadingHook.Name, "' with PublishedFileId ", Workshop.uploadingHook.PublishedFileId }), false); } Workshop.curStage = WorkshopInteractStage.SubmittingItem; Workshop.curUpdateHandle = SteamUGC.StartItemUpdate(SteamUtils.GetAppID(), Workshop.uploadingHook.PublishedFileId); Workshop.SetWorkshopItemDataFrom(Workshop.curUpdateHandle, Workshop.uploadingHook, false); SteamAPICall_t hAPICall = SteamUGC.SubmitItemUpdate(Workshop.curUpdateHandle, "[Auto-generated text]: Update on " + DateTime.Now.ToString() + "."); if (Workshop.< > f__mg$cache3 == null) { Workshop.< > f__mg$cache3 = new CallResult <SubmitItemUpdateResult_t> .APIDispatchDelegate(Workshop.OnItemSubmitted); } Workshop.submitResult = CallResult <SubmitItemUpdateResult_t> .Create(Workshop.< > f__mg$cache3); Workshop.submitResult.Set(hAPICall, null); } else { if (Prefs.LogVerbose) { Log.Message("Workshop: Starting item creation for mod '" + Workshop.uploadingHook.Name + "'.", false); } Workshop.curStage = WorkshopInteractStage.CreatingItem; SteamAPICall_t hAPICall2 = SteamUGC.CreateItem(SteamUtils.GetAppID(), EWorkshopFileType.k_EWorkshopFileTypeFirst); if (Workshop.< > f__mg$cache4 == null) { Workshop.< > f__mg$cache4 = new CallResult <CreateItemResult_t> .APIDispatchDelegate(Workshop.OnItemCreated); } Workshop.createResult = CallResult <CreateItemResult_t> .Create(Workshop.< > f__mg$cache4); Workshop.createResult.Set(hAPICall2, null); } Find.WindowStack.Add(new Dialog_WorkshopOperationInProgress()); } }