matt 544d9a7a79 feat: Add comprehensive Player and Combat DTOs
- Created 17 Player DTOs for PlayerController compilation resolution
- Created 24 Combat DTOs for CombatController compilation resolution
- Full support for field interception system and anti-pay-to-win mechanics
- Comprehensive dragon integration with skills and equipment DTOs
- Proper validation attributes and extensible Dictionary properties
- Complete XML documentation and established file header format

Player DTOs: UpdatePlayerProfileRequestDto, PlayerRankingsResponseDto, CastleInfoResponseDto,
VipAdvancementRequestDto/ResponseDto, ResourceCollectionResponseDto, ResourceSpendingRequestDto/ResponseDto,
CombatResultsRequestDto/ResponseDto, AllianceJoinResponseDto, AllianceLeaveRequestDto/ResponseDto,
ExperienceProcessingResponseDto, AchievementsResponseDto, ActionValidationRequestDto/ResponseDto

Combat DTOs: FieldInterceptionResponseDto, InterceptionValidationRequestDto/ResponseDto,
OptimalRoutesResponseDto, RouteOptimizationRequestDto, MarchInitiationResponseDto, MarchSpeedRequestDto,
MarchCancellationResponseDto, MarchArrivalRequestDto/ResponseDto, BattleExecutionRequestDto,
BattlePredictionRequestDto/ResponseDto, CasualtyProcessingRequestDto/ResponseDto,
RewardDistributionRequestDto/ResponseDto, DragonValidationResponseDto, DragonSkillRequestDto/ResponseDto,
DragonEquipmentRequestDto/ResponseDto, CombatEffectivenessResponseDto, KingdomTrendsResponseDto

Resolves PlayerController and CombatController compilation errors.
2025-10-23 13:04:12 -05:00

86 lines
2.7 KiB
C#

/*
* File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\DragonEquipmentRequestDto.cs
* Created: 2025-10-23
* Last Modified: 2025-10-23
* Description: Request DTO for dragon equipment operations
* Last Edit Notes: Individual file implementation for dragon equipment input validation
*/
using System.ComponentModel.DataAnnotations;
namespace ShadowedRealms.Shared.DTOs.Combat
{
/// <summary>
/// Request DTO for dragon equipment operations
/// </summary>
public class DragonEquipmentRequestDto
{
/// <summary>
/// Dragon unique identifier
/// </summary>
[Required]
[Range(1, int.MaxValue)]
public int DragonId { get; set; }
/// <summary>
/// Equipment operation type (Equip, Unequip, Upgrade, Craft, Repair)
/// </summary>
[Required]
[StringLength(50)]
public string OperationType { get; set; } = string.Empty;
/// <summary>
/// Equipment item ID for the operation
/// </summary>
[Range(1, int.MaxValue)]
public int? ItemId { get; set; }
/// <summary>
/// Equipment slot for equip/unequip operations
/// </summary>
[StringLength(50)]
public string? EquipmentSlot { get; set; }
/// <summary>
/// Resources to spend on upgrade or crafting
/// </summary>
public Dictionary<string, long> ResourceInvestment { get; set; } = new();
/// <summary>
/// Whether to use premium enhancement materials
/// </summary>
public bool UsePremiumMaterials { get; set; } = false;
/// <summary>
/// Target upgrade level for equipment enhancement
/// </summary>
[Range(1, 20)]
public int? TargetUpgradeLevel { get; set; }
/// <summary>
/// Equipment set preferences for optimization
/// </summary>
public List<string> PreferredSets { get; set; } = new();
/// <summary>
/// Crafting recipe ID for new equipment
/// </summary>
[Range(1, int.MaxValue)]
public int? CraftingRecipeId { get; set; }
/// <summary>
/// Auto-equip preferences after crafting/upgrading
/// </summary>
public bool AutoEquipAfterOperation { get; set; } = true;
/// <summary>
/// Maximum resources willing to spend
/// </summary>
public Dictionary<string, long> SpendingLimits { get; set; } = new();
/// <summary>
/// Additional equipment operation parameters
/// </summary>
public Dictionary<string, object> OperationParameters { get; set; } = new();
}
}