Exemple #1
0
 internal ModEditor(KMod.Mod target)
 {
     if (target == null)
     {
         throw new ArgumentNullException("target");
     }
     if (target.label.distribution_platform != KMod.Label.DistributionPlatform.Steam)
     {
         throw new ArgumentException("Only works on Steam mods");
     }
     if (!ulong.TryParse(target.label.id, out ulong id))
     {
         throw new ArgumentException("Invalid Steam mod ID!");
     }
     if (!MOD_DETAILS.TryGetValue(id, out details))
     {
         details.m_ulSteamIDOwner   = ulong.MaxValue;
         details.m_nPublishedFileId = new PublishedFileId_t(id);
     }
     DataPath     = Description = PreviewPath = PatchInfo = Title = null;
     Mod          = target;
     updateCaller = new CallResult <RemoteStorageUpdatePublishedFileResult_t>(
         OnUpdateDone);
     uploadCaller = new CallResult <RemoteStorageFileWriteAsyncComplete_t>();
     updateHandle = PublishedFileUpdateHandle_t.Invalid;
 }
 public static bool UpdatePublishedFileVisibility(PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility)
 {
     InteropHelp.TestIfAvailableClient();
     return NativeMethods.ISteamRemoteStorage_UpdatePublishedFileVisibility(updateHandle, eVisibility);
 }
 public static SteamAPICall_t CommitPublishedFileUpdate(PublishedFileUpdateHandle_t updateHandle)
 {
     InteropHelp.TestIfAvailableClient();
     return (SteamAPICall_t)NativeMethods.ISteamRemoteStorage_CommitPublishedFileUpdate(updateHandle);
 }
 public static bool UpdatePublishedFileTags(PublishedFileUpdateHandle_t updateHandle, IList<string> pTags)
 {
     InteropHelp.TestIfAvailableClient();
     return NativeMethods.ISteamRemoteStorage_UpdatePublishedFileTags(updateHandle, new InteropHelp.SteamParamStringArray(pTags));
 }
 public static bool UpdatePublishedFileTitle(PublishedFileUpdateHandle_t updateHandle, string pchTitle)
 {
     InteropHelp.TestIfAvailableClient();
     bool result;
     using (InteropHelp.UTF8StringHandle uTF8StringHandle = new InteropHelp.UTF8StringHandle(pchTitle))
     {
         result = NativeMethods.ISteamRemoteStorage_UpdatePublishedFileTitle(updateHandle, uTF8StringHandle);
     }
     return result;
 }
	private void RenderPageTwo() {
		if (GUILayout.Button("UGCDownload(m_UGCHandle, 0)")) {
			SteamAPICall_t handle = SteamRemoteStorage.UGCDownload(m_UGCHandle, 0);
			RemoteStorageDownloadUGCResult.Set(handle);
			print("UGCDownload(" + m_UGCHandle + ", 0) - " + handle);
		}

		{
			int BytesDownloaded;
			int BytesExpected;
			bool ret = SteamRemoteStorage.GetUGCDownloadProgress(m_UGCHandle, out BytesDownloaded, out BytesExpected);
			GUILayout.Label("GetUGCDownloadProgress(m_UGCHandle, out BytesDownloaded, out BytesExpected) : " + ret + " -- " + BytesDownloaded + " -- " + BytesExpected);
		}

		// Spams warnings if called with an empty handle
		if (m_UGCHandle != (UGCHandle_t)0) {
			AppId_t AppID;
			string Name;
			CSteamID SteamIDOwner;
			bool ret = SteamRemoteStorage.GetUGCDetails(m_UGCHandle, out AppID, out Name, out m_FileSizeInBytes, out SteamIDOwner);
			GUILayout.Label("GetUGCDetails(m_UGCHandle, out AppID, Name, out FileSizeInBytes, out SteamIDOwner) : " + ret + " -- " + AppID + " -- " + Name + " -- " + m_FileSizeInBytes + " -- " + SteamIDOwner);
		}
		else {
			GUILayout.Label("GetUGCDetails(m_UGCHandle, out AppID, Name, out FileSizeInBytes, out SteamIDOwner) : ");
		}
		
		if (GUILayout.Button("UGCRead(m_UGCHandle, Data, m_FileSizeInBytes, 0, EUGCReadAction.k_EUGCRead_Close)")) {
			byte[] Data = new byte[m_FileSizeInBytes];
			int ret = SteamRemoteStorage.UGCRead(m_UGCHandle, Data, m_FileSizeInBytes, 0, EUGCReadAction.k_EUGCRead_Close);
			print("UGCRead(" + m_UGCHandle + ", Data, m_FileSizeInBytes, 0, EUGCReadAction.k_EUGCRead_Close) - " + ret + " -- " + System.Text.Encoding.UTF8.GetString(Data, 0, ret));
		}

		GUILayout.Label("GetCachedUGCCount() : " + SteamRemoteStorage.GetCachedUGCCount());
		GUILayout.Label("GetCachedUGCHandle(0) : " + SteamRemoteStorage.GetCachedUGCHandle(0));

#if _PS3 || _SERVER
		//GUILayout.Label(" : " + SteamRemoteStorage.GetFileListFromServer());
		//GUILayout.Label(" : " + SteamRemoteStorage.FileFetch(string pchFile));
		//GUILayout.Label(" : " + SteamRemoteStorage.FilePersist(string pchFile));
		//GUILayout.Label(" : " + SteamRemoteStorage.SynchronizeToClient());
		//GUILayout.Label(" : " + SteamRemoteStorage.SynchronizeToServer());
		//GUILayout.Label(" : " + SteamRemoteStorage.ResetFileRequestState());
#endif

		if (GUILayout.Button("PublishWorkshopFile([...])")) {
			string[] Tags = { "Test1", "Test2", "Test3" };
			SteamAPICall_t handle = SteamRemoteStorage.PublishWorkshopFile(MESSAGE_FILE_NAME, null, SteamUtils.GetAppID(), "Title!", "Description!", ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic, Tags, EWorkshopFileType.k_EWorkshopFileTypeCommunity);
			RemoteStoragePublishFileResult.Set(handle);
			print("PublishWorkshopFile(" + MESSAGE_FILE_NAME + ", null, " + SteamUtils.GetAppID() + ", \"Title!\", \"Description!\", k_ERemoteStoragePublishedFileVisibilityPublic, SteamParamStringArray(list), k_EWorkshopFileTypeCommunity)");
		}

		if (GUILayout.Button("CreatePublishedFileUpdateRequest(m_PublishedFileId)")) {
			m_PublishedFileUpdateHandle = SteamRemoteStorage.CreatePublishedFileUpdateRequest(m_PublishedFileId);
			print("CreatePublishedFileUpdateRequest(" + m_PublishedFileId + ") - " + m_PublishedFileUpdateHandle);
		}

		if (GUILayout.Button("UpdatePublishedFileFile(m_PublishedFileUpdateHandle, MESSAGE_FILE_NAME)")) {
			bool ret = SteamRemoteStorage.UpdatePublishedFileFile(m_PublishedFileUpdateHandle, MESSAGE_FILE_NAME);
			print("UpdatePublishedFileFile(" + m_PublishedFileUpdateHandle + ", " + MESSAGE_FILE_NAME + ") - " + ret);
		}

		if (GUILayout.Button("UpdatePublishedFilePreviewFile(m_PublishedFileUpdateHandle, null)")) {
			bool ret = SteamRemoteStorage.UpdatePublishedFilePreviewFile(m_PublishedFileUpdateHandle, null);
			print("UpdatePublishedFilePreviewFile(" + m_PublishedFileUpdateHandle + ", " + null + ") - " + ret);
		}

		if (GUILayout.Button("UpdatePublishedFileTitle(m_PublishedFileUpdateHandle, \"New Title\")")) {
			bool ret = SteamRemoteStorage.UpdatePublishedFileTitle(m_PublishedFileUpdateHandle, "New Title");
			print("UpdatePublishedFileTitle(" + m_PublishedFileUpdateHandle + ", \"New Title\") - " + ret);
		}

		if (GUILayout.Button("UpdatePublishedFileDescription(m_PublishedFileUpdateHandle, \"New Description\")")) {
			bool ret = SteamRemoteStorage.UpdatePublishedFileDescription(m_PublishedFileUpdateHandle, "New Description");
			print("UpdatePublishedFileDescription(" + m_PublishedFileUpdateHandle + ", \"New Description\") - " + ret);
		}

		if (GUILayout.Button("UpdatePublishedFileVisibility(m_PublishedFileUpdateHandle, k_ERemoteStoragePublishedFileVisibilityPublic)")) {
			bool ret = SteamRemoteStorage.UpdatePublishedFileVisibility(m_PublishedFileUpdateHandle, ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic);
			print("UpdatePublishedFileVisibility(" + m_PublishedFileUpdateHandle + ", " + ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic + ") - " + ret);
		}

		if (GUILayout.Button("UpdatePublishedFileTags(m_PublishedFileUpdateHandle, new string[] {\"First\", \"Second\", \"Third\"})")) {
			bool ret = SteamRemoteStorage.UpdatePublishedFileTags(m_PublishedFileUpdateHandle, new string[] {"First", "Second", "Third"});
			print("UpdatePublishedFileTags(" + m_PublishedFileUpdateHandle + ", " + new string[] { "First", "Second", "Third" } + ") - " + ret);
		}
				
		if(GUILayout.Button("CommitPublishedFileUpdate(m_PublishedFileUpdateHandle)")) {
			SteamAPICall_t handle = SteamRemoteStorage.CommitPublishedFileUpdate(m_PublishedFileUpdateHandle);
			RemoteStorageUpdatePublishedFileResult.Set(handle);
			print("CommitPublishedFileUpdate(" + m_PublishedFileUpdateHandle + ") - " + handle);
		}

		if (GUILayout.Button("GetPublishedFileDetails(m_PublishedFileId, 0)")) {
			SteamAPICall_t handle = SteamRemoteStorage.GetPublishedFileDetails(m_PublishedFileId, 0);
			RemoteStorageGetPublishedFileDetailsResult.Set(handle);
			print("GetPublishedFileDetails(" + m_UGCHandle + ", 0) - " + handle);
		}

		if (GUILayout.Button("DeletePublishedFile(m_PublishedFileId)")) {
			SteamAPICall_t handle = SteamRemoteStorage.DeletePublishedFile(m_PublishedFileId);
			RemoteStorageDeletePublishedFileResult.Set(handle);
			print("DeletePublishedFile(" + m_PublishedFileId + ") - " + handle);
		}

		if (GUILayout.Button("EnumerateUserPublishedFiles(0)")) {
			SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserPublishedFiles(0);
			RemoteStorageEnumerateUserPublishedFilesResult.Set(handle);
			print("EnumerateUserPublishedFiles(0) - " + handle);
		}

		if (GUILayout.Button("SubscribePublishedFile(m_PublishedFileId)")) {
			SteamAPICall_t handle = SteamRemoteStorage.SubscribePublishedFile(m_PublishedFileId);
			RemoteStorageSubscribePublishedFileResult.Set(handle);
			print("SubscribePublishedFile(" + m_PublishedFileId + ") - " + handle);
		}

		if (GUILayout.Button("EnumerateUserSubscribedFiles(0)")) {
			SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserSubscribedFiles(0);
			RemoteStorageEnumerateUserSubscribedFilesResult.Set(handle);
			print("EnumerateUserSubscribedFiles(0) - " + handle);
		}

		if (GUILayout.Button("UnsubscribePublishedFile(m_PublishedFileId)")) {
			SteamAPICall_t handle = SteamRemoteStorage.UnsubscribePublishedFile(m_PublishedFileId);
			RemoteStorageUnsubscribePublishedFileResult.Set(handle);
			print("UnsubscribePublishedFile(" + m_PublishedFileId + ") - " + handle);
		}

		if (GUILayout.Button("UpdatePublishedFileSetChangeDescription(m_PublishedFileUpdateHandle, \"Changelog!\")")) {
			bool ret = SteamRemoteStorage.UpdatePublishedFileSetChangeDescription(m_PublishedFileUpdateHandle, "Changelog!");
			print("UpdatePublishedFileSetChangeDescription(" + m_PublishedFileUpdateHandle + ", \"Changelog!\") - " + ret);
		}

		if (GUILayout.Button("GetPublishedItemVoteDetails(m_PublishedFileId)")) {
			SteamAPICall_t handle = SteamRemoteStorage.GetPublishedItemVoteDetails(m_PublishedFileId);
			RemoteStorageGetPublishedItemVoteDetailsResult.Set(handle);
			print("GetPublishedItemVoteDetails(" + m_PublishedFileId + ") - " + handle);
		}

		if (GUILayout.Button("UpdateUserPublishedItemVote(m_PublishedFileId, true)")) {
			SteamAPICall_t handle = SteamRemoteStorage.UpdateUserPublishedItemVote(m_PublishedFileId, true);
			RemoteStorageUpdateUserPublishedItemVoteResult.Set(handle);
			print("UpdateUserPublishedItemVote(" + m_PublishedFileId + ") - " + handle);
		}

		if (GUILayout.Button("GetUserPublishedItemVoteDetails(m_PublishedFileId)")) {
			SteamAPICall_t handle = SteamRemoteStorage.GetUserPublishedItemVoteDetails(m_PublishedFileId);
			RemoteStorageUserVoteDetails.Set(handle);
			print("GetUserPublishedItemVoteDetails(" + m_PublishedFileId + ") - " + handle);
		}

		if (GUILayout.Button("EnumerateUserSharedWorkshopFiles(SteamUser.GetSteamID(), 0, null, null)")) {
			SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserSharedWorkshopFiles(SteamUser.GetSteamID(), 0, null, null);
			RemoteStorageEnumerateUserSharedWorkshopFilesResult.Set(handle);
			print("EnumerateUserSharedWorkshopFiles(" + SteamUser.GetSteamID() + ", 0, System.IntPtr.Zero, System.IntPtr.Zero) - " + handle);
		}

		if (GUILayout.Button("PublishVideo([...])")) {
			SteamAPICall_t handle = SteamRemoteStorage.PublishVideo(EWorkshopVideoProvider.k_EWorkshopVideoProviderYoutube, "William Hunter", "Rmvb4Hktv7U", null, SteamUtils.GetAppID(), "Test Video", "Desc", ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic, null);
			RemoteStoragePublishFileResult.Set(handle);
			print("PublishVideo(k_EWorkshopVideoProviderYoutube, \"William Hunter\", \"Rmvb4Hktv7U\", null, SteamUtils.GetAppID(), \"Test Video\", \"Desc\", k_ERemoteStoragePublishedFileVisibilityPublic, null) - " + handle);
		}

		if (GUILayout.Button("SetUserPublishedFileAction(m_PublishedFileId, k_EWorkshopFileActionPlayed)")) {
			SteamAPICall_t handle = SteamRemoteStorage.SetUserPublishedFileAction(m_PublishedFileId, EWorkshopFileAction.k_EWorkshopFileActionPlayed);
			RemoteStorageSetUserPublishedFileActionResult.Set(handle);
			print("SetUserPublishedFileAction(" + m_PublishedFileId + ", " + EWorkshopFileAction.k_EWorkshopFileActionPlayed + ") - " + handle);
		}

		if (GUILayout.Button("EnumeratePublishedFilesByUserAction(k_EWorkshopFileActionPlayed, 0)")) {
			SteamAPICall_t handle = SteamRemoteStorage.EnumeratePublishedFilesByUserAction(EWorkshopFileAction.k_EWorkshopFileActionPlayed, 0);
			RemoteStorageEnumeratePublishedFilesByUserActionResult.Set(handle);
			print("EnumeratePublishedFilesByUserAction(EWorkshopFileAction.k_EWorkshopFileActionPlayed, 0) - " + handle);
		}

		if (GUILayout.Button("EnumeratePublishedWorkshopFiles(k_EWorkshopEnumerationTypeRankedByVote, 0, 3, 0, IntPtr.Zero, IntPtr.Zero)")) {
			SteamAPICall_t handle = SteamRemoteStorage.EnumeratePublishedWorkshopFiles(EWorkshopEnumerationType.k_EWorkshopEnumerationTypeRankedByVote, 0, 3, 0, null, null);
			RemoteStorageEnumerateWorkshopFilesResult.Set(handle);
			print("EnumeratePublishedWorkshopFiles(k_EWorkshopEnumerationTypeRankedByVote, 0, 3, 0, IntPtr.Zero, IntPtr.Zero) - " + handle);
		}

		// There is absolutely no documentation on how to use this function, or what CallResult it gives you...
		// If you figure out how to use this then let me know!
		/*if (GUILayout.Button("UGCDownloadToLocation(m_UGCHandle, \"C:\\\", 0)")) {
			SteamAPICall_t handle = SteamRemoteStorage.UGCDownloadToLocation(m_UGCHandle, "C:\\", 0);

			print("UGCDownloadToLocation(m_UGCHandle, \"C:\\\", 0)");
		}*/
	}
		public static bool UpdatePublishedFileSetChangeDescription(PublishedFileUpdateHandle_t updateHandle, string pchChangeDescription) {
			InteropHelp.TestIfAvailableClient();
			return NativeMethods.ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription(updateHandle, pchChangeDescription);
		}
		public static extern ulong ISteamRemoteStorage_CommitPublishedFileUpdate(PublishedFileUpdateHandle_t updateHandle);
		public static extern bool ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription(PublishedFileUpdateHandle_t updateHandle, InteropHelp.UTF8StringHandle pchChangeDescription);
		public static extern bool ISteamRemoteStorage_UpdatePublishedFileVisibility(PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility);
		public static extern bool ISteamRemoteStorage_UpdatePublishedFileTags(PublishedFileUpdateHandle_t updateHandle, IntPtr pTags);
		public static extern bool ISteamRemoteStorage_UpdatePublishedFileTitle(PublishedFileUpdateHandle_t updateHandle, InteropHelp.UTF8StringHandle pchTitle);
		public static bool UpdatePublishedFileDescription(PublishedFileUpdateHandle_t updateHandle, string pchDescription) {
			InteropHelp.TestIfAvailableClient();
			using (var pchDescription2 = new InteropHelp.UTF8StringHandle(pchDescription)) {
				return NativeMethods.ISteamRemoteStorage_UpdatePublishedFileDescription(updateHandle, pchDescription2);
			}
		}
Exemple #14
0
    private void RenderPageTwo()
    {
        if (GUILayout.Button("UGCDownload(m_UGCHandle, 0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.UGCDownload(m_UGCHandle, 0);
            RemoteStorageDownloadUGCResult.Set(handle);
            print("UGCDownload(" + m_UGCHandle + ", 0) - " + handle);
        }

        {
            int  BytesDownloaded;
            int  BytesExpected;
            bool ret = SteamRemoteStorage.GetUGCDownloadProgress(m_UGCHandle, out BytesDownloaded, out BytesExpected);
            GUILayout.Label("GetUGCDownloadProgress(m_UGCHandle, out BytesDownloaded, out BytesExpected) : " + ret + " -- " + BytesDownloaded + " -- " + BytesExpected);
        }

        // Spams warnings if called with an empty handle
        if (m_UGCHandle != (UGCHandle_t)0)
        {
            AppId_t  AppID;
            string   Name;
            CSteamID SteamIDOwner;
            bool     ret = SteamRemoteStorage.GetUGCDetails(m_UGCHandle, out AppID, out Name, out m_FileSizeInBytes, out SteamIDOwner);
            GUILayout.Label("GetUGCDetails(m_UGCHandle, out AppID, Name, out FileSizeInBytes, out SteamIDOwner) : " + ret + " -- " + AppID + " -- " + Name + " -- " + m_FileSizeInBytes + " -- " + SteamIDOwner);
        }
        else
        {
            GUILayout.Label("GetUGCDetails(m_UGCHandle, out AppID, Name, out FileSizeInBytes, out SteamIDOwner) : ");
        }

        if (GUILayout.Button("UGCRead(m_UGCHandle, Data, m_FileSizeInBytes, 0, EUGCReadAction.k_EUGCRead_Close)"))
        {
            byte[] Data = new byte[m_FileSizeInBytes];
            int    ret  = SteamRemoteStorage.UGCRead(m_UGCHandle, Data, m_FileSizeInBytes, 0, EUGCReadAction.k_EUGCRead_Close);
            print("UGCRead(" + m_UGCHandle + ", Data, m_FileSizeInBytes, 0, EUGCReadAction.k_EUGCRead_Close) - " + ret + " -- " + System.Text.Encoding.UTF8.GetString(Data, 0, ret));
        }

        GUILayout.Label("GetCachedUGCCount() : " + SteamRemoteStorage.GetCachedUGCCount());
        GUILayout.Label("GetCachedUGCHandle(0) : " + SteamRemoteStorage.GetCachedUGCHandle(0));

#if _PS3 || _SERVER
        //GUILayout.Label(" : " + SteamRemoteStorage.GetFileListFromServer());
        //GUILayout.Label(" : " + SteamRemoteStorage.FileFetch(string pchFile));
        //GUILayout.Label(" : " + SteamRemoteStorage.FilePersist(string pchFile));
        //GUILayout.Label(" : " + SteamRemoteStorage.SynchronizeToClient());
        //GUILayout.Label(" : " + SteamRemoteStorage.SynchronizeToServer());
        //GUILayout.Label(" : " + SteamRemoteStorage.ResetFileRequestState());
#endif

        if (GUILayout.Button("PublishWorkshopFile([...])"))
        {
            string[]       Tags   = { "Test1", "Test2", "Test3" };
            SteamAPICall_t handle = SteamRemoteStorage.PublishWorkshopFile(MESSAGE_FILE_NAME, null, SteamUtils.GetAppID(), "Title!", "Description!", ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic, Tags, EWorkshopFileType.k_EWorkshopFileTypeCommunity);
            RemoteStoragePublishFileResult.Set(handle);
            print("PublishWorkshopFile(" + MESSAGE_FILE_NAME + ", null, " + SteamUtils.GetAppID() + ", \"Title!\", \"Description!\", k_ERemoteStoragePublishedFileVisibilityPublic, SteamParamStringArray(list), k_EWorkshopFileTypeCommunity)");
        }

        if (GUILayout.Button("CreatePublishedFileUpdateRequest(m_PublishedFileId)"))
        {
            m_PublishedFileUpdateHandle = SteamRemoteStorage.CreatePublishedFileUpdateRequest(m_PublishedFileId);
            print("CreatePublishedFileUpdateRequest(" + m_PublishedFileId + ") - " + m_PublishedFileUpdateHandle);
        }

        if (GUILayout.Button("UpdatePublishedFileFile(m_PublishedFileUpdateHandle, MESSAGE_FILE_NAME)"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileFile(m_PublishedFileUpdateHandle, MESSAGE_FILE_NAME);
            print("UpdatePublishedFileFile(" + m_PublishedFileUpdateHandle + ", " + MESSAGE_FILE_NAME + ") - " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFilePreviewFile(m_PublishedFileUpdateHandle, null)"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFilePreviewFile(m_PublishedFileUpdateHandle, null);
            print("UpdatePublishedFilePreviewFile(" + m_PublishedFileUpdateHandle + ", " + null + ") - " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFileTitle(m_PublishedFileUpdateHandle, \"New Title\")"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileTitle(m_PublishedFileUpdateHandle, "New Title");
            print("UpdatePublishedFileTitle(" + m_PublishedFileUpdateHandle + ", \"New Title\") - " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFileDescription(m_PublishedFileUpdateHandle, \"New Description\")"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileDescription(m_PublishedFileUpdateHandle, "New Description");
            print("UpdatePublishedFileDescription(" + m_PublishedFileUpdateHandle + ", \"New Description\") - " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFileVisibility(m_PublishedFileUpdateHandle, k_ERemoteStoragePublishedFileVisibilityPublic)"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileVisibility(m_PublishedFileUpdateHandle, ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic);
            print("UpdatePublishedFileVisibility(" + m_PublishedFileUpdateHandle + ", " + ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic + ") - " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFileTags(m_PublishedFileUpdateHandle, new string[] {\"First\", \"Second\", \"Third\"})"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileTags(m_PublishedFileUpdateHandle, new string[] { "First", "Second", "Third" });
            print("UpdatePublishedFileTags(" + m_PublishedFileUpdateHandle + ", " + new string[] { "First", "Second", "Third" } +") - " + ret);
        }

        if (GUILayout.Button("CommitPublishedFileUpdate(m_PublishedFileUpdateHandle)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.CommitPublishedFileUpdate(m_PublishedFileUpdateHandle);
            RemoteStorageUpdatePublishedFileResult.Set(handle);
            print("CommitPublishedFileUpdate(" + m_PublishedFileUpdateHandle + ") - " + handle);
        }

        if (GUILayout.Button("GetPublishedFileDetails(m_PublishedFileId, 0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.GetPublishedFileDetails(m_PublishedFileId, 0);
            RemoteStorageGetPublishedFileDetailsResult.Set(handle);
            print("GetPublishedFileDetails(" + m_UGCHandle + ", 0) - " + handle);
        }

        if (GUILayout.Button("DeletePublishedFile(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.DeletePublishedFile(m_PublishedFileId);
            RemoteStorageDeletePublishedFileResult.Set(handle);
            print("DeletePublishedFile(" + m_PublishedFileId + ") - " + handle);
        }

        if (GUILayout.Button("EnumerateUserPublishedFiles(0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserPublishedFiles(0);
            RemoteStorageEnumerateUserPublishedFilesResult.Set(handle);
            print("EnumerateUserPublishedFiles(0) - " + handle);
        }

        if (GUILayout.Button("SubscribePublishedFile(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.SubscribePublishedFile(m_PublishedFileId);
            RemoteStorageSubscribePublishedFileResult.Set(handle);
            print("SubscribePublishedFile(" + m_PublishedFileId + ") - " + handle);
        }

        if (GUILayout.Button("EnumerateUserSubscribedFiles(0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserSubscribedFiles(0);
            RemoteStorageEnumerateUserSubscribedFilesResult.Set(handle);
            print("EnumerateUserSubscribedFiles(0) - " + handle);
        }

        if (GUILayout.Button("UnsubscribePublishedFile(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.UnsubscribePublishedFile(m_PublishedFileId);
            RemoteStorageUnsubscribePublishedFileResult.Set(handle);
            print("UnsubscribePublishedFile(" + m_PublishedFileId + ") - " + handle);
        }

        if (GUILayout.Button("UpdatePublishedFileSetChangeDescription(m_PublishedFileUpdateHandle, \"Changelog!\")"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileSetChangeDescription(m_PublishedFileUpdateHandle, "Changelog!");
            print("UpdatePublishedFileSetChangeDescription(" + m_PublishedFileUpdateHandle + ", \"Changelog!\") - " + ret);
        }

        if (GUILayout.Button("GetPublishedItemVoteDetails(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.GetPublishedItemVoteDetails(m_PublishedFileId);
            RemoteStorageGetPublishedItemVoteDetailsResult.Set(handle);
            print("GetPublishedItemVoteDetails(" + m_PublishedFileId + ") - " + handle);
        }

        if (GUILayout.Button("UpdateUserPublishedItemVote(m_PublishedFileId, true)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.UpdateUserPublishedItemVote(m_PublishedFileId, true);
            RemoteStorageUpdateUserPublishedItemVoteResult.Set(handle);
            print("UpdateUserPublishedItemVote(" + m_PublishedFileId + ") - " + handle);
        }

        if (GUILayout.Button("GetUserPublishedItemVoteDetails(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.GetUserPublishedItemVoteDetails(m_PublishedFileId);
            RemoteStorageUserVoteDetails.Set(handle);
            print("GetUserPublishedItemVoteDetails(" + m_PublishedFileId + ") - " + handle);
        }

        if (GUILayout.Button("EnumerateUserSharedWorkshopFiles(SteamUser.GetSteamID(), 0, null, null)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserSharedWorkshopFiles(SteamUser.GetSteamID(), 0, null, null);
            RemoteStorageEnumerateUserSharedWorkshopFilesResult.Set(handle);
            print("EnumerateUserSharedWorkshopFiles(" + SteamUser.GetSteamID() + ", 0, System.IntPtr.Zero, System.IntPtr.Zero) - " + handle);
        }

        if (GUILayout.Button("PublishVideo([...])"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.PublishVideo(EWorkshopVideoProvider.k_EWorkshopVideoProviderYoutube, "William Hunter", "Rmvb4Hktv7U", null, SteamUtils.GetAppID(), "Test Video", "Desc", ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic, null);
            RemoteStoragePublishFileResult.Set(handle);
            print("PublishVideo(k_EWorkshopVideoProviderYoutube, \"William Hunter\", \"Rmvb4Hktv7U\", null, SteamUtils.GetAppID(), \"Test Video\", \"Desc\", k_ERemoteStoragePublishedFileVisibilityPublic, null) - " + handle);
        }

        if (GUILayout.Button("SetUserPublishedFileAction(m_PublishedFileId, k_EWorkshopFileActionPlayed)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.SetUserPublishedFileAction(m_PublishedFileId, EWorkshopFileAction.k_EWorkshopFileActionPlayed);
            RemoteStorageSetUserPublishedFileActionResult.Set(handle);
            print("SetUserPublishedFileAction(" + m_PublishedFileId + ", " + EWorkshopFileAction.k_EWorkshopFileActionPlayed + ") - " + handle);
        }

        if (GUILayout.Button("EnumeratePublishedFilesByUserAction(k_EWorkshopFileActionPlayed, 0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumeratePublishedFilesByUserAction(EWorkshopFileAction.k_EWorkshopFileActionPlayed, 0);
            RemoteStorageEnumeratePublishedFilesByUserActionResult.Set(handle);
            print("EnumeratePublishedFilesByUserAction(EWorkshopFileAction.k_EWorkshopFileActionPlayed, 0) - " + handle);
        }

        if (GUILayout.Button("EnumeratePublishedWorkshopFiles(k_EWorkshopEnumerationTypeRankedByVote, 0, 3, 0, IntPtr.Zero, IntPtr.Zero)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumeratePublishedWorkshopFiles(EWorkshopEnumerationType.k_EWorkshopEnumerationTypeRankedByVote, 0, 3, 0, null, null);
            RemoteStorageEnumerateWorkshopFilesResult.Set(handle);
            print("EnumeratePublishedWorkshopFiles(k_EWorkshopEnumerationTypeRankedByVote, 0, 3, 0, IntPtr.Zero, IntPtr.Zero) - " + handle);
        }

        // There is absolutely no documentation on how to use this function, or what CallResult it gives you...
        // If you figure out how to use this then let me know!

        /*if (GUILayout.Button("UGCDownloadToLocation(m_UGCHandle, \"C:\\\", 0)")) {
         *      SteamAPICall_t handle = SteamRemoteStorage.UGCDownloadToLocation(m_UGCHandle, "C:\\", 0);
         *
         *      print("UGCDownloadToLocation(m_UGCHandle, \"C:\\\", 0)");
         * }*/
    }
Exemple #15
0
 public void Dispose()
 {
     updateCaller.Dispose();
     uploadCaller.Dispose();
     updateHandle = PublishedFileUpdateHandle_t.Invalid;
 }
		public static bool UpdatePublishedFileTitle(PublishedFileUpdateHandle_t updateHandle, string pchTitle) {
			InteropHelp.TestIfAvailableClient();
			return NativeMethods.ISteamRemoteStorage_UpdatePublishedFileTitle(updateHandle, pchTitle);
		}
Exemple #17
0
 public void StartModify()
 {
     if (!updateHandle.Equals(PublishedFileUpdateHandle_t.Invalid))
     {
         throw new InvalidOperationException("Upload already started");
     }
     // Legacy Workshop item
     updateHandle = SteamRemoteStorage.CreatePublishedFileUpdateRequest(details.
                                                                        m_nPublishedFileId);
     if (updateHandle.Equals(PublishedFileUpdateHandle_t.Invalid))
     {
         OnModifyFailed?.Invoke();
     }
     else
     {
         PUtil.LogDebug("MODIFYING MOD: " + Mod.label.title);
         string desc = Description?.Trim(), title = Title?.Trim();
         if (!desc.IsNullOrWhiteSpace() && desc != details.m_rgchDescription)
         {
             PUtil.LogDebug("DESCRIPTION: " + desc);
             if (!SteamRemoteStorage.UpdatePublishedFileDescription(updateHandle, desc))
             {
                 PUtil.LogWarning("Failed to set item description!");
             }
         }
         if (!title.IsNullOrWhiteSpace() && title != details.m_rgchTitle)
         {
             PUtil.LogDebug("TITLE: " + title);
             if (!SteamRemoteStorage.UpdatePublishedFileTitle(updateHandle, title))
             {
                 PUtil.LogWarning("Failed to set item title!");
             }
         }
         if (!PatchInfo.IsNullOrWhiteSpace())
         {
             PUtil.LogDebug("PATCH INFO: " + PatchInfo);
             if (!SteamRemoteStorage.UpdatePublishedFileSetChangeDescription(
                     updateHandle, PatchInfo))
             {
                 PUtil.LogWarning("Failed to set change notes!");
             }
         }
         if (UpdateData && !DataPath.IsNullOrWhiteSpace())
         {
             byte[] zipData = ZipModFolder(DataPath);
             if (zipData != null)
             {
                 PUtil.LogDebug("DATA: " + DataPath + " => " + REMOTE_MOD_DATA);
                 if (!WriteToSteamStorage(zipData, REMOTE_MOD_DATA, OnDataUploaded))
                 {
                     OnModifyFailed?.Invoke();
                 }
             }
             else
             {
                 OnModifyFailed?.Invoke();
             }
         }
         else
         {
             StartPreviewUpload();
         }
     }
 }
    public void RenderOnGUI()
    {
        GUILayout.BeginArea(new Rect(Screen.width - 200, 0, 200, Screen.height));
        GUILayout.Label("Variables:");
        GUILayout.Label("m_Message:");
        m_Message = GUILayout.TextField(m_Message, 40);
        GUILayout.Label("m_FileCount: " + m_FileCount);
        GUILayout.Label("m_FileSize: " + m_FileSize);
        GUILayout.Label("m_TotalBytes: " + m_TotalBytes);
        GUILayout.Label("m_FileSizeInBytes: " + m_FileSizeInBytes);
        GUILayout.Label("m_CloudEnabled: " + m_CloudEnabled);
        GUILayout.Label("m_FileStream: " + m_FileStream);
        GUILayout.Label("m_UGCHandle: " + m_UGCHandle);
        GUILayout.Label("m_PublishedFileId: " + m_PublishedFileId);
        GUILayout.Label("m_PublishedFileUpdateHandle: " + m_PublishedFileUpdateHandle);
        GUILayout.Label("m_FileReadAsyncHandle: " + m_FileReadAsyncHandle);
        GUILayout.EndArea();

        GUILayout.BeginVertical("box");
        m_ScrollPos = GUILayout.BeginScrollView(m_ScrollPos, GUILayout.Width(Screen.width - 215), GUILayout.Height(Screen.height - 33));

        if (GUILayout.Button("FileWrite(MESSAGE_FILE_NAME, Data, Data.Length)"))
        {
            if ((ulong)System.Text.Encoding.UTF8.GetByteCount(m_Message) > m_TotalBytes)
            {
                print("Remote Storage: Quota Exceeded! - Bytes: " + System.Text.Encoding.UTF8.GetByteCount(m_Message) + " - Max: " + m_TotalBytes);
            }
            else
            {
                byte[] Data = new byte[System.Text.Encoding.UTF8.GetByteCount(m_Message)];
                System.Text.Encoding.UTF8.GetBytes(m_Message, 0, m_Message.Length, Data, 0);

                bool ret = SteamRemoteStorage.FileWrite(MESSAGE_FILE_NAME, Data, Data.Length);
                print("FileWrite(" + MESSAGE_FILE_NAME + ", Data, " + Data.Length + ") - " + ret);
            }
        }

        if (GUILayout.Button("FileRead(MESSAGE_FILE_NAME, Data, Data.Length)"))
        {
            if (m_FileSize > 40)
            {
                byte[] c = { 0 };
                Debug.Log("RemoteStorage: File was larger than expected. . .");
                SteamRemoteStorage.FileWrite(MESSAGE_FILE_NAME, c, 1);
            }
            else
            {
                byte[] Data = new byte[40];
                int    ret  = SteamRemoteStorage.FileRead(MESSAGE_FILE_NAME, Data, Data.Length);
                m_Message = System.Text.Encoding.UTF8.GetString(Data, 0, ret);
                print("FileRead(" + MESSAGE_FILE_NAME + ", Data, " + Data.Length + ") - " + ret);
            }
        }

        if (GUILayout.Button("FileWriteAsync(MESSAGE_FILE_NAME, Data, (uint)Data.Length)"))
        {
            byte[] Data = new byte[System.Text.Encoding.UTF8.GetByteCount(m_Message)];
            System.Text.Encoding.UTF8.GetBytes(m_Message, 0, m_Message.Length, Data, 0);
            SteamAPICall_t handle = SteamRemoteStorage.FileWriteAsync(MESSAGE_FILE_NAME, Data, (uint)Data.Length);
            OnRemoteStorageFileWriteAsyncCompleteCallResult.Set(handle);
            print("SteamRemoteStorage.FileWriteAsync(" + MESSAGE_FILE_NAME + ", " + Data + ", " + (uint)Data.Length + ") : " + handle);
        }

        if (GUILayout.Button("FileReadAsync(MESSAGE_FILE_NAME, Data, (uint)Data.Length)"))
        {
            if (m_FileSize > 40)
            {
                Debug.Log("RemoteStorage: File was larger than expected. . .");
            }
            else
            {
                m_FileReadAsyncHandle = SteamRemoteStorage.FileReadAsync(MESSAGE_FILE_NAME, 0, (uint)m_FileSize);
                OnRemoteStorageFileReadAsyncCompleteCallResult.Set(m_FileReadAsyncHandle);
                print("FileReadAsync(" + MESSAGE_FILE_NAME + ", 0, " + (uint)m_FileSize + ") - " + m_FileReadAsyncHandle);
            }
        }

        //SteamRemoteStorage.FileReadAsyncComplete() // Must be called from the RemoteStorageFileReadAsyncComplete_t CallResult.

        if (GUILayout.Button("FileForget(MESSAGE_FILE_NAME)"))
        {
            bool ret = SteamRemoteStorage.FileForget(MESSAGE_FILE_NAME);
            print("SteamRemoteStorage.FileForget(" + MESSAGE_FILE_NAME + ") : " + ret);
        }

        if (GUILayout.Button("FileDelete(MESSAGE_FILE_NAME)"))
        {
            bool ret = SteamRemoteStorage.FileDelete(MESSAGE_FILE_NAME);
            print("SteamRemoteStorage.FileDelete(" + MESSAGE_FILE_NAME + ") : " + ret);
        }

        if (GUILayout.Button("FileShare(MESSAGE_FILE_NAME)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.FileShare(MESSAGE_FILE_NAME);
            OnRemoteStorageFileShareResultCallResult.Set(handle);
            print("SteamRemoteStorage.FileShare(" + MESSAGE_FILE_NAME + ") : " + handle);
        }

        if (GUILayout.Button("SetSyncPlatforms(MESSAGE_FILE_NAME, ERemoteStoragePlatform.k_ERemoteStoragePlatformAll)"))
        {
            bool ret = SteamRemoteStorage.SetSyncPlatforms(MESSAGE_FILE_NAME, ERemoteStoragePlatform.k_ERemoteStoragePlatformAll);
            print("SteamRemoteStorage.SetSyncPlatforms(" + MESSAGE_FILE_NAME + ", " + ERemoteStoragePlatform.k_ERemoteStoragePlatformAll + ") : " + ret);
        }

        if (GUILayout.Button("FileWriteStreamOpen(MESSAGE_FILE_NAME)"))
        {
            m_FileStream = SteamRemoteStorage.FileWriteStreamOpen(MESSAGE_FILE_NAME);
            print("SteamRemoteStorage.FileWriteStreamOpen(" + MESSAGE_FILE_NAME + ") : " + m_FileStream);
        }

        if (GUILayout.Button("FileWriteStreamWriteChunk(m_FileStream, Data, Data.Length)"))
        {
            if ((ulong)System.Text.Encoding.UTF8.GetByteCount(m_Message) > m_TotalBytes)
            {
                print("Remote Storage: Quota Exceeded! - Bytes: " + System.Text.Encoding.UTF8.GetByteCount(m_Message) + " - Max: " + m_TotalBytes);
            }
            else
            {
                byte[] Data = new byte[System.Text.Encoding.UTF8.GetByteCount(m_Message)];
                System.Text.Encoding.UTF8.GetBytes(m_Message, 0, m_Message.Length, Data, 0);

                bool ret = SteamRemoteStorage.FileWriteStreamWriteChunk(m_FileStream, Data, Data.Length);
                print("FileWriteStreamWriteChunk(" + m_FileStream + ", Data, " + Data.Length + ") - " + ret);
            }
        }

        if (GUILayout.Button("FileWriteStreamClose(m_FileStream)"))
        {
            bool ret = SteamRemoteStorage.FileWriteStreamClose(m_FileStream);
            print("SteamRemoteStorage.FileWriteStreamClose(" + m_FileStream + ") : " + ret);
        }

        if (GUILayout.Button("FileWriteStreamCancel(m_FileStream)"))
        {
            bool ret = SteamRemoteStorage.FileWriteStreamCancel(m_FileStream);
            print("SteamRemoteStorage.FileWriteStreamCancel(" + m_FileStream + ") : " + ret);
        }

        GUILayout.Label("FileExists(MESSAGE_FILE_NAME) : " + SteamRemoteStorage.FileExists(MESSAGE_FILE_NAME));

        GUILayout.Label("FilePersisted(MESSAGE_FILE_NAME) : " + SteamRemoteStorage.FilePersisted(MESSAGE_FILE_NAME));

        GUILayout.Label("GetFileSize(MESSAGE_FILE_NAME) : " + SteamRemoteStorage.GetFileSize(MESSAGE_FILE_NAME));

        GUILayout.Label("GetFileTimestamp(MESSAGE_FILE_NAME) : " + SteamRemoteStorage.GetFileTimestamp(MESSAGE_FILE_NAME));

        GUILayout.Label("GetSyncPlatforms(MESSAGE_FILE_NAME) : " + SteamRemoteStorage.GetSyncPlatforms(MESSAGE_FILE_NAME));

        {
            m_FileCount = SteamRemoteStorage.GetFileCount();
            GUILayout.Label("GetFileCount() : " + m_FileCount);
        }

        for (int i = 0; i < m_FileCount; ++i)
        {
            int    FileSize = 0;
            string FileName = SteamRemoteStorage.GetFileNameAndSize(i, out FileSize);
            GUILayout.Label("GetFileNameAndSize(i, out FileSize) : " + FileName + " -- " + FileSize);

            if (FileName == MESSAGE_FILE_NAME)
            {
                m_FileSize = FileSize;
            }
        }

        {
            ulong AvailableBytes;
            bool  ret = SteamRemoteStorage.GetQuota(out m_TotalBytes, out AvailableBytes);
            GUILayout.Label("GetQuota(out m_TotalBytes, out AvailableBytes) : " + ret + " -- " + m_TotalBytes + " -- " + AvailableBytes);
        }

        GUILayout.Label("IsCloudEnabledForAccount() : " + SteamRemoteStorage.IsCloudEnabledForAccount());

        {
            m_CloudEnabled = SteamRemoteStorage.IsCloudEnabledForApp();
            GUILayout.Label("IsCloudEnabledForApp() : " + m_CloudEnabled);
        }

        if (GUILayout.Button("SetCloudEnabledForApp(!m_CloudEnabled)"))
        {
            SteamRemoteStorage.SetCloudEnabledForApp(!m_CloudEnabled);
            print("SteamRemoteStorage.SetCloudEnabledForApp(" + !m_CloudEnabled + ")");
        }

        if (GUILayout.Button("UGCDownload(m_UGCHandle, 0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.UGCDownload(m_UGCHandle, 0);
            OnRemoteStorageDownloadUGCResultCallResult.Set(handle);
            print("SteamRemoteStorage.UGCDownload(" + m_UGCHandle + ", " + 0 + ") : " + handle);
        }

        {
            int  BytesDownloaded;
            int  BytesExpected;
            bool ret = SteamRemoteStorage.GetUGCDownloadProgress(m_UGCHandle, out BytesDownloaded, out BytesExpected);
            GUILayout.Label("GetUGCDownloadProgress(m_UGCHandle, out BytesDownloaded, out BytesExpected) : " + ret + " -- " + BytesDownloaded + " -- " + BytesExpected);
        }

        // Spams warnings if called with an empty handle
        if (m_UGCHandle != (UGCHandle_t)0)
        {
            AppId_t  AppID;
            string   Name;
            CSteamID SteamIDOwner;
            bool     ret = SteamRemoteStorage.GetUGCDetails(m_UGCHandle, out AppID, out Name, out m_FileSizeInBytes, out SteamIDOwner);
            GUILayout.Label("GetUGCDetails(m_UGCHandle, out AppID, Name, out FileSizeInBytes, out SteamIDOwner) : " + ret + " -- " + AppID + " -- " + Name + " -- " + m_FileSizeInBytes + " -- " + SteamIDOwner);
        }
        else
        {
            GUILayout.Label("GetUGCDetails(m_UGCHandle, out AppID, Name, out FileSizeInBytes, out SteamIDOwner) : ");
        }

        if (GUILayout.Button("UGCRead(m_UGCHandle, Data, m_FileSizeInBytes, 0, EUGCReadAction.k_EUGCRead_Close)"))
        {
            byte[] Data = new byte[m_FileSizeInBytes];
            int    ret  = SteamRemoteStorage.UGCRead(m_UGCHandle, Data, m_FileSizeInBytes, 0, EUGCReadAction.k_EUGCRead_Close);
            print("SteamRemoteStorage.UGCRead(" + m_UGCHandle + ", " + Data + ", " + m_FileSizeInBytes + ", " + 0 + ", " + EUGCReadAction.k_EUGCRead_Close + ") : " + ret);
        }

        GUILayout.Label("GetCachedUGCCount() : " + SteamRemoteStorage.GetCachedUGCCount());

        GUILayout.Label("GetCachedUGCHandle(0) : " + SteamRemoteStorage.GetCachedUGCHandle(0));

        //SteamRemoteStorage.GetFileListFromServer() // PS3 Only.

        //SteamRemoteStorage.FileFetch() // PS3 Only.

        //SteamRemoteStorage.FilePersist() // PS3 Only.

        //SteamRemoteStorage.SynchronizeToClient() // PS3 Only.

        //SteamRemoteStorage.SynchronizeToServer() // PS3 Only.

        //SteamRemoteStorage.ResetFileRequestState() // PS3 Only.

        if (GUILayout.Button("PublishWorkshopFile(MESSAGE_FILE_NAME, null, SteamUtils.GetAppID(), \"Title!\", \"Description!\", ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic, Tags, EWorkshopFileType.k_EWorkshopFileTypeCommunity)"))
        {
            string[]       Tags   = { "Test1", "Test2", "Test3" };
            SteamAPICall_t handle = SteamRemoteStorage.PublishWorkshopFile(MESSAGE_FILE_NAME, null, SteamUtils.GetAppID(), "Title!", "Description!", ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic, Tags, EWorkshopFileType.k_EWorkshopFileTypeCommunity);
            OnRemoteStoragePublishFileProgressCallResult.Set(handle);
            print("SteamRemoteStorage.PublishWorkshopFile(" + MESSAGE_FILE_NAME + ", " + null + ", " + SteamUtils.GetAppID() + ", " + "\"Title!\"" + ", " + "\"Description!\"" + ", " + ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic + ", " + Tags + ", " + EWorkshopFileType.k_EWorkshopFileTypeCommunity + ") : " + handle);
        }

        if (GUILayout.Button("CreatePublishedFileUpdateRequest(m_PublishedFileId)"))
        {
            m_PublishedFileUpdateHandle = SteamRemoteStorage.CreatePublishedFileUpdateRequest(m_PublishedFileId);
            print("SteamRemoteStorage.CreatePublishedFileUpdateRequest(" + m_PublishedFileId + ") : " + m_PublishedFileUpdateHandle);
        }

        if (GUILayout.Button("UpdatePublishedFileFile(m_PublishedFileUpdateHandle, MESSAGE_FILE_NAME)"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileFile(m_PublishedFileUpdateHandle, MESSAGE_FILE_NAME);
            print("SteamRemoteStorage.UpdatePublishedFileFile(" + m_PublishedFileUpdateHandle + ", " + MESSAGE_FILE_NAME + ") : " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFilePreviewFile(m_PublishedFileUpdateHandle, null)"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFilePreviewFile(m_PublishedFileUpdateHandle, null);
            print("SteamRemoteStorage.UpdatePublishedFilePreviewFile(" + m_PublishedFileUpdateHandle + ", " + null + ") : " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFileTitle(m_PublishedFileUpdateHandle, \"New Title\")"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileTitle(m_PublishedFileUpdateHandle, "New Title");
            print("SteamRemoteStorage.UpdatePublishedFileTitle(" + m_PublishedFileUpdateHandle + ", " + "\"New Title\"" + ") : " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFileDescription(m_PublishedFileUpdateHandle, \"New Description\")"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileDescription(m_PublishedFileUpdateHandle, "New Description");
            print("SteamRemoteStorage.UpdatePublishedFileDescription(" + m_PublishedFileUpdateHandle + ", " + "\"New Description\"" + ") : " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFileVisibility(m_PublishedFileUpdateHandle, ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic)"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileVisibility(m_PublishedFileUpdateHandle, ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic);
            print("SteamRemoteStorage.UpdatePublishedFileVisibility(" + m_PublishedFileUpdateHandle + ", " + ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic + ") : " + ret);
        }

        if (GUILayout.Button("UpdatePublishedFileTags(m_PublishedFileUpdateHandle, new string[] {\"First\", \"Second\", \"Third\"})"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileTags(m_PublishedFileUpdateHandle, new string[] { "First", "Second", "Third" });
            print("SteamRemoteStorage.UpdatePublishedFileTags(" + m_PublishedFileUpdateHandle + ", " + new string[] { "First", "Second", "Third" } +") : " + ret);
        }

        if (GUILayout.Button("CommitPublishedFileUpdate(m_PublishedFileUpdateHandle)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.CommitPublishedFileUpdate(m_PublishedFileUpdateHandle);
            OnRemoteStorageUpdatePublishedFileResultCallResult.Set(handle);
            print("SteamRemoteStorage.CommitPublishedFileUpdate(" + m_PublishedFileUpdateHandle + ") : " + handle);
        }

        if (GUILayout.Button("GetPublishedFileDetails(m_PublishedFileId, 0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.GetPublishedFileDetails(m_PublishedFileId, 0);
            OnRemoteStorageGetPublishedFileDetailsResultCallResult.Set(handle);
            print("SteamRemoteStorage.GetPublishedFileDetails(" + m_PublishedFileId + ", " + 0 + ") : " + handle);
        }

        if (GUILayout.Button("DeletePublishedFile(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.DeletePublishedFile(m_PublishedFileId);
            OnRemoteStorageDeletePublishedFileResultCallResult.Set(handle);
            print("SteamRemoteStorage.DeletePublishedFile(" + m_PublishedFileId + ") : " + handle);
        }

        if (GUILayout.Button("EnumerateUserPublishedFiles(0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserPublishedFiles(0);
            OnRemoteStorageEnumerateUserPublishedFilesResultCallResult.Set(handle);
            print("SteamRemoteStorage.EnumerateUserPublishedFiles(" + 0 + ") : " + handle);
        }

        if (GUILayout.Button("SubscribePublishedFile(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.SubscribePublishedFile(m_PublishedFileId);
            OnRemoteStorageSubscribePublishedFileResultCallResult.Set(handle);
            print("SteamRemoteStorage.SubscribePublishedFile(" + m_PublishedFileId + ") : " + handle);
        }

        if (GUILayout.Button("EnumerateUserSubscribedFiles(0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserSubscribedFiles(0);
            OnRemoteStorageEnumerateUserSubscribedFilesResultCallResult.Set(handle);
            print("SteamRemoteStorage.EnumerateUserSubscribedFiles(" + 0 + ") : " + handle);
        }

        if (GUILayout.Button("UnsubscribePublishedFile(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.UnsubscribePublishedFile(m_PublishedFileId);
            OnRemoteStorageUnsubscribePublishedFileResultCallResult.Set(handle);
            print("SteamRemoteStorage.UnsubscribePublishedFile(" + m_PublishedFileId + ") : " + handle);
        }

        if (GUILayout.Button("UpdatePublishedFileSetChangeDescription(m_PublishedFileUpdateHandle, \"Changelog!\")"))
        {
            bool ret = SteamRemoteStorage.UpdatePublishedFileSetChangeDescription(m_PublishedFileUpdateHandle, "Changelog!");
            print("SteamRemoteStorage.UpdatePublishedFileSetChangeDescription(" + m_PublishedFileUpdateHandle + ", " + "\"Changelog!\"" + ") : " + ret);
        }

        if (GUILayout.Button("GetPublishedItemVoteDetails(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.GetPublishedItemVoteDetails(m_PublishedFileId);
            OnRemoteStorageGetPublishedItemVoteDetailsResultCallResult.Set(handle);
            print("SteamRemoteStorage.GetPublishedItemVoteDetails(" + m_PublishedFileId + ") : " + handle);
        }

        if (GUILayout.Button("UpdateUserPublishedItemVote(m_PublishedFileId, true)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.UpdateUserPublishedItemVote(m_PublishedFileId, true);
            OnRemoteStorageUpdateUserPublishedItemVoteResultCallResult.Set(handle);
            print("SteamRemoteStorage.UpdateUserPublishedItemVote(" + m_PublishedFileId + ", " + true + ") : " + handle);
        }

        if (GUILayout.Button("GetUserPublishedItemVoteDetails(m_PublishedFileId)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.GetUserPublishedItemVoteDetails(m_PublishedFileId);
            OnRemoteStorageGetPublishedItemVoteDetailsResultCallResult.Set(handle);
            print("SteamRemoteStorage.GetUserPublishedItemVoteDetails(" + m_PublishedFileId + ") : " + handle);
        }

        if (GUILayout.Button("EnumerateUserSharedWorkshopFiles(SteamUser.GetSteamID(), 0, null, null)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumerateUserSharedWorkshopFiles(SteamUser.GetSteamID(), 0, null, null);
            OnRemoteStorageEnumerateUserPublishedFilesResultCallResult.Set(handle);
            print("SteamRemoteStorage.EnumerateUserSharedWorkshopFiles(" + SteamUser.GetSteamID() + ", " + 0 + ", " + null + ", " + null + ") : " + handle);
        }

        if (GUILayout.Button("PublishVideo(EWorkshopVideoProvider.k_EWorkshopVideoProviderYoutube, \"William Hunter\", \"Rmvb4Hktv7U\", null, SteamUtils.GetAppID(), \"Test Video\", \"Desc\", ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic, null)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.PublishVideo(EWorkshopVideoProvider.k_EWorkshopVideoProviderYoutube, "William Hunter", "Rmvb4Hktv7U", null, SteamUtils.GetAppID(), "Test Video", "Desc", ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic, null);
            OnRemoteStoragePublishFileProgressCallResult.Set(handle);
            print("SteamRemoteStorage.PublishVideo(" + EWorkshopVideoProvider.k_EWorkshopVideoProviderYoutube + ", " + "\"William Hunter\"" + ", " + "\"Rmvb4Hktv7U\"" + ", " + null + ", " + SteamUtils.GetAppID() + ", " + "\"Test Video\"" + ", " + "\"Desc\"" + ", " + ERemoteStoragePublishedFileVisibility.k_ERemoteStoragePublishedFileVisibilityPublic + ", " + null + ") : " + handle);
        }

        if (GUILayout.Button("SetUserPublishedFileAction(m_PublishedFileId, EWorkshopFileAction.k_EWorkshopFileActionPlayed)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.SetUserPublishedFileAction(m_PublishedFileId, EWorkshopFileAction.k_EWorkshopFileActionPlayed);
            OnRemoteStorageSetUserPublishedFileActionResultCallResult.Set(handle);
            print("SteamRemoteStorage.SetUserPublishedFileAction(" + m_PublishedFileId + ", " + EWorkshopFileAction.k_EWorkshopFileActionPlayed + ") : " + handle);
        }

        if (GUILayout.Button("EnumeratePublishedFilesByUserAction(EWorkshopFileAction.k_EWorkshopFileActionPlayed, 0)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumeratePublishedFilesByUserAction(EWorkshopFileAction.k_EWorkshopFileActionPlayed, 0);
            OnRemoteStorageEnumeratePublishedFilesByUserActionResultCallResult.Set(handle);
            print("SteamRemoteStorage.EnumeratePublishedFilesByUserAction(" + EWorkshopFileAction.k_EWorkshopFileActionPlayed + ", " + 0 + ") : " + handle);
        }

        if (GUILayout.Button("EnumeratePublishedWorkshopFiles(EWorkshopEnumerationType.k_EWorkshopEnumerationTypeRankedByVote, 0, 3, 0, null, null)"))
        {
            SteamAPICall_t handle = SteamRemoteStorage.EnumeratePublishedWorkshopFiles(EWorkshopEnumerationType.k_EWorkshopEnumerationTypeRankedByVote, 0, 3, 0, null, null);
            OnRemoteStorageEnumerateWorkshopFilesResultCallResult.Set(handle);
            print("SteamRemoteStorage.EnumeratePublishedWorkshopFiles(" + EWorkshopEnumerationType.k_EWorkshopEnumerationTypeRankedByVote + ", " + 0 + ", " + 3 + ", " + 0 + ", " + null + ", " + null + ") : " + handle);
        }

        //SteamRemoteStorage.UGCDownloadToLocation() // There is absolutely no documentation on how to use this function

        GUILayout.EndScrollView();
        GUILayout.EndVertical();
    }