Esempio n. 1
0
		private static void OnUGCQueryReturn(SteamUGCQueryCompleted_t handle)
		{
			if (ugcPage == 1)
			{
				directories.Clear();
				foreach (var s in SteamWorker.DownloadedMaps.GetDirectories())
				{
					directories.Add(s.Name);
				}
			}

			for (uint i = 0; i < handle.m_unNumResultsReturned; i++)
			{
				SteamUGCDetails_t deets;
				if (SteamUGC.GetQueryUGCResult(handle.m_handle, i, out deets))
				{
					directories.Remove(deets.m_nPublishedFileId.m_PublishedFileId.ToString());
					if (deets.m_nConsumerAppID.m_AppId == Main.SteamAppID && deets.m_eFileType == EWorkshopFileType.k_EWorkshopFileTypeCommunity)
					{
						DownloadLevel(deets.m_nPublishedFileId);
					}
				}
			}
			if (handle.m_unTotalMatchingResults > handle.m_unNumResultsReturned && handle.m_unNumResultsReturned != 0)
				queryResult = QuerySubscribed();
			else
			{
				//This whole ordeal deletes folders in here that are not currently-subscribed workshop maps.
				foreach (var dir in directories)
				{
					Directory.Delete(Path.Combine(DownloadedMaps.FullName, dir), true);
				}
			}

		}
	void OnSteamUGCQueryCompleted(SteamUGCQueryCompleted_t pCallback, bool bIOFailure) {
		Debug.Log("[" + SteamUGCQueryCompleted_t.k_iCallback + " - SteamUGCQueryCompleted_t] - " + pCallback.m_handle + " -- " + pCallback.m_eResult + " -- " + pCallback.m_unNumResultsReturned + " -- " + pCallback.m_unTotalMatchingResults + " -- " + pCallback.m_bCachedData);
	}