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

namespace ShadowedRealms.Shared.DTOs.Player
{
    /// <summary>
    /// Response DTO for castle information and status
    /// </summary>
    public class CastleInfoResponseDto
    {
        /// <summary>
        /// Player ID who owns the castle
        /// </summary>
        public int PlayerId { get; set; }

        /// <summary>
        /// Current castle level
        /// </summary>
        public int CastleLevel { get; set; }

        /// <summary>
        /// Castle coordinates and location
        /// </summary>
        public Dictionary<string, decimal> Location { get; set; } = new();

        /// <summary>
        /// Current castle defenses and walls
        /// </summary>
        public Dictionary<string, object> DefenseStatus { get; set; } = new();

        /// <summary>
        /// Resource production buildings and rates
        /// </summary>
        public Dictionary<string, object> ProductionBuildings { get; set; } = new();

        /// <summary>
        /// Military buildings and capacity
        /// </summary>
        public Dictionary<string, object> MilitaryBuildings { get; set; } = new();

        /// <summary>
        /// Current troop counts stationed at castle
        /// </summary>
        public Dictionary<string, long> StationedTroops { get; set; } = new();

        /// <summary>
        /// Available upgrade options
        /// </summary>
        public List<Dictionary<string, object>> UpgradeOptions { get; set; } = new();

        /// <summary>
        /// When castle information was last updated
        /// </summary>
        public DateTime LastUpdated { get; set; }
    }
}