Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.Models/Dto/Pet/PetSkinDto.cs

154 lines
3.9 KiB
C#
Raw Normal View History

using QYZH.InteractiveMagazine.Models.Enum;
namespace QYZH.InteractiveMagazine.Models.Dto.Pet;
/// <summary>
/// 皮肤创建/更新输入
/// </summary>
public class PetSkinInput
{
/// <summary>
/// 所属宠物模板Id
/// </summary>
public long TemplateId { get; set; }
/// <summary>
/// 皮肤名称
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 描述/特效说明
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 稀有度: Normal, Rare, Epic, Legendary
/// </summary>
public string Rarity { get; set; } = "Normal";
/// <summary>
/// 排序权重
/// </summary>
public int SortOrder { get; set; }
/// <summary>
/// 皮肤类型: Normal, Limited, Event
/// </summary>
public string Type { get; set; } = PetSkinTypeEnum.Normal.ToString();
/// <summary>
/// 封面图片地址
/// </summary>
public string? CoverImageUrl { get; set; }
}
/// <summary>
/// 皮肤输出
/// </summary>
public class PetSkinOutput
{
public long Id { get; set; }
public long TemplateId { get; set; }
public string Name { get; set; } = string.Empty;
public string? Description { get; set; }
public string Rarity { get; set; } = string.Empty;
public int SortOrder { get; set; }
public string Type { get; set; } = string.Empty;
/// <summary>
/// 封面图片地址
/// </summary>
public string? CoverImageUrl { get; set; }
public string? CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? UpdatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
/// <summary>
/// 关联的皮肤图片列表
/// </summary>
public List<PetSkinImageOutput>? Images { get; set; }
}
/// <summary>
/// 皮肤分页查询输入
/// </summary>
public class PetSkinQueryInput : PageQueryModel
{
/// <summary>
/// 所属宠物模板Id必填
/// </summary>
public long TemplateId { get; set; }
/// <summary>
/// 皮肤名称(模糊搜索)
/// </summary>
public string? Name { get; set; }
/// <summary>
/// 稀有度: Normal, Rare, Epic, Legendary
/// </summary>
public string? Rarity { get; set; }
}
/// <summary>
/// 皮肤图片创建/更新输入
/// </summary>
public class PetSkinImageInput
{
/// <summary>
/// 皮肤Id
/// </summary>
public long SkinId { get; set; }
/// <summary>
/// 进化阶段Id
/// </summary>
public long EvolutionStageId { get; set; }
/// <summary>
/// 图片地址
/// </summary>
public string ImageUrl { get; set; } = string.Empty;
/// <summary>
/// 图片顺序(动画帧序号)
/// </summary>
public int SortOrder { get; set; }
/// <summary>
/// 图片类型: Normal, Special
/// </summary>
public string Type { get; set; } = PetSkinImageTypeEnum.Normal.ToString();
}
/// <summary>
/// 皮肤图片输出
/// </summary>
public class PetSkinImageOutput
{
public long Id { get; set; }
public long SkinId { get; set; }
public long EvolutionStageId { get; set; }
public string ImageUrl { get; set; } = string.Empty;
public int SortOrder { get; set; }
public string Type { get; set; } = string.Empty;
public string? CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? UpdatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
}
/// <summary>
/// 皮肤按进化阶段分组的图片输出(每阶段包含阶段信息和图片列表)
/// </summary>
public class SkinEvolutionStageOutput
{
public long EvolutionId { get; set; }
public string StageName { get; set; } = string.Empty;
public int StageLevel { get; set; }
public int RequiredGrowth { get; set; }
public long? PreviousEvolutionId { get; set; }
public List<PetSkinImageOutput> Images { get; set; } = new();
}