adding in some needed packages
This commit is contained in:
parent
9e739f5dc8
commit
aba5310742
1012 changed files with 494191 additions and 1 deletions
52
Assets/LeaderboardCreator/Scripts/Models/LeaderboardSearchQuery.cs
Executable file
52
Assets/LeaderboardCreator/Scripts/Models/LeaderboardSearchQuery.cs
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
using Dan.Enums;
|
||||
|
||||
namespace Dan.Models
|
||||
{
|
||||
public struct LeaderboardSearchQuery
|
||||
{
|
||||
public int Skip { get; set; }
|
||||
public int Take { get; set; }
|
||||
public string Username { get; set; }
|
||||
public TimePeriodType TimePeriod { get; set; }
|
||||
|
||||
private string Query => $"skip={Skip}&take={Take}&username={Username}&timePeriod={(int) TimePeriod}";
|
||||
|
||||
public string GetQuery() => "?" + Query;
|
||||
|
||||
public string ChainQuery() => "&" + Query;
|
||||
|
||||
public static LeaderboardSearchQuery Default => new LeaderboardSearchQuery
|
||||
{
|
||||
Skip = 0,
|
||||
Take = 0,
|
||||
Username = "",
|
||||
TimePeriod = TimePeriodType.AllTime
|
||||
};
|
||||
|
||||
public static LeaderboardSearchQuery Paginated(int skip, int take) =>
|
||||
ByUsernameAndTimePaginated("", TimePeriodType.AllTime, skip, take);
|
||||
|
||||
public static LeaderboardSearchQuery ByUsername(string username) =>
|
||||
ByUsernamePaginated(username, 5, 5);
|
||||
|
||||
public static LeaderboardSearchQuery ByUsernamePaginated(string username, int prev, int next) =>
|
||||
ByUsernameAndTimePaginated(username, TimePeriodType.AllTime, prev, next);
|
||||
|
||||
public static LeaderboardSearchQuery ByTimePeriod(TimePeriodType timePeriod) =>
|
||||
ByTimePeriodPaginated(timePeriod, 0, 0);
|
||||
|
||||
public static LeaderboardSearchQuery ByTimePeriodPaginated(TimePeriodType timePeriod, int skip, int take) =>
|
||||
ByUsernameAndTimePaginated("", timePeriod, skip, take);
|
||||
|
||||
public static LeaderboardSearchQuery ByUsernameAndTime(string username, TimePeriodType timePeriod) =>
|
||||
ByUsernameAndTimePaginated(username, timePeriod, 0, 0);
|
||||
|
||||
public static LeaderboardSearchQuery ByUsernameAndTimePaginated(string username, TimePeriodType timePeriod, int skip, int take) => new LeaderboardSearchQuery
|
||||
{
|
||||
Skip = skip,
|
||||
Take = take,
|
||||
Username = username,
|
||||
TimePeriod = timePeriod
|
||||
};
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue