Merge pull request #432 from kamyker/faster-ugc-query

Ability to disable default stats loading to speed up ugc query
This commit is contained in:
Garry Newman 2020-05-18 11:18:12 +01:00 committed by GitHub
commit c25bc70d53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 14 deletions

View File

@ -150,6 +150,7 @@ namespace Steamworks.Ugc
TotalCount = (int)result.Value.TotalMatchingResults, TotalCount = (int)result.Value.TotalMatchingResults,
CachedData = result.Value.CachedData, CachedData = result.Value.CachedData,
ReturnsKeyValueTags = WantsReturnKeyValueTags ?? false, ReturnsKeyValueTags = WantsReturnKeyValueTags ?? false,
ReturnsDefaultStats = WantsDefaultStats ?? true, //true by default
}; };
} }
@ -301,6 +302,16 @@ namespace Steamworks.Ugc
} }
} }
#endregion
#region LoadingBehaviour
bool? WantsDefaultStats; //true by default
/// <summary>
/// Set to false to disable, by default following stats are loaded: NumSubscriptions, NumFavorites, NumFollowers, NumUniqueSubscriptions, NumUniqueFavorites, NumUniqueFollowers, NumUniqueWebsiteViews, ReportScore, NumSecondsPlayed, NumPlaytimeSessions, NumComments, NumSecondsPlayedDuringTimePeriod, NumPlaytimeSessionsDuringTimePeriod
/// </summary>
public QueryType WithDefaultStats( bool b ) { WantsDefaultStats = b; return this; }
#endregion #endregion
} }
} }

View File

@ -13,6 +13,8 @@ namespace Steamworks.Ugc
public bool CachedData; public bool CachedData;
internal bool ReturnsKeyValueTags; internal bool ReturnsKeyValueTags;
internal bool ReturnsDefaultStats;
public IEnumerable<Item> Entries public IEnumerable<Item> Entries
{ {
get get
@ -25,6 +27,9 @@ namespace Steamworks.Ugc
{ {
var item = Item.From( details ); var item = Item.From( details );
if ( ReturnsDefaultStats )
{
item.NumSubscriptions = GetStat( i, ItemStatistic.NumSubscriptions ); item.NumSubscriptions = GetStat( i, ItemStatistic.NumSubscriptions );
item.NumFavorites = GetStat( i, ItemStatistic.NumFavorites ); item.NumFavorites = GetStat( i, ItemStatistic.NumFavorites );
item.NumFollowers = GetStat( i, ItemStatistic.NumFollowers ); item.NumFollowers = GetStat( i, ItemStatistic.NumFollowers );
@ -38,6 +43,7 @@ namespace Steamworks.Ugc
item.NumComments = GetStat( i, ItemStatistic.NumComments ); item.NumComments = GetStat( i, ItemStatistic.NumComments );
item.NumSecondsPlayedDuringTimePeriod = GetStat( i, ItemStatistic.NumSecondsPlayedDuringTimePeriod ); item.NumSecondsPlayedDuringTimePeriod = GetStat( i, ItemStatistic.NumSecondsPlayedDuringTimePeriod );
item.NumPlaytimeSessionsDuringTimePeriod = GetStat( i, ItemStatistic.NumPlaytimeSessionsDuringTimePeriod ); item.NumPlaytimeSessionsDuringTimePeriod = GetStat( i, ItemStatistic.NumPlaytimeSessionsDuringTimePeriod );
}
if ( SteamUGC.Internal.GetQueryUGCPreviewURL( Handle, i, out string preview ) ) if ( SteamUGC.Internal.GetQueryUGCPreviewURL( Handle, i, out string preview ) )
{ {