Add persistent player leaderboards from game telemetry
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
export const leaderboardMetrics = [
|
||||
{ key: 'highestRound', label: 'Highest round' },
|
||||
{ key: 'kills', label: 'Total kills' },
|
||||
{ key: 'roundsSurvived', label: 'Total rounds' },
|
||||
{ key: 'headshots', label: 'Headshots' },
|
||||
{ key: 'revives', label: 'Revives' },
|
||||
{ key: 'downs', label: 'Downs' },
|
||||
{ key: 'gamesPlayed', label: 'Games played' },
|
||||
{ key: 'gamesCompleted', label: 'Games completed' },
|
||||
{ key: 'bestKills', label: 'Best game kills' },
|
||||
{ key: 'bestScore', label: 'Highest reported score' }
|
||||
] as const;
|
||||
|
||||
export type LeaderboardMetric = typeof leaderboardMetrics[number]['key'];
|
||||
|
||||
export interface LeaderboardEntry {
|
||||
rank: number;
|
||||
game: string;
|
||||
guid: string;
|
||||
name: string;
|
||||
highestRound: number;
|
||||
kills: number;
|
||||
roundsSurvived: number;
|
||||
headshots: number;
|
||||
revives: number;
|
||||
downs: number;
|
||||
gamesPlayed: number;
|
||||
gamesCompleted: number;
|
||||
bestKills: number;
|
||||
bestScore: number;
|
||||
lastSeen: string;
|
||||
}
|
||||
|
||||
export interface LeaderboardMap {
|
||||
key: string;
|
||||
game: string;
|
||||
map: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface LeaderboardOptions {
|
||||
game?: string;
|
||||
map?: string;
|
||||
metric?: LeaderboardMetric;
|
||||
q?: string;
|
||||
limit?: number;
|
||||
offset?: number;
|
||||
}
|
||||
|
||||
export interface LeaderboardResponse {
|
||||
entries: LeaderboardEntry[];
|
||||
maps: LeaderboardMap[];
|
||||
total: number;
|
||||
limit: number;
|
||||
offset: number;
|
||||
metric: LeaderboardMetric;
|
||||
summary: {
|
||||
players: number;
|
||||
matches: number;
|
||||
kills: number;
|
||||
roundsSurvived: number;
|
||||
highestRound: number;
|
||||
firstTrackedAt: string | null;
|
||||
updatedAt: string | null;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user