public bool UpdatePublishedFileTags(PublishedFileUpdateHandle updateHandle, IList <string> tags)
 {
     CheckIfUsable();
     using (SteamParamStringArray tagsArray = new SteamParamStringArray(tags))
     {
         return(NativeMethods.Cloud_UpdatePublishedFileTags(updateHandle.AsUInt64, tagsArray.UnmanagedMemory));
     }
 }
 public void PublishVideo(WorkshopVideoProviders videoProviders, string videoAccount, string videoIdentifier,
                          string previewFile, AppID consumerAppId, string title, string description,
                          RemoteStoragePublishedFileVisibility visibility, IList <string> tags)
 {
     CheckIfUsable();
     using (SteamParamStringArray tagArray = new SteamParamStringArray(tags))
     {
         NativeMethods.Cloud_PublishVideo((int)videoProviders, videoAccount, videoIdentifier, previewFile, consumerAppId.AsUInt32, title,
                                          description, (int)visibility, tagArray.UnmanagedMemory);
     }
 }
 public void PublishWorkshopFile(string fileName, string previewFile, AppID consumerAppId,
                                 string title, string description, RemoteStoragePublishedFileVisibility visibility,
                                 IList <string> tags, WorkshopFileType workshopFileType)
 {
     CheckIfUsable();
     using (SteamParamStringArray tagsArray = new SteamParamStringArray(tags))
     {
         NativeMethods.Cloud_PublishWorkshopFile(fileName, previewFile, consumerAppId.AsUInt32,
                                                 title, description, (int)visibility, tagsArray.UnmanagedMemory, (int)workshopFileType);
     }
 }
 public void EnumeratePublishedWorkshopFiles(WorkshopFileAction enumerationType, int startIndex,
                                             int count, int days, IList <string> tags, IList <string> userTags)
 {
     CheckIfUsable();
     using (SteamParamStringArray tagArray = new SteamParamStringArray(tags))
     {
         using (SteamParamStringArray userTagArray = new SteamParamStringArray(userTags))
         {
             NativeMethods.Cloud_EnumeratePublishedWorkshopFiles((int)enumerationType, (uint)startIndex,
                                                                 (uint)count, (uint)days, tagArray.UnmanagedMemory, userTagArray.UnmanagedMemory);
         }
     }
 }
 public void EnumerateUserSharedWorkshopFiles(SteamID steamId, int startIndex,
                                              IList <string> requiredTags, IList <string> excludedTags)
 {
     CheckIfUsable();
     using (SteamParamStringArray requiredTagsArray = new SteamParamStringArray(requiredTags))
     {
         using (SteamParamStringArray excludeTagsArray = new SteamParamStringArray(excludedTags))
         {
             NativeMethods.Cloud_EnumerateUserSharedWorkshopFiles(steamId.AsUInt64, (uint)startIndex,
                                                                  requiredTagsArray.UnmanagedMemory, excludeTagsArray.UnmanagedMemory);
         }
     }
 }