adding in some needed packages
This commit is contained in:
parent
9e739f5dc8
commit
aba5310742
1012 changed files with 494191 additions and 1 deletions
39
Assets/LeaderboardCreator/Scripts/Models/Entry.cs
Executable file
39
Assets/LeaderboardCreator/Scripts/Models/Entry.cs
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
using Dan.Main;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Dan.Models
|
||||
{
|
||||
[System.Serializable]
|
||||
public struct Entry
|
||||
{
|
||||
public string Username;
|
||||
public int Score;
|
||||
public ulong Date;
|
||||
public string Extra;
|
||||
public int Rank;
|
||||
[SerializeField] internal string UserGuid;
|
||||
[field: System.NonSerialized] internal string NewUsername { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Returns whether the entry is the current user's entry.
|
||||
/// </summary>
|
||||
public bool IsMine() => UserGuid == LeaderboardCreator.UserGuid;
|
||||
|
||||
/// <summary>
|
||||
/// Returns the rank of the entry with its suffix.
|
||||
/// </summary>
|
||||
/// <returns>Rank + suffix (e.g. 1st, 2nd, 3rd, 4th, 5th, etc.).</returns>
|
||||
public string RankSuffix()
|
||||
{
|
||||
var rank = Rank;
|
||||
var lastDigit = rank % 10;
|
||||
var lastTwoDigits = rank % 100;
|
||||
|
||||
var suffix = lastDigit == 1 && lastTwoDigits != 11 ? "st" :
|
||||
lastDigit == 2 && lastTwoDigits != 12 ? "nd" :
|
||||
lastDigit == 3 && lastTwoDigits != 13 ? "rd" : "th";
|
||||
|
||||
return $"{rank}{suffix}";
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/LeaderboardCreator/Scripts/Models/Entry.cs.meta
Executable file
3
Assets/LeaderboardCreator/Scripts/Models/Entry.cs.meta
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e9f6f4e4968841efa3dc6efbeeffd447
|
||||
timeCreated: 1660484221
|
||||
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
|
||||
};
|
||||
}
|
||||
}
|
||||
3
Assets/LeaderboardCreator/Scripts/Models/LeaderboardSearchQuery.cs.meta
Executable file
3
Assets/LeaderboardCreator/Scripts/Models/LeaderboardSearchQuery.cs.meta
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 29284a0880dd4054ac8294cc917db6f8
|
||||
timeCreated: 1679736989
|
||||
Loading…
Add table
Add a link
Reference in a new issue