/*
 * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\PlayerRankingsResponseDto.cs
 * Created: 2025-10-23
 * Last Modified: 2025-10-23
 * Description: Response DTO for player rankings and leaderboard data
 * Last Edit Notes: Individual file implementation for player rankings results
 */

namespace ShadowedRealms.Shared.DTOs.Player
{
    /// <summary>
    /// Response DTO for player rankings and leaderboard data
    /// </summary>
    public class PlayerRankingsResponseDto
    {
        /// <summary>
        /// Player ID for the rankings
        /// </summary>
        public int PlayerId { get; set; }

        /// <summary>
        /// Player's current overall rank
        /// </summary>
        public int OverallRank { get; set; }

        /// <summary>
        /// Player's rank within their kingdom
        /// </summary>
        public int KingdomRank { get; set; }

        /// <summary>
        /// Player's rank within their alliance
        /// </summary>
        public int? AllianceRank { get; set; }

        /// <summary>
        /// Rankings across different categories
        /// </summary>
        public Dictionary<string, int> CategoryRankings { get; set; } = new();

        /// <summary>
        /// Player's power score
        /// </summary>
        public long PowerScore { get; set; }

        /// <summary>
        /// Leaderboard context and metadata
        /// </summary>
        public Dictionary<string, object> LeaderboardContext { get; set; } = new();

        /// <summary>
        /// When rankings were last calculated
        /// </summary>
        public DateTime CalculationTime { get; set; }
    }
}