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,
CachedData = result.Value.CachedData,
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
}
}

View File

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